New Version: sourcegit-scm.SourceGit version 8.37

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[x] Is there a linked Issue?
Resolve #188406

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[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

I can install SourceGit 8.37 via command winget install --manifest .\manifests\s\sourcegit-scm\SourceGit\8.37
PS. I'm living in China, I need use proxy to download files on Github

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-11-03 18:38:19.161 [FAIL] Installer failed security check. Url: https://github.com/sourcegit-scm/sourcegit/releases/download/v8.37/sourcegit_8.37.win-x64.zip Result: 0x80004005

Automated error analysis suggests -1978335187 may mean Installer failed security check. Another script should retry this every 18 hours.
Automated error analysis suggests 80004005 may mean Resource missing
(Automated response - build 897.)

@wingetbot run

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-11-04 07:45:28.579 [FAIL] Installer failed security check. Url: https://github.com/sourcegit-scm/sourcegit/releases/download/v8.37/sourcegit_8.37.win-x64.zip Result: 0x80004005

Automated error analysis suggests -1978335187 may mean Installer failed security check. Another script should retry this every 18 hours.
Automated error analysis suggests 80004005 may mean Resource missing
(Automated response - build 897.)


SAMZA-2647: Clean up unused split deployment code

Issues: Some code was added for SEP-24 some time ago (https://github.com/apache/samza/pull/1172, https://github.com/apache/samza/pull/1173), but we are not moving forward with SEP-24 because it does not cleanly handle certain use cases. Since we don't need this code, it should get removed.
Changes:

Removed unused flows related to job coordinator dependency isolation.
Removed unused classloader separation utils.

Tests:
./bin/integration-tests.sh /tmp/samza-tests yarn-integration-tests --nopassword passed
API changes and usage/upgrade instructions:
Removed some configs and environment variables related to split deployment, but the feature wasn't complete, so those shouldn't be used by Samza jobs anyways.

Looks good overall, I see in the testing section that you ran the yarn-integration tests, please ensure that still functional and up to date, I have personally never used it. I just deploy a samza-hello-samza app with a snapshot version.
IIRC was the code not config controlled ? If yes please cleanup any relevant markdowns / docs

I think I did need to update a version locally for the integration tests, but they should otherwise be up to date. I would suggest trying them out, since then you don't need to manually verify anything as long as they report "success".
The code was config controlled by job.split.deployment.enabled, but since the impl wasn't completed, I don't think any docs had been modified to add that yet. I couldn't find any references to the config in the repo.


await in an assignment doesn't warn if there is a type mismatch

This issue was originally filed by<EMAIL_ADDRESS>
For example, the following code is wrong, but no warning in DartEditor at all.
Future<int> f() async => 1;
g() async {
  List l = await f(); //it is wrong but no warning in DartEditor
}

I assume this bug is stale.


Change sort-algorithm to check iam-policy

When we use iam_policy, diff does not work as follows.
Because "role" and "members" are not sorted.
This PR improves the situation.
~ google_project_iam_policy.iam_policy
    policy_data:   {
                      "bindings": [
                       {
                          "members": [
                   -        "user:123",
                   +        "serviceAccount:123"
                          ],
                   -      "role": "roles/viewer"
                   +      "role": "roles/bigquery.dataEditor"
                        }
                        {
                          "members": [
                   -        "serviceAccount:123"
                   +        "user:123",
                           ],
                   -      "role": "roles/bigquery.dataEditor"
                   +      "role": "roles/viewer"
                        }
                      ]
                    }

Hey @junjihashimoto, thanks for the pull request.
A similar PR was opened in #75 and was closed because sorting lists can technically change the behavior.
We would be open to accepting a pull request that allows this functionality to be enabled via a configuration mechanism of some kind. Ideally, you would have this be implemented as a plugin which is used based on the name of the resource being presented.
More than happy to accept a pull request adding generalized support, but we won't be locking down the implementation to only support the AWS provider. Thanks!

Thank you for your reviewing and explanation.


Fix inventory logic

During the Brave NFT sales, some users were able to buy items despite the inventory being sold out.
Most of the payments were in crypto so it is possible our inventory checks get bypassed for that kind of payments?

CC @nick in case he has more details worth capturing in this bug report.

Culd be related to #741


Gke postgres scenario

Closes #369

Fixed 19.png.
I dont see what you mean about 34-38. Looks like same IP to me?

Fixed 19.png.
I dont see what you mean about 34-38. Looks like same IP to me?


Sync-ALZPolicies - Leverage the Azure-Landing-Zones-Library repo instead of Enterprise-scale?

Is your feature request related to a problem? Please describe.
The ALZ team is consolidating azure policies and archetypes into the Azure Landing Zones Library.
Right now, the Sync-ALZPolicies script is using the enterprise-scale repository for its source to sync ALZ policies.
Describe the solution you'd like
Would it be possible to modify Sync-ALZPolicies to leverage the ALZ library instead? This would allow us to specify a specific release from the ALZ library that we want to sync into EPAC.
The ALZ library also contains archetype definitions that can be used to automatically populate the policy assignment files. I am not sure how the current ALZ JSONC files are created, at a glance it looks like they are updated in a different (perhaps manual?) process and added to this repo. I believe leveraging the ALZ library (and then alzlibtool to interact with it) to perform the sync to EPAC would be better and allow clients to sync specific release of ALZ policies in their environment.

Thanks for this - I might look at doing both - have the normal Sync-ALZPolicies grabbing the latest from the ESLZ repo and providing a parameter to specify a version which can pull from the ALZ library.
The assignments are a different story though - they don't specify in the library which scope gets which policy so that is still something I need to maintain.


fix rendering code block in @storybook/addon-info

Issue: #5915
What I did
Fix markdown rendering logic inside @storybook/addon-info package to handle code block. When code block syntax is passed to addon info, render will fail because Code component will receive language and code props instead of props.props.
To fix this we forward code props as children as required by SyntaxHighlighter component. We also render ThemeProvider because SyntaxHighlighter expect a emotion theme as seen in  https://github.com/storybooks/storybook/blob/next/lib/components/src/syntaxhighlighter/syntaxhighlighter.js#L36 or else it will fail
I'm actually not sure if this is the correct approach because by hardcoding ThemeProvider we'll always get light theme (using default argument of convert function). Any pointer to how to solve this is appreciated.
Note that even using this patch, I still can't use ~~~ to annotate code block (maybe because it's not supported by marksy?) but triple backticks ``` works fine
How to test

Is this testable with Jest or Chromatic screenshots? yes snapshot included
Does this need a new example in the kitchen sink apps? no
Does this need an update to the documentation? no

We can refer to issue #5915 for manual testing, implementation should be covered by the test included

There's a bunch of snapshot changes because we render code block with syntax hightlight now

rebased to latest master, ready to review

Are changes necessary or does this just need reviewed?

I see import { SyntaxHighlighter } from '@storybook/components'; was already being used prior to this PR.. This ties the addon-info to a high version of react (because emotion 10).
Unsure

I think we should not break older versions of react with this change. We should find a better fix and use this one for Storybook Docs where things will be running in the manager

@shilman Yeah docs-mode is a few weeks away though I think, maybe sooner in alpha releases. but still..
As mentioned, it seems SyntaxHighlighter was already being used prior to this PR.. So it's not new to this PR..
It should really be this way, because it ties the addons very closely to the newest version of react we use.
I guess if this isn't a problem for users, we can use continue..

Let's continue.

@shilman this is good to merge, and i’m fairly sure it’s NOT a breaking change, since the dependency for SyntaxHighlighter was already there:
https://github.com/storybooks/storybook/pull/6016

@ndelangen it's the ThemeProvider that i'm worried about

Any progress on this one? We want to use docs from source in our project and blocked by this one.

@artyomtrityak
You don't need to fork or create another addon.
Here is simple walkaround
import SyntaxHighlighter from '@storybook/components/dist/syntaxhighlighter/syntaxhighlighter';
import { ThemeProvider } from 'emotion-theming';
import * as baseTheme from '@storybook/theming/dist/base';

const CodeBlock = ({ language = 'text', code }) => (
  <ThemeProvider theme={baseTheme}>
    <SyntaxHighlighter bordered copyable language={language}>
      {code}
    </SyntaxHighlighter>
  </ThemeProvider>
);

export const components = {
  code: CodeBlock,
};

and just then use it in your story:
import { components } from './path/to/storybook/overrides'
storyOf('Name', module).add(
      'Other name',
      () =>
demo
,
      { info: { components } }
);

@artyomtrityak
You don't need to fork or create another addon.
Here is simple walkaround
import SyntaxHighlighter from '@storybook/components/dist/syntaxhighlighter/syntaxhighlighter';
import { ThemeProvider } from 'emotion-theming';
import * as baseTheme from '@storybook/theming/dist/base';

const CodeBlock = ({ language = 'text', code }) => (
  <ThemeProvider theme={baseTheme}>
    <SyntaxHighlighter bordered copyable language={language}>
      {code}
    </SyntaxHighlighter>
  </ThemeProvider>
);

export const components = {
  code: CodeBlock,
};

and just then use it in your story:
import { components } from './path/to/storybook/overrides'
storyOf('Name', module).add(
      'Other name',
      () =>
demo
,
      { info: { components } }
);

This is to add a bit if you're using typescript, make it globally applied, and for completeness.
I needed to add a typing to a d.ts file
declare module '@storybook/components/dist/syntaxhighlighter/syntaxhighlighter'
install @storybook/components
then added this to my config.js withInfo addDecorator...
addDecorator(withInfo({   components,   ... }))

Before:

after:

@shilman these some of the improvements you were thinking about?


feat: store writer framework IDE into project directory instead of ui.json - WF-43

implement https://github.com/FabienArcellier/writer-framework/issues/67

The WF IDE data storage format is evolving to improve the developer experience when multiple people work in a team.
This new format limits the risk of conflict and facilitates conflict resolution operations by concentrating them on one line.

This looks good, couple of questions:

Can we avoid growing the core? I don't think there are any dependencies, happy to start a new module for this purpose
For Workflows, I've decided to start a new root, so we'll have two roots, "root" and "workflows_root". What's the impact of this?

Let's also update docs at https://dev.writer.com/framework/quickstart#create-an-app

This looks good, couple of questions:

Can we avoid growing the core? I don't think there are any dependencies, happy to start a new module for this purpose
For Workflows, I've decided to start a new root, so we'll have two roots, "root" and "workflows_root". What's the impact of this?

I moved the methods prefixed with wf_project_ into a new module, wf_project. I moved the lookup_page_for_component method into the core_ui module.
I would prefer that the workflows share the same root and are therefore found in workflows-*.jsonl files. At the time of implementation, it will be necessary to change the signature of wf_project.write_files and wf_project.read_files.
def write_files(app_path: str, metadata: MetadataDefinition, components: dict[str, ComponentDefinition], workflows: [str, WorkflowDefintion]) -> None: ...

def read_files(app_path: str) -> Tuple[MetadataDefinition, dict[str, ComponentDefinition], dict[str, WorkflowDefinition]]: ...


⚠ Fortnite has degraded performance

In 50343e0, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1579 ms

Resolved: Fortnite performance has improved in bd8217f.


Update to get around get_correct_sampler error

Fix error "get_correct_sampler" unknown - also add "HTML" to script name in WebUI so you can distinguish from other xyz script by Gerschel, from which I copied the applied modifications

Sorry, I resolved this without checking here first (and merged a few other lines from the XY script as well). My bad.
Refer to commit https://github.com/xrpgame/xyz_plot_script/commit/45db5dab7e56d0505289353f4c09620b3c7a88d2.


Can't create a chart column

Why can't I create a chart column
My source:
// require file system and jsdom
var fs = require('fs');
// For jsdom version 10 or higher.
// Require JSDOM Class.
var JSDOM = require('jsdom').JSDOM;
// Create instance of JSDOM.
var jsdom = new JSDOM('', {runScripts: 'dangerously'});
// Get window
var window = jsdom.window;
// require anychart and anychart export modules
var anychart = require('anychart')(window);
var anychartExport = require('anychart-nodejs')(anychart);
var stage = anychart.graphics.create("container");
var c0=anychart.fromJson({"chart":{"title":"Vodafone visits over time","type":"column","series":[{"data":[1,3,6,12,24,4,16,16,17,22,3,2,34,61,63,49,27,4,42,26,26,9,12,2,12,14,42,29,43,3,41,53,75,310,1176,244,144,638,387,270,223,152,105,91,167,175,393,694,704,233,232,527,395,325,414,416,179,186,418,941,351,302,295,142,162,290,221,236,278,839,153,122,193],"fill":"#e01f10","stroke":"#0da6e0"}]}});
c0.bounds(0, 0, 500, 300).container(stage);
c0.draw();
var c1=anychart.fromJson({"chart":{"type":"pie","innerRadius":"0%","data":[{"x":"Apples","value":"18.14","fill":"#0da6e0"},{"x":"Oranges","value":"8.14","fill":"#61c6e5"}]}});
c1.bounds(0, 0, 500, 300).container(stage);
c1.draw();
async function renderChart(chart, img_name){
var chart_img = await anychartExport.exportToSync(chart, 'png');
fs.writeFile(img_name, chart_img, function(fsWriteError) {
if (fsWriteError) {
console.log(fsWriteError);
} else {
console.log('Complete');
}
});
}
renderChart(c0, 'column0.png');
renderChart(c1, 'column1.png');
C1: PIE - Created
C0: Column - Not Create

@thichpv
Please, make sure that you have defined a div container in JSdom in a proper way.
You have provided the following code:
var jsdom = new JSDOM('

', {runScripts: 'dangerously'});

This should be replaced with the following:
var jsdom = new JSDOM('

', {runScripts: 'dangerously'});

If it's ok, please, try to update the imegaMagick library just like it was described in this issue.

Thanks it worked !


Merge argparse2cwl + gxargparse

https://github.com/common-workflow-language/gxargparse/issues/18

Sorry for delayed response, will look at this soon. Thanks for upstreaming y'all's stuff.

Ok, looks good.

By "looks good", I mean, I'm willing to merge this to work with y'all:

I'm not as active in this project as I could be and I have no interest in impeding process, hence the merge.
However, no recent commits != dead project / galaxy parts aren't being used. The galaxy parts are definitely being used and should be treated at the same level as the cwl stuff.

There are some issues I'm correcting post-merge or will need you to correct:

This project has historically supported 2.7, but the tests that were added only run on 3.3+, due to the use of Mock.

90% of the uses could have been avoided by using the built-in feature to pass an argv to argparse
The others could stand to just patch objects manually rather than using the newer library. I took a stab at fixing that and got a lot of errors from cwl side, so I'm not looking at it further. If you are still working on this, it would be good if you fixed this and added nosetests (or similar) to the .travis.yml

The readme was changed significantly to highlight CWL rather than a single run through saying "here's how to do this in galaxy XML, and here's the corresponding CWL commands". I have reverted this in the README, and highlight both tooling formats simultaneously.
Things like self.parse_args_galaxy_nouse vs self.parse_args_cwl make it seem like galaxy is a second class citizen when it's the sole reason for this project existing. This is easily corrected, but it gives me a negative impression of the author's attitude to this project.

The CWL are really quite separate from galaxy stuff, and that's a bit unfortunate, but oh well. Maybe someday we can get more generic code paths.
I am renaming this project argparse2tool, pursuant to https://github.com/common-workflow-language/gxargparse/issues/1

Hello @erasche
Thank you very much for the use of your codebase and for the merge!
My apologies for not fully preparing our branch before requesting a merge back in; I should have done a thorough review.
I've updated our documentation to point to the new name; thank you for changing that.
We hope to eventually have a generic CWL serialization library and move away from the jinja templates -- hopefully that will enable cleaner and more shareable code paths.
Again, my apologies for the awkward merge.

No worries Michael. Again, happy to accomodate y'all however I can. I'm
glad to see cwl support in here. This will significantly expand the utility.
Den tir. 15. nov. 2016, 08.03 skrev Michael R. Crusoe <
<EMAIL_ADDRESS>
Hello @erasche https://github.com/erasche
Thank you very much for the use of your codebase and for the merge!
My apologies for not fully preparing our branch before requesting a merge
back in; I should have done a thorough review.
I've updated our documentation to point to the new name; thank you for
changing that.
We hope to eventually have a generic CWL serialization library and move
away from the jinja templates -- hopefully that will enable cleaner and
more shareable code paths.
Again, my apologies for the awkward merge.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/erasche/argparse2tool/pull/32#issuecomment-260573569,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAb_u1sG821ygClaH3sFT7PsBqxPtKftks5q-Wc5gaJpZM4KnY0O
.

And my apologies for grouchiness. Unrelated events sometimes get rolled up
into too emotional replies. I usually do my best to divorce emotions from
my code, but sometimes things come off overly negative.
Den tir. 15. nov. 2016, 08.04 skrev Eric Rasche<EMAIL_ADDRESS>
No worries Michael. Again, happy to accomodate y'all however I can. I'm
glad to see cwl support in here. This will significantly expand the utility.
Den tir. 15. nov. 2016, 08.03 skrev Michael R. Crusoe <
<EMAIL_ADDRESS>Hello @erasche https://github.com/erasche
Thank you very much for the use of your codebase and for the merge!
My apologies for not fully preparing our branch before requesting a merge
back in; I should have done a thorough review.
I've updated our documentation to point to the new name; thank you for
changing that.
We hope to eventually have a generic CWL serialization library and move
away from the jinja templates -- hopefully that will enable cleaner and
more shareable code paths.
Again, my apologies for the awkward merge.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/erasche/argparse2tool/pull/32#issuecomment-260573569,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAb_u1sG821ygClaH3sFT7PsBqxPtKftks5q-Wc5gaJpZM4KnY0O
.


packr2 upgrade

https://github.com/gobuffalo/packr/blob/master/v2/README.md

had a go at this, but for some reason the port is not trivial https://github.com/chanzuckerberg/fogg/compare/ryanking/packr2


Support ::marker

Description
::marker are currently not supported.
Problem Statement/Justification
_marker: "&::marker"

Proposed Solution or API
No response
Alternatives
No response
Additional Information
No response

I will do it.


Cannot make it work with browserify transform sweetify

Hey, I'm trying to use contracts.js with sweetify but without success. The bundle compiles but contracts.js code doesn't seem to be included in the bundle and when I try to add import @ from 'contracts.js'; in the sjs file, a token error is reported by sweetify.
But it does work with sweet.js cli. The problem might be with sweetify, but the repo doesn't seem to be maintained anymore.
Does anyone has went through the same issues trying to make this work with browserify? Thank you!

It looks like sweetify is using an older version of sweet.js. That might be contributing to the problem.

Yeah, I did try manually updating it directly in the node modules of sweetify to the latest version but didn't have any success. Anyway, went for rho-contracts. Less sexy but suits my needs :)  Thanks!


Dataset presentation is misplaced

The penguins dataset is presented in the "Decision tree models" module, but was already used in a previous chapter.
I believe it should be moved earlier in the course.
I would even advise adding a chapter right after "Machine Learning concepts", presenting all the datasets we will use throughout the course (California housing, penguins, blood transfusion, etc.)

Yeah probably. I would say move it where it makes the most sense for now and we will iterate afterwards where the content evolves.
I think at one point there was an idea of a presentation of all the datasets https://github.com/INRIA/scikit-learn-mooc/issues/98#issuecomment-731566292 kind of a dataset glossary so that if you don't quite remember what a dataset is all about then you can go to the dataset glossary to refresh your memory.

Side-comment the label documentation feels weird not sure what you had in mind ...

Feel free to create more labels if you feel there is some need.
An example label I was thinking of would be "affects MOOC platform" or something like this for things that needs a change inside the FUN MOOC platform, for example:

some renaming of files e.g. notebook. This should be avoided for now until we tackle #151
change of level 1 title
structure change e.g. moving some notebooks to a different module around

To be fair this kind of changes should probably be post-poned right now. Maybe after Gael's course (end-February) unless it is a fix and we make sure to coordinate with the Learning Lab people.


initial major release

Signed-off-by: Ilias Elbarnoussi<EMAIL_ADDRESS>

SDK is ready for its initial major release


Merging Develop into Master 7.3.2019 - TNE updates, adding upgrading your account back, link fixes

Description of the change:
Reason for the change:
Link to original source:

Closes #

Hello @Whatthefoxsays,Thanks again for the PR! We appreciate your contribution and look forward to                                              continued collaboration. Thanks!                                             Team SendGrid DX


Multiple processes  and load balancing

If one makes a web app with Flexx, and it gets more visits than the server can handle, what is one to do? Most cloud services simply offer more CPU's, not faster ones. Or more instances with a load balancer in front.
IIRC Tornado has some multi-processing functionality. We should check if we can make Flexx work with that. We should also put up recommendations for handling data when apps are run this way, as well as in the mullti-instance solution. In the latter case, most data must probably be shareable (e.g. some equivalent of an S3 bucket or a shared drive).

When creating a website that requires multiprocessing and/or load balancing, you should be using a 3d party http server and use App.dump(), avoiding Flexx's own server. This is now also documented.


Fixes extension editor glitches while quickly navigating navbar

This PR fixes #107104

Changes look good, but just want to confirm that if you are able to repro the associated bug and with the fix you do not see it?

@sandy081 yes I can repro easily by throttling the network in developer tools and my changes fixes the issue


Error with new optimizer docs tutorial 5

When following the instructions at https://mmdetection.readthedocs.io/en/latest/tutorials/customize_runtime.html?highlight=optimizer#customize-self-implemented-optimizer to implement a new optimizer a step is missing.
As it stands you will get an error saying that the optimizer is not in the registry. The fix is to edit mmdet/core/__init__.py to add an import for the new optimizer directory. The line to add is from .optimizer import *.

Having seen this https://github.com/open-mmlab/mmdetection/issues/2041
you must also change the registry import line to from mmcv.runner.optimizer import build_optimizer, OPTIMIZERS to be able to add the optimizer to the registry.

Thanks for your suggestion, we would fix it asap.

I will be happy to submit a PR with the proviso that you can answer a few more questions on this thread in the coming days about custom optimizers. As it stands the custom optimizer documentation is next-to-none and doesn't actually provide anywhere near enough information to implement one. Once I get a working example (hence more questions from me in the coming days) I will submit a PR withe details.
Thanks

How can I use the closure as per PyTorch custom optimizer guide? https://pytorch.org/docs/stable/optim.html#optimizer-step-closure.
I need to able to re-calculate a models output multiple times on the same batch within a single call to the optimizers .step() function.

Sorry for the late response, what you can modify is in MMCV
https://github.com/open-mmlab/mmcv/blob/1790e9f26563e2772db2479db267c7b2b9df8068/mmcv/runner/hooks/optimizer.py#L35

Feel free to reopen the issue if there is any question


makeConstantList a candidate for minification?

I compiled an app with a lost of const [...] definitions.
I noticed a mountain of
$.Ni=I.makeConstantList([1,0,3,2])
$.vL=I.makeConstantList([1,100,80])
$.G0=I.makeConstantList([1,134,108])
$.fM=I.makeConstantList([1,26,13])
$.Gx=I.makeConstantList([1,26,16])
$.J3=I.makeConstantList([1,26,19])
$.c1=I.makeConstantList([1,26,9])
$.c5=I.makeConstantList([1,44,16])
$.c3=I.makeConstantList([1,44,22])
$.SH=I.makeConstantList([1,44,28])
$.z1=I.makeConstantList([1,44,34])
$.Bb=I.makeConstantList([1,70,44])
...
I.mcl([...]) would save a lot of bytes

The repetition of I.makeConstantList is nowadays avoided by copying the function to a local that gets minified to a single character.


What's different between deploy-heketi  and heketi-deployment?

I know the shell gk-deploy's step as below:

create heketi-service-account.
all nodes add label storagenode=glusterfs and create daemonset glusterfs.
create deploy-heketi and service.
deploy-heketi  load topology.json (add gluster nodes and devices)
run setup-openshift-heketi-storage to create heketi-storage and heketi-storage.json
use heketi-storage.json to create endpoint,heketi-storage-copy-job(copy heketi-storage for heketi-deployment)
delete all deploy-heketi's resource.
create heketi-deployment and service.
install complete and test.

I don't know why need to do step 5~8, and I can't find the explanation in the document.
I want to know:
What's different between deploy-heketi  and heketi-deployment?
Why need to do that?
Thanks

For clarity, we are distinguishing between deploy-heketi and the production heketi pod. :)
I will start by saying that, yes, this is weird and somewhat obscure. Ultimately, this is all technical acrobatics to work around the default limitations of Kubernetes' storage. heketi, the service, maintains a database of metadata about the GlusterFS clusters, nodes, volumes, and storage devices it manages. By default, as a pod this database exists in ephemeral storage, thus if the pod goes down or is restarted the database would be lost and heketi would not be able to recreate it.
The current solution we've implemented is to create a heketi pod for deploying a heketi pod, called deploy-heketi. This pod has an initial database that stores data for the initial GlusterFS cluster we configure with the topology.json file, but this is in volatile storage. The setup-openshift-heketi-storage command generates the JSON for a job to copy the metadata database into a newly-created GlusterFS volume specifically for hosting said database. The heketi pod, then, is configured to mount this GlusterFS volume and access the database from this volume. Thus, the database is now in persistent storage.
Whew... that was longer than anticipated. Let me know if that helps. :) If it does, please suggest where would be a convenient place to document that.

Maybe you can put this comment after Setup Guide's Deployment Overview?
Deployment Overview step 4,5,6 can add explanation to talk why should need to do that.
Just a suggestion :)
Thanks for your explanation.


UNDERTOW-1166: make PROXY protocol implementation compliant with spec

This fixes a typo in the PROXY protocol code (ProxyProtocolReadListener.java:38) that eliminated the "UNKNOWN" handling. In addition to that, the state machine for that case was too narrow, requiring at least a space character after the "UNKNOWN".
Apart from fixing these issues, this PR adds test coverage for the "UNKNOWN" handling code and gives some general love to the PROXY protocol code.

Can one of the admins verify this patch?


JWT client callback function has no error and no tokens

Originally raised by @0xc00010ff in the nodejs library. #812
The JWT authorization API callback does not return any tokens as suggested by the docs. Rather, it just updated the google.auth.JWT client object to have the access token somewhere in there.
My suggestion is either to send back a valid tokens parameter or remove it all together and publish the requirement to reach into the jwtClient and grab the bearer token. The token param in the docs and example is a big red herring.
var key = require('/path/to/key.json');
var jwtClient = new google.auth.JWT(
  key.client_email,
  null,
  key.private_key,
  ['https://www.googleapis.com/auth/plus.me', 'https://www.googleapis.com/auth/calendar'], // an array of auth scopes
  null
);

jwtClient.authorize(function (err, tokens) {

  console.log(err, tokens); // undefined, null
  console.log(jwtClient) // [object Object] with bearer token snarled in the object

  if (err) {
    console.log(err);
    return;
  }

  token = tokens[0]; // null!

  // Make a request to the Play Store to validate a receipt. Use the JWT token
  Request(`https://play.store.url/with/product/id?access_token=${token}`)
});

I can't seem to reproduce this one.  I added a few asserts in the existing test in #195 just to make sure... but it doesn't seem to be an issue.  If someone can share a solid repo, please let me know!

If someone can share a repro here, feel free to re-open.


Wires that are not unioned to anything and then deleted will break the egraph

If the design has a wire that is never assigned to anything, then it will produce an eclass with just a Wire in it. Later, that Wire will be deleted, and anything that pointed to that eclass will now be syntactically incorrect.
Thanks to @thiskappaisgrey for finding this.

I think the issue is that we're generating (Wire ...)s for module outputs, when I'm not sure they should have Wires declared for them.

; wire declarations
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$172.$not$mycells.v:25$198_Y
(let v0 (Wire "v0" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$172.$or$mycells.v:25$197_Y
(let v1 (Wire "v1" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$173.$xor$mycells.v:9$193_Y
(let v2 (Wire "v2" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$174.$not$mycells.v:25$198_Y
(let v3 (Wire "v3" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$174.$or$mycells.v:25$197_Y
(let v4 (Wire "v4" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$175.$and$mycells.v:13$194_Y
(let v5 (Wire "v5" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$176.$not$mycells.v:3$192_Y
(let v6 (Wire "v6" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$177.$not$mycells.v:25$198_Y
(let v7 (Wire "v7" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$177.$or$mycells.v:25$197_Y
(let v8 (Wire "v8" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$178.$not$mycells.v:25$198_Y
(let v9 (Wire "v9" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$178.$or$mycells.v:25$197_Y
(let v10 (Wire "v10" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$179.$and$mycells.v:13$194_Y
(let v11 (Wire "v11" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$180.$or$mycells.v:25$197_Y
(let v12 (Wire "v12" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$181.$not$mycells.v:25$198_Y
(let v13 (Wire "v13" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$181.$or$mycells.v:25$197_Y
(let v14 (Wire "v14" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$182.$xor$mycells.v:9$193_Y
(let v15 (Wire "v15" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$183.$not$mycells.v:25$198_Y
(let v16 (Wire "v16" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$183.$or$mycells.v:25$197_Y
(let v17 (Wire "v17" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$184.$and$mycells.v:13$194_Y
(let v18 (Wire "v18" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$185.$not$mycells.v:3$192_Y
(let v19 (Wire "v19" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$186.$not$mycells.v:25$198_Y
(let v20 (Wire "v20" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$186.$or$mycells.v:25$197_Y
(let v21 (Wire "v21" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$187.$not$mycells.v:25$198_Y
(let v22 (Wire "v22" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$187.$or$mycells.v:25$197_Y
(let v23 (Wire "v23" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$188.$and$mycells.v:13$194_Y
(let v24 (Wire "v24" 1))
; $flatten\alu.$abc$171$auto$blifparse.cc:386:parse_blif$189.$or$mycells.v:25$197_Y
(let v25 (Wire "v25" 1))
; i_instr
(let v26 (Wire "v26" 6))
; o_out
(let v27 (Wire "v27" 2))

; cells
(union v0 (Op1 (Not) v1))
(let v28 (Op1 (Extract 0 0) v26))
(let v29 (Op1 (Extract 2 2) v26))
(union v1 (Op2 (Or) v28 v29))
(union v2 (Op2 (Xor) v28 v29))
(union v3 (Op1 (Not) v4))
(let v30 (Op1 (Extract 4 4) v26))
(union v4 (Op2 (Or) v30 v2))
(let v31 (Op1 (Extract 1 1) v26))
(union v5 (Op2 (And) v31 v29))
(union v6 (Op1 (Not) v5))
(union v7 (Op1 (Not) v8))
(union v8 (Op2 (Or) v31 v30))
(union v9 (Op1 (Not) v10))
(union v10 (Op2 (Or) v0 v7))
(union v11 (Op2 (And) v6 v9))
(let v32 (Op1 (Extract 0 0) v27))
(union v32 (Op1 (Not) v12))
(union v12 (Op2 (Or) v3 v11))
(union v13 (Op1 (Not) v14))
(let v33 (Op1 (Extract 3 3) v26))
(union v14 (Op2 (Or) v28 v33))
(union v15 (Op2 (Xor) v28 v33))
(union v16 (Op1 (Not) v17))
(let v34 (Op1 (Extract 5 5) v26))
(union v17 (Op2 (Or) v34 v15))
(union v18 (Op2 (And) v31 v33))
(union v19 (Op1 (Not) v18))
(union v20 (Op1 (Not) v21))
(union v21 (Op2 (Or) v31 v34))
(union v22 (Op1 (Not) v23))
(union v23 (Op2 (Or) v13 v20))
(union v24 (Op2 (And) v19 v22))
(let v35 (Op1 (Extract 1 1) v27))
(union v35 (Op1 (Not) v25))
(union v25 (Op2 (Or) v16 v24))

; inputs
(let i_instr (Var "i_instr" 6))
(union v26 i_instr)

; outputs
(let o_out v27)

; delete wire expressions
(delete (Wire "v0" 1))
(delete (Wire "v1" 1))
(delete (Wire "v2" 1))
(delete (Wire "v3" 1))
(delete (Wire "v4" 1))
(delete (Wire "v5" 1))
(delete (Wire "v6" 1))
(delete (Wire "v7" 1))
(delete (Wire "v8" 1))
(delete (Wire "v9" 1))
(delete (Wire "v10" 1))
(delete (Wire "v11" 1))
(delete (Wire "v12" 1))
(delete (Wire "v13" 1))
(delete (Wire "v14" 1))
(delete (Wire "v15" 1))
(delete (Wire "v16" 1))
(delete (Wire "v17" 1))
(delete (Wire "v18" 1))
(delete (Wire "v19" 1))
(delete (Wire "v20" 1))
(delete (Wire "v21" 1))
(delete (Wire "v22" 1))
(delete (Wire "v23" 1))
(delete (Wire "v24" 1))
(delete (Wire "v25" 1))
(delete (Wire "v26" 6))
(delete (Wire "v27" 2))

Generated from:
module top (
        input logic [5:0] i_instr,
        output logic  [1:0]o_out
        );
    logic [1:0] o_op;
    logic  [1:0]o_a;
    logic  [1:0]o_b;
    decoder decoder(.i_instr (i_instr),
          .o_op (o_op),
          .o_a (o_a),
          .o_b (o_b)
          );
    alu alu(
           .i_a (o_a),
          .i_b (o_b),
          .i_control (o_op),
          .o_res (o_out)
          );
endmodule

// The "decoder" is a component that breaks the "input" into smaller stuff
module decoder (
  input logic [5:0] i_instr,
  output logic [1:0] o_op,
  output logic  [1:0]o_a,
  output logic  [1:0]o_b
);
        assign o_op = i_instr[1:0];
        assign o_a = i_instr[3:2];
        assign o_b = i_instr[5:4];
endmodule

module alu (
  input logic [1:0]i_a,
  input logic [1:0]i_b,
  input logic [1:0] i_control, // Control signal to specify the operation
  output logic  [1:0]o_res

);
  always_comb  begin
    case (i_control)
      2'b00: o_res = i_a ^ i_b; // Bitwise additon
      2'b01: o_res = ~(i_a | i_b);
      2'b10: o_res = i_a | i_b; // Bitwise OR
      2'b11: o_res = i_a & i_b; // Bitwise AND
    endcase
  end
endmodule

The issue with this is in the way that the output get's used (in the synth output):
  assign o_out[1] = ~ (* src = "top.sv:13.9-18.12|mycells.v:25.12-25.20" *) _25_;
  assign o_out[0] = ~ (* src = "top.sv:13.9-18.12|mycells.v:25.12-25.20" *) _12_;

Parts of it gets assigned - but not the entire wire - so the "wire" never gets unioned with anything.

This roughly translates to this egglog in the IR:
(let v32 (Op1 (Extract 0 0) v27)) ; v27 is the output wire
(union v32 (Op1 (Not) v12))
(let v35 (Op1 (Extract 1 1) v27)) ; v27 is the output wire
(union v35 (Op1 (Not) v25))

but v27 (the output wire) itself never gets unioned with anything! Only it's extracts are! We need to propogate the extract up somehow before deletion

I tired to do this instead:
(let o_out v27)
(union v27 (Out "o_out" 2))

but this makes it so that extracting the out wire doesn't do anything useful....
I just need an extractable expression for the output wires at the end to get a useful circuit after eqsat.

Another issue that I want to bring up is that if wires are used in this way (only their extracts are assigned to stuff) - it breaks my module finding because I need to be able to extract the output into 1 expression.

Proposed solution.

Can you help me make a rewrite that does this??!? Or maybe we can just figure out a way to do it in the plugin itself when generating expressions? i.e. when you see
_wire_[x] = ...

do something different than what you are doing now.
Here's a picture.

Clarifying in my own words after Thanawat walked me through it:
If we have a wire e.g. an output that is never assigned directly, but is instead assigned "piecewise", i.e. its individual bits are defined, then the output wire will be in an eclass by itself.
Can we automatically determine a non-wire expression to union into that eclass, so that we can then safely delete the wire?

2024-03-12
Trying to figure out #13.
A key part of the problem is that, if a wire is never directly assigned-to, but is only assigned-to "piecewise", then nothing will be unioned with that wire in the egraph, which will cause problems once the wire's deleted and the eclass disappears.
So how do we ensure that something ends up unioned to the wire in the original eclass? Seems like the right thing to do is to explicitly add a union per wire created. I.e., in the same way we loop over wires to declare them, we should loop over wires to assign them. That will guarantee we don't skip any wires.
Then, we need to figure out how to correctly assign to each wire such that something ends up in the wire's eclass.
Currently we just iterate through all the wires and declare them at first. Then in a later step, we go through all of the cells, which I think I assumed would end up assigning to all wires. In some sense, it does.

2024-03-14
Is there a dependable way to find the wires in the design for which this will be an issue? What characteristics do they have? Alternatively, we could iterate over all wires and redefine them with a concat.

2024-03-17
An easy solution is probably to just add one concat expression for every wire.
Minimal example. This module:
module top(output [1:0] out, input a,b);
  assign out[0] = a;
  assign out[1] = b;
endmodule

Results in this Churchroad:
; wire declarations
; a
(let v0 (Wire "v0" 1))
; b
(let v1 (Wire "v1" 1))
; { \b \a }
(let v2 (Op2 (Concat) v0 v1))

; cells

; inputs
(let a (Var "a" 1))
(union v0 a)
(let b (Var "b" 1))
(union v1 b)

; outputs
(let out v2)

; delete wire expressions
(delete (Wire "v0" 1))
(delete (Wire "v1" 1))

As you can see, the "cells" section is empty. There aren't any cells because there's no gates needed here. However, we're missing the fact that out is wired to a and b.
The question I'm trying to answer right now is: given a wire, how do I see how it's defined?
Posted here:
https://github.com/YosysHQ/yosys/discussions/4286

@thiskappaisgrey can you post the Yosys commands you're running (including the techmapping library file if you're using one) to produce the Churchroad code you posted above?

read_verilog -sv alu.sv;
prep -top alu;
hierarchy -check -top alu;
techmap; opt; dfflibmap -liberty mycells.lib;
abc -liberty mycells.lib;
read_verilog mycells.v;

flatten; opt

write_verilog out/alu_synth.v
write_lakeroad out/alu.egg

mycells.lib:
library(demo) {
  cell(BUF) {
    area: 6;
    pin(A) { direction: input; }
    pin(Y) { direction: output;
              function: "A"; }
  }
  cell(NOT) {
    area: 3;
    pin(A) { direction: input; }
    pin(Y) { direction: output;
              function: "A'"; }
  }
  cell(AND) {
    area: 4;
    pin(A) { direction: input; }
    pin(B) { direction: input; }
    pin(Y) { direction: output;
             function: "(A*B)"; }
           }
  cell(XOR) {
    area: 4;
    pin(A) { direction: input; }
    pin(B) { direction: input; }
    pin(Y) { direction: output;
             function: "(A'+B')*(A+B)"; }
  }

  cell(NOR) {
    area: 4;
    pin(A) { direction: input; }
    pin(B) { direction: input; }
    pin(Y) { direction: output;
             function: "(A+B)'"; }
  }
  cell(DFF) {
    area: 18;
    ff(IQ, IQN) { clocked_on: C;
                  next_state: D; }
    pin(C) { direction: input;
                 clock: true; }
    pin(D) { direction: input; }
    pin(Q) { direction: output;
              function: "IQ"; }
  }
}

mycells.v:
module NOT(A, Y);
input A;
output Y = ~A;
endmodule

module XOR(A, B, Y);
input A, B;
// output Y = (A & ~B) | (~A & B);
output Y = A ^ B;
endmodule
module AND(A, B, Y);
input A, B;
output Y = A & B;
endmodule

module NAND(A, B, Y);
input A, B;
output Y = ~(A & B);
endmodule

module NOR(A, B, Y);
input A, B;
output Y = ~(A | B);
endmodule

module DFF(C, D, Q);
input C, D;
output reg Q;
always @(posedge C)
	Q <= D;
endmodule

Here are my thoughts so far:

First, I can't reproduce the Churchroad code that Thanawat produced above, because I'm not running the same Yosys passes as him. I'm unsure whether the code I produce has the same errors as his code as I haven't taken the time to dig into it yet.
Second, in general the issue does seem to be that a Wire is created and never unioned with anything. However, I'm surprised by this behavior. It seems like this can happen when  a wire is defined "piecewise", i.e. all of its bits are assigned-to individually. But in this case, I'm fairly certain the Churchroad backend should never even create a Wire; the code says that, if a signal has "chunks" (i.e. it's defined piecewise), then don't create a named wire for it, but instead express it as the concatenation of its chunks. So it seems like Thanawat's example involves a signal that is defined piecewise but still somehow gets a named Wire associated with it too.

@thiskappaisgrey thanks for the quick reply, will continue pushing on this tomorrow!

2024-03-18
Something interesting about Thanawat's example is that it's only v30 that doesn't get unioned to anything. Is it truly the only signal that is defined piecewise? that seems a bit unbelievable to me.
Oh, actually, yeah, it is!
  assign _00_ = ~ (* src = "mycells.v:3.12-3.14" *) i_control[1];
  assign _01_ = ~ (* src = "mycells.v:25.12-25.20" *) _15_;
  assign _15_ = i_control[0] | (* src = "mycells.v:25.14-25.19" *) i_a[0];
  assign _02_ = i_control[0] ^ (* src = "mycells.v:9.12-9.17" *) i_a[0];
  assign _03_ = ~ (* src = "mycells.v:25.12-25.20" *) _16_;
  assign _16_ = i_b[0] | (* src = "mycells.v:25.14-25.19" *) _02_;
  assign _04_ = ~ (* src = "mycells.v:25.12-25.20" *) _17_;
  assign _17_ = _00_ | (* src = "mycells.v:25.14-25.19" *) i_a[0];
  assign _05_ = _00_ & (* src = "mycells.v:13.12-13.17" *) i_b[0];
  assign _06_ = ~ (* src = "mycells.v:25.12-25.20" *) _18_;
  assign _18_ = _04_ | (* src = "mycells.v:25.14-25.19" *) _05_;
  assign _07_ = ~ (* src = "mycells.v:25.12-25.20" *) _19_;
  assign _19_ = _01_ | (* src = "mycells.v:25.14-25.19" *) _06_;
  assign o_res[0] = ~ (* src = "mycells.v:25.12-25.20" *) _20_;
  assign _20_ = _03_ | (* src = "mycells.v:25.14-25.19" *) _07_;
  assign _08_ = ~ (* src = "mycells.v:25.12-25.20" *) _21_;
  assign _21_ = i_control[0] | (* src = "mycells.v:25.14-25.19" *) i_a[1];
  assign _09_ = i_control[0] ^ (* src = "mycells.v:9.12-9.17" *) i_a[1];
  assign _10_ = ~ (* src = "mycells.v:25.12-25.20" *) _22_;
  assign _22_ = i_b[1] | (* src = "mycells.v:25.14-25.19" *) _09_;
  assign _11_ = ~ (* src = "mycells.v:25.12-25.20" *) _23_;
  assign _23_ = _00_ | (* src = "mycells.v:25.14-25.19" *) i_a[1];
  assign _12_ = _00_ & (* src = "mycells.v:13.12-13.17" *) i_b[1];
  assign _13_ = ~ (* src = "mycells.v:25.12-25.20" *) _24_;
  assign _24_ = _11_ | (* src = "mycells.v:25.14-25.19" *) _12_;
  assign _14_ = ~ (* src = "mycells.v:25.12-25.20" *) _25_;
  assign _25_ = _08_ | (* src = "mycells.v:25.14-25.19" *) _13_;
  assign o_res[1] = ~ (* src = "mycells.v:25.12-25.20" *) _26_;
  assign _26_ = _10_ | (* src = "mycells.v:25.14-25.19" *) _14_;

So that's not much help.
Okay, so, here's what I'm confused about: o_res doesn't sigmap to a list of chunks. I don't understand why it wouldn't given how it's defined.
How can we figure out how o_res is defined?
Okay, here's a summary of what I know so far. Sorry if this is already repeating a lot of what @thiskappaisgrey has already said, but I needed to internalize it for myself.
The basic problem is that, if a wire is assigned to in a piecewise fashion (e.g. o_res in the above example which is never assigned to directly assign o_res = ... but is instead assigned to in pieces assign o_res[0] = ...) then there's never a (union <the wire> <some other expr>) command created for the wire, and so when we do (delete <the wire>), we get an empty eclass.
The solution is to more gracefully/correctly handle the case where a signal is defined piecewise. However, the real solution actually should cover more cases. Because Verilog allows for a lot more than just assign o_res[0] = .... For example, it also allows (i'm pretty sure) for concatenations on the left hand side: assign {a, b, c} = .... Thus, we need to be handling the more general problem here of union commands that can look like (union <extract expr> <other expr>) or (union <concat expr> <other expr>) or anything else.
Here are three potential solutions to this problem.

Handle this at wire creation. This would be an easy way to at least handle the case where a signal is defined piecewise. If, for example, when we were defining the wire for o_res, we could see that it is actually defined in two parts o_res[0] and o_res[1], then we could create those as separate wires. This is currently what is attempted. However, the method for determining that a signal has multiple parts (or chunks) in Yosys seems unreliable, or I'm doing it wrong. My current strategy is to use a SigMap to convert o_res to its representation as { o_res[0] o_res[1] }. This works sometimes, and I'm not sure why it doesn't always work. I'm wondering if there's some heuristic under the hood of SigMap that determines what representation to use. I know it has these heuristics in general, so the question is, is there one for this case. If so, then this approach is going to cause inconsistency. Perhaps there's a better way to know for certain if something is composed of chunks?
Handle this at cell creation. That is, we can see when a cell is created whether it's being assigned to an entire wire or just a chunk of a wire. We could do some extra bookkeeping when we see that something is assigned to a chunk, and then later, concatenate all those chunks together. Again, this would work for the piecewise example above, but maybe not for the assign {a,b,c} = ... example.
Handle this with rewrites/datalog rules after the fact. This is what Thanawat suggested. I like this idea because it may allow us to simplify our program generation further. The problem with this is, how do we actually write the rules? And can we end up with an egraph that still has one thing per eclass in the end? I'm not sure if that's really needed, but it seems like a good idea and I would like to keep it as an invariant for now.


Column & Row Widgets for Layout

Description 📜
Use of Column and Row Widget to layout our App

Domain of Contribution 📊

Android Dev Flutter

/assign

/assign

/assign

/assign


Script editor mouse wheel scrolling bug

Godot version:
3.1 alpha
Issue description:
There's a really weird bug that doesn't allow you to scroll to the last line of the script, but only if you use mouse wheel. You can scroll further if you manually drag the scroll bar.
Related video: https://youtu.be/rXvXLZ2t0hk
Steps to reproduce:

Run the minimal project
Open the script
Press console to expand it
Try scrolling to the bottom with mouse wheel

Minimal reproduction project:
TestProject.zip

Have also had this happen once a week ago, but I could figure out how to reproduce it.
Thought at first it had something to do with code folding, because that was what I did last, but haven't seen it lately.

I have had this happen to me a few months ago as well I believe but I am not sure. But it might be a much older bug.

It seems that the conversion from an int to a double when calculating max_v_scroll was rounding down in some cases so the editor couldn't scroll to the bottom.

@kellams Nice catch.  I'll check it out.

Fixed by #22774.


Release a builded version of react-instantsearch inside npm package to be used on npmcdn.com and demos

was done, see https://jsfiddle.net/vvoyer/ar80rgpc/2/

It's available as a link in the issue template.


[Question] How can i split extracted audio by optional intervals?

Checklist

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[x] I've searched the bugtracker for similar questions including closed ones

Question

yt-dlp has flag --split-chapters that split audio-file into defined fragments. What command shall i use to split extracted audio into n-times fragments (example: split  1 hour audio to 6 mp3 files that has 10 minute duration).
Just now i am using ffmpeg command: ffmpeg -i my_audio.mp3 -f segment -segment_time 600 -c copy %03d_segment.mp3 after extracted audio.

There is no inbuilt way to do this. You can run your ffmpeg command in --exec
--exec "ffmpeg -i {} -f segment -segment_time 600 -c copy %03d_segment.mp3"

@pukkandan thanks! The final command yt-dlp url -x --audio-format mp3 --exec "ffmpeg -i '%(title)s [%(id)s].%(ext)s' -f segment -segment_time 600 -c copy '%03d_%(title.:30)s.%(ext)s'" does what i want.


updated qnapi to 0.2.3 release

If there’s a checkbox you can’t complete for any reason, that's okay, just explain in detail why you weren’t able to do so.
After making all changes to the cask:

[X] brew cask audit --download {{cask_file}} is error-free.
[X] brew cask style --fix {{cask_file}} reports no offenses.
[X] The commit message includes the cask’s name and version.

Thank you for the contribution. It was merged directly as c9344735c004d44cea7d9e6e79b11f524da38055. Your contribution is still credited to you.


Mirage not intercepting requests

After updating project to latest Ember LTS (3.28 .5) mirage is not intercepting the calls.
Ember data was updated also from 3.24 to 3.28 which seems to affect this.
The request is identified when checking the network in browser with obvious result of 404.
I have ember-cli mirage version 2.4.0. I have also ember-fetch installed, version: 8.1.1.
Happy to provide more info if needed.
In the config.js, I got:
  this.post('/cloudTags', (db, request) => {     let tag = JSON.parse(request.requestBody).cloudTag;     tag.fingerprint = 'asdas-dasdas-asdasd-asdasd';     return db.cloudTags.create(tag);   });

@viganella what did you find? I'm having a similar issue


Unable to upload viva connections app.

Custom apps are enabled, just uploaded Qbot last week.
The only error given is
Manifest parsing has failed.
For more information, please visit aka.ms/teamsdocs
No errorcode
if i try to upload the app to a team I get the error
Manifest parsing has failed.
For more information, please visit aka.ms/teamsdocs
Errorcode "bad request"
Edutenant.
Document details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 7210783d-e96e-9d14-9120-553f731d20ed
Version Independent ID: 84854221-f26b-4a19-b95e-0d5d7c640a46
Content: Add Viva Connections for Microsoft Teams desktop - SharePoint in Microsoft 365
Content Source: SharePoint/SharePointOnline/viva-connections.md
Service: sharepoint-online
GitHub Login: @Holland-ODSP
Microsoft Alias: hokavian

Hey @VesaJuvonen can you take a look at the comment above and let us know what you think? Any idea what might be going wrong?

Hi @andreaslarssonliu - can you clarify a bit more on what exactly is the situation here.
If I read the exception correct, you have executed the PowerShell script which we provided and have received an exception as part of the solution upload to the Teams - is this correct?
If so - we can pretty much only speculate the root cause unless we have access on the manifest file. Any change you could share that with us - using personal messages works as well. Only way to understand what is wrong is to be able to view the content of the file.
Most likely there's some special character which breaks the solution. There's two simple things to check for additional details as well:

If you create a new one with simple contoso values - does that work? - to validate your environment
If you try to upload this solution to any other tenant - would that work?

If you can't perform these, we are happy to help, but would need to get access on the zip file.

Start.zip
Might have been an issue with my icons, however a very confusing error message for such an error, however.
My co worker managed to upload it, if your interested in checking out the file I've uploaded the zip file.
But as we managed to solve our issue i will close the error report.


Old version json.hpp

Describe the issue
You have use old version of nlohmann/json - 3.5.0, feature request - switch to latest version 3.9.1
To Reproduce

OS - all supported
Compiler, compiler version, compile options - all supported
Please attach minimal and reproducible .glTF file if you got an issue related to .glTF data - not applicable

Expected behaviour
Users can use improved and addition functionaliies
Screenshots

not applicable

Additional context
Best regards, your user, Kit!

You can use your own json.hpp with TINYGLTF_NO_INCLUDE_JSON ifdef: https://github.com/syoyo/tinygltf#compile-options
Currently there should be no issues using current json.hpp in TinyGLTF, so there isn't strong reason to update it.
We would only accept upgrading json.hpp if it gives faster C++ compilation time than the old version.
PR with benchmarks(C++ compile time) is welcome!

Thank you!


RegExp is not being parsed correctly into pattern property

We've got a custom URL schema that is failing to be correctly translated to a pattern property.
export const urlRegex =
  /^((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www\.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%,/.\w\-_]*)?\??(?:[-+=&;%@.\w:()_]*)#?(?:[.!/\\\w]*))?)/;

export const URLSchema = z
  .string()
  .min(1)
  .max(1000)
  .regex(urlRegex, { message: "Please enter a valid URL" })
  .brand("url");

When loading Swagger UI we're getting unknown escape sequence.
It looks like we need to double escape backslashes in JSON?
Cheers!

I'm able to successfully construct the regexp from the JSON schema produced from your example, so I need some help reproducing this @kylekirkby
Could you check the Swagger UI code to see what specifically produces the error?

Added some tests for it here btw https://github.com/StefanTerdell/zod-to-json-schema/blob/master/test/issues.test.ts#L48

Can't recreate, no interaction, waste of time.


Field breaks React.Children.only on child component

Hi, I have a component which uses React.Children.only which itself is wrapped by Field. When it is wrapped the React.Children.only helper always throws an error:
"onlyChild must be passed a children with exactly one child"
// fails
<Field ...>
    <CompUsingChildrenOnly>
        <ChildComp />
    </CompUsingChildrenOnly>
</Field>

// works
<CompUsingChildrenOnly>
    <ChildComp />
</CompUsingChildrenOnly>

As denoted here, when there is only a single child, this.props.children will be the single child component itself without the array wrapper to save the allocation of an array.
I think the issue comes from the Field component when it clones the element in field-component.js using React.Chirldren.map which always returns an array when a child is there.
React.Children.only uses simply ReactElement.isValidElement(children) in the background, so this will fail. :)

Thinking about the simplest solution to this one - would it make sense for <Field> to always generate a wrapper component (<div>)? Which is the current behavior for a <Field> containing more than one child.

Also, can you show me a code example where this is failing?

Hi, yes, I created a example project here: https://github.com/MiMaMuh/react-redux-form-child-only-issue

This will be published in the next release: 0.11.6!

Great, thx!


Update Whats-new-wip-at-home-20h1.md

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks.

@bleblancMSFT - PR has been copy edited and is ready for final review.
Thank you.
cc: @kenwith


Colors mishmash

Hi,
thank you very much for your project! I would like to generate a pie chart and change the input data. When I do this, the colors start to display poorly. Try:
`
import UIKit
import RingPieChart
class ViewController: UIViewController {
@IBOutlet weak private var percentageSegment: UISegmentedControl!
@IBOutlet weak private var animationSegment: UISegmentedControl!
private var cir :Circular!
var aaa = [[Double]]()
override func viewDidAppear(_ animated: Bool) {
 let bbb = [0.0,3.0,97.0]
    aaa.append(bbb)
    addToView()
}

private func addToView() {
    if (cir != nil)  {
        cir.removeFromSuperview()
    }

    print(aaa)

    let barva: [UIColor] = [.blue,.purple,.orange]
    cir = Circular(percentages: aaa[0], colors: barva)
    cir.animationType = AnimationStyle.init(rawValue: animationSegment.selectedSegmentIndex) ?? .animationFan
    cir.showPercentageStyle = PercentageStyle.init(rawValue: percentageSegment.selectedSegmentIndex) ?? .none
    cir.frame = CGRect(x: 50, y: 50, width: 300, height: 300)
    cir.lineWidth = 10
    cir.center = self.view.center

    self.view.addSubview(cir)
}

@IBAction private func animationStyles(_ sender: UISegmentedControl) {
    aaa = []
    let bbb = [97,3.0,0.0]
    aaa.append(bbb)
    addToView()
}

@IBAction private func percentagestyles(_ sender: UISegmentedControl) {

    aaa = []
    let bbb = [0.0,0.0,100.0]
    aaa.append(bbb)
    addToView()
}

}
`
Do you have any idea where the mistake is?

percentages are out of 100 ... like ... 20, 30, 50 .... sum of them should be 100 .... 0.0 will not show anything ... 3 will be very minimal... 97 takes all the color

this framework does not support 0 ... so if something 0 .. remove that from array ...


Make addon official

Hello @rfay, @stasadev. I have another one for you 😅😅😅

First thing, of course, is standardized the schedule tests as in the other repo.
Please take a look to make sure all the files have #ddev-generated in them where they should.
Etc.

It doesn't install on my Arch-based Linux, because I don't have this command:
./web-build/ioncube/download-loaders: line 4: /usr/bin/arch: No such file or directory

Maybe better use uname -m for the architecture check?

What about PHP 8.3 support?:
https://github.com/oblakstudio/ddev-ioncube/blob/76097833036585f32db93fd6d3281aa8989a0a88/web-build/ioncube/modify-dockerfile#L38

Could you please add more to the README (and maybe here) about why one would use ioncube stuff?

Ah, I see, there is no 8.3 support upstream https://www.ioncube.com/loaders.php
And yes, please tell us in more detail why we need this add-on to be official, because I believe that ionCube PHP Loader is used for production and DDEV is mainly used for local development.
Another thing to think about is that there is no mention in the README.md that the current installation technique is for Linux only.

I can provide my use case for using ionCube in "development". We develop modules and individual solutions for a third party shop system. Some third party modules from specific developers rely on ioncube (i know - annoying thing) - so my local development environment of this shop is the mirrored production environment as i have no possibility to use the source code of the third party module. So i think, the use case for a official plugin would be something similiar.

And yes, please tell us in more detail why we need this add-on to be official, because I believe that ionCube PHP Loader is used for production and DDEV is mainly used for local development.

Because there is a lot of systems which use IonCube as a protection mechanism. I namely develop plugins for WHMCS, SupportPal which are 99% encoded, and they require IonCube to work.
Additionally there are drupal modules, WP Plugins, even composer packages (hosted on packagist.com) which are encoded.
PHP 8.3 support is added (#52)
I track IonCube releases since I run a hosting company, and I usually update the loaders one week after release, because they sometimes have critical bugs.
Looking forward to additional feedback - and still hope to make this addon official 😊

It's fine, thanks for contributing and maintaining it. If you give me privs on it I'll move it and you can update it.

Moved to ddev org, please follow through with renaming and updating.
Please note @stasadev 's suggestion above too, thanks.

Stanislav's change requests and suggestions have been implemented.
Editing readme.md now and pushing new version.

I see that the README has been updated, but I think it would be good to make a new release and close this issue.

And the tests haven't been updated, please take another pass through:
https://github.com/ddev/ddev-ioncube/blob/6261d524df2862755fd6016b29bf2ad320274bc6/tests/test.bats#L61-L62

People have been asking for a release, so I went ahead and made one. Please do follow up on the issues shown here @seebeen , thanks!

[ ] Update tests so they use the right repo
[ ]  Review tests to make sure they're doing enough and have 8.3 testing

Hola,
Had some more work than usual. Will review and update in the next couple of days.


Remove some unnecessary calls and casts at StringUtil, add type and return declarations

Q
A

Fixed tickets
n/a

License
MIT

👍

I must check the tests, some of them are failing. Should we update the php constraint to php: ^7.0 at composer.json? Or is the tool intended to support older PHP versions for usage outside Docker?

@cordoval: https://github.com/gushphp/gush/blob/master/composer.json#L9

constraint removed


Update Makefile

Again, cherry pick whatever you think fits?
Corrected prefix, as it was concatenated with bin to make $bindir, and then this was appended to DESTDIR, which led to errors if the user specified DESTDIR.
Added uninstall.

Makefile was refactored to output in objs folder. This cannot be merged.


build: make SwiftRTCuda a shared "public" library

This exposes the SwiftRTCuda module to users.  It is linked dynamically
so that users of the library will both see the definitions and be able
to link against it as appropriate.

Depends on #26 (can be rebased after that is merged) - but is the last piece needed for swiftrt-models.


How to subrequest in async way by using ngx_link_func_subrequest

Please follow this link, it will guide you how to make sub-request without waiting for response
https://github.com/Taymindis/nginx-link-function/wiki/Tips-and-Tricks#10-ngx_link_func_subrequest-directive-for-you-multiple-subrequest-run-parallelasync-or-sequentialsync-using-ngx_link_func_add_header_inctx-or-ngx_link_func_add_req_header-directive-for-communicate-each-service-that-you-have-sub-requesting-to


feat(profile): Adds certificates to static profile path

I added all boolean checks, buttons and routes of the new certificates
to the view. (According to user.json)
Closes #16246

Pre-Submission Checklist

[x] Your pull request targets the staging branch of freeCodeCamp.
[x] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[x] You have only one commit (if not, squash them into one commit).
[x] All new and existing tests pass the command npm test. Use git commit --amend to amend any fixes.

Type of Change

[ ] Small bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[x] Tested changes locally.
[x] Addressed currently open issue (replace XXXXX with an issue no in next line)

Closes #16246
Description

@cpheimbach looks like you forgot to do a git add <file name> after making the changes and before making the amend commit

Thanks for contributing to freeCodeCamp @cpheimbach 😄 This is being overhauled in my pull request (#16185). Let's merge that and then we can see from there. Hopefully you can find another issue that has the label help wanted ❗

Hi @jonathan-grah
Your pull request (https://github.com/freeCodeCamp/freeCodeCamp/pull/16185) did not add the buttons to the static profile page. And was merged.
You have made another PR https://github.com/freeCodeCamp/freeCodeCamp/pull/16186 for react profiles, which is under QA and not merged.
Hence your assumption that it will be merged and everything will work is NOT correct.
As of this way there is no way to confirm if the certs work fine from a UAT point of view (which is how a user would see them).
We should NOT assume something will be fixed, and always have the simplest path update the code-base iteratively.
/cc @BerkeleyTrue @QuincyLarson

Code LGTM. Thanks @cpheimbach
@BerkeleyTrue if we have any reason not to merge this, please go ahead and close.

@raisedadead; I have been talking to @QuincyLarson about this matter, and we decided it was best to close this issue, as it wasn't worth merging something only for it to be overwritten in 1-2 days. The branch staging, as far as I know, is not being pushed to the beta release for a day or two.

I'll be blunt and honest in my views (although this is not in scope of this thread) :

I have been talking to @QuincyLarson about this matter, and we decided it was best to close this issue, as it wasn't worth merging something only for it to be overwritten in 1-2 days.

Sure, then my concern is why wasn't it made public? Why do we need to make assumptions and break things?
Were all of the backend routes tested by some one other than the one who wrote the code, when your original PR was merged?
Why is it not a good idea to have a contribution that (even though to be removed later) which brings in new contributors?

The branch staging, as far as I know, is not being pushed to the beta release for a day or two.

That proves the point that its not ready for deployment. And the whole point of having a staging branch it is to be deploy-able for UAT at any given point of time.
And, hence calling out anyone to test and fix things makes sense.
Else, its just a loop of breaking and fixing and breaking, and NOT iterative development.

P.S:
Let's be careful, its easy to motivate anyone contribute, its easier to discourage them. It takes one comment, action etc, to break that trust.
Note:  "With great power comes great responsibility"
Every now and then say we see issues which are opened as regressions, when we overhaul something, simply because we neglect to follow established best practices.
We see lots of new contributors, and only a handful come back again because of the lack of clarity, and this is apparent to me over the couple years that I have seen this code-base.
Check the statics, on how many contributions go into /seed and how many go to other areas.
I am truly committed to this community, and help in bring more contributors to core areas of the code-base. But discussions and philosophies likes of which are happening here in the thread, sour my motivation to do so.
Nonetheless, that's my two cents.
Feel free to merge or close the PR as decided.

@raisedadead; I understand your position, I did mention that it isn't the best practice to merge an unfinished pull request into staging, and leave it that way. I am completely aware of these standards, and usually completely abide by them. In this case, Quincy gave me the heads up to go ahead and close this pull request, as we are focusing on overhauling this instead.
I'm going to merge this pull request, and I do agree with your reasons for wanting to merge it. However, in future, if any of us have issues regarding a closed PR or issue, we should contact the person directly instead of commenting on GitHub 👍
Were all of the backend routes tested by someone other than the one who wrote the code, when your original PR was merged? Yes, as far as I know
Why is it not a good idea to have a contribution that (even though to be removed later) which brings in new contributors? I understand this, but I think your blunt messages have probably had more of an impact. I think in future this should be done in private messages.

Thank @cpheimbach for your contribution, sorry for the confusion!

@raisedadead To be clear, I QA'd this and merged it, and in doing so take responsibility for anything that it may have broken.
There is a tension between getting code merged in early and often and trying to get code "right". In this case, since we're not deploying this directly production at this point and there's still time to refactor, I opted to merge.

@jonathan-grah with due respect this is not about this PR. And I sincerely apologise for my choice of words, but the concerns are still the same.
@QuincyLarson thanks a lot, but no one including you is responsible for anything broken. It should be as simple as following iterative development.
Again, I apologise if my choice of words sounded like a rant.
Let me clarify as I see I may not have been clearer earlier.

I noticed something which can be a contribution, and created an issue for some one to contribute.
A contributor came in a made a PR, which was closed. The comments that were left were inadequate even for me who knows about whats going on with the code-base, lately.
The clarification was made only after, I jumped in and re-opened this pull request.

My concerns were not just about one single PR, its the practice in general that I have seen and have mentioned in my comments above.
I understand that some discussions can and will happen one-to-one and thats all fine by me.
But I care when that isn't clarified to all contributors. We closed the Core Chat to have more involved public discussions in the Contributors room.
In any case, I will this keep in mind in future, while reporting/triaging issues and reviewing PRs, which I would err on the side of until beta is shipped.
Lets focus on what we are good at, fixing things and not getting in debates.
Happy contributing!

@raisedadead Thanks for the additional clarification. Yes - when we closed that PR you're talking about, @jonathan-grah and I were on the phone discussing it. We should have written a more comprehensive explanation of why we were closing it.


How to Edit tags in View/Controller

Hi,
I set up correctly acts-as-taggable-on on my model (Contact). I can do all the magic from console. Still I dont seem able to include the logic into my view. If I use a text field, they get (close-to-correctly) rendered as a join of the array (so they are pasted together with no comma or space). If I try to save them, it gives me this error, quite reasonably:
ActiveRecord::AssociationTypeMismatch in ContactsController#update
ActsAsTaggableOn::Tag(#2165774980) expected, got String(#2148355060)
Could you please share a few lines on how to do this properly? Just like you did for the tag cloud. I cant find any example on the internet (!!!)
I'm using Rails 3.0.3.
Thanks,
Riccardo

you should put tag_list as text field .


Publish the blender-independent code as a python package for use as a dependency

The documentation for the repository states:

This structure allows common code to be reused by third-party Python packages working with the glTF 2.0 format.

... but there's no description of how to do that, or where (if anywhere) the independent code is available for inclusion as a dependency for those third-party Python packages.  If the intention was only to make it available to third-party addons inside of blender, then splitting the package seems odd.
Describe the solution you'd like
The independent code should be published in a format for inclusion as a dependency in Python, in the form of a pip-installable package available in a repository like PyPI.

This seems like a good idea to me. @AurL if I remember correctly you were using this Blender-independent code elsewhere; do you have a preference on how this should be set up?

This seems like a good idea to me. @AurL if I remember correctly you were using this Blender-independent code elsewhere; do you have a preference on how this should be set up?

We are currently using this repository as submodule (+ scripts to setup) and it's fine for our usage so I don't have any suggestion about the setup, but I also think it's a good idea if there are interesting usecases 👍

We are currently using this repository as submodule (+ scripts to setup) and it's fine for our usage so I don't have any suggestion about the setup, but I also think it's a good idea if there are interesting usecases 👍

I'm not familiar enough with the Python ecosystem and pip packaging to set this up. If someone would like to do that and include some tests to prevent regressions, a PR would be welcome.


Minimum requirement to host Coolify

Question:
Hi, first of all, I have to say you are doing an amazing job and this is a really great product :)
Here is my question what is the minimum requirement of Coolify for testing purposes I am using the base plan of DigitalOcean(1 vCPU
1 GB / 25 GB Disk) would it be sufficient to run Coolify?

Hey. Thanks! 🙂
Here are the requirements: https://docs.coollabs.io/coolify/installation#minimum-requirements-for-coolify
Basically, for Coolify, not much is needed, but if you would like to host applications, you probably need at least 2 CPUs, as Coolify will build your apps.
Other resources (services/databases) also need more memory.
So it depends on what you would like to use it for. 😃


Add support for GitHub IDP

Fixes #346
@samtstern Alright, I'm so pumped right now! I figured out how to get GitHub working and I proved the flexibility and scalability of the new architecture—die two birds with my one stone! ☠😆
Anyway, ignore this PR for now since I've already got you saturated everywhere else.

Oh, and I forgot to mention that the build is going to fail because of translation issues. @samtstern Could you possibly kick off that process for these strings: https://github.com/firebase/FirebaseUI-Android/pull/1199/files#diff-059a92f7313626f64a0470b20e08afa4?

@samtstern Think we can get the ball rolling on this one?

@SUPERCILEX sure, happy to get this one back on track.

Not sure where I went wrong but I got to a point where I am stuck on the redirect:

So you added your project URL to the app config.xml and the asset links have the correct SHA-256? Usually, the non redirect means the hash doesn't match up with how the app was signed.
FYI gonna wait to see how you get through this to address your feedback 👍.

Oh, just saw your edit, gimme a sec

@samtstern can you check the app module's merged manifest? Is the value being pulled in or is lint just mad?

Here's what I see in the merged manifest:
$ cat app/build/intermediates/merged_manifests/debug/processDebugManifest/merged/AndroidManifest.xml | grep -B1 -A15 GitHub
        <activity
            android:name="com.firebase.ui.auth.ui.provider.GitHubLoginActivity"
            android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
            android:label=""
            android:launchMode="singleTop"
<EMAIL_ADDRESS>>
            <intent-filter android:autoVerify="true" >
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data
                    android:host="@string/firebase_web_host"
                    android:path="/__/auth/handler"
                    android:scheme="https" />
            </intent-filter>

Which looks fine to me?  I don't think it should be a string literal at that point.

Oh yeah, sorry, I guess you'll have to use the APK analyzer to see the finished product.

@SUPERCILEX here's what I see in APK analyzer:
        <activity
            android:theme="@ref/0x7f0f00d4"
            android:label="@string/0x21"
            android:name="com.firebase.ui.auth.ui.provider.GitHubLoginActivity"
            android:launchMode="1"
            android:configChanges="0x5b0">

            <intent-filter
                android:autoVerify="true">

                <action
                    android:name="android.intent.action.VIEW" />

                <category
                    android:name="android.intent.category.DEFAULT" />

                <category
                    android:name="android.intent.category.BROWSABLE" />

                <data
                    android:scheme="https"
                    android:host="@ref/0x7f0e005f"
                    android:path="/__/auth/handler" />
            </intent-filter>
        </activity>

And for comparison, Facebook:
        <activity
            android:theme="@ref/0x7f0f01b6"
            android:label="@ref/0x7f0e001f"
            android:name="com.facebook.FacebookActivity"
            android:configChanges="0x5b0" />

        <activity
            android:name="com.facebook.CustomTabActivity"
            android:exported="true">

            <intent-filter>

                <action
                    android:name="android.intent.action.VIEW" />

                <category
                    android:name="android.intent.category.DEFAULT" />

                <category
                    android:name="android.intent.category.BROWSABLE" />

                <data
                    android:scheme="@ref/0x7f0e005a" />
            </intent-filter>
        </activity>

So this may be a red herring.

If I hardcode the value in auth/AndroidManifest.xml to my firebaseapp domain I get a little farther, to this point.  Which makes me think we need more info in the error messages:
2018-06-18 11:03:53.223 13023-13023/com.firebase.uidemo E/AuthUI: A sign-in error occurred.
    com.firebase.ui.auth.data.model.UserCancellationException: Unknown error
        at com.firebase.ui.auth.data.remote.GitHubSignInHandler.onActivityResult(GitHubSignInHandler.java:109)
        at com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity.onActivityResult(AuthMethodPickerActivity.java:234)
        at android.app.Activity.dispatchActivityResult(Activity.java:7276)
        at android.app.ActivityThread.deliverResults(ActivityThread.java:4264)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:4312)
        at android.app.ActivityThread.-wrap19(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1644)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6494)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
2018-06-18 11:03:53.225 13023-13023/com.firebase.uidemo E/AuthUI: A sign-in error occurred.
    com.firebase.ui.auth.data.model.UserCancellationException: Unknown error
        at com.firebase.ui.auth.data.remote.GitHubSignInHandler.onActivityResult(GitHubSignInHandler.java:109)
        at com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity.onActivityResult(AuthMethodPickerActivity.java:234)
        at android.app.Activity.dispatchActivityResult(Activity.java:7276)
        at android.app.ActivityThread.deliverResults(ActivityThread.java:4264)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:4312)
        at android.app.ActivityThread.-wrap19(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1644)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6494)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

So is the custom tab just closing itself? Or is it still stuck at the redirect URI? I'm pretty sure your Sha hash is wrong...

Actually, if you want to test that the activity is at least registered correctly, click the open in chrome menu option when you're in the CCT. It should let you choose between chrome or FUI.

Now the CCT just closes itself.  One interesting log line that appears:
2018-06-18 11:12:06.867 17569-17632/com.firebase.uidemo E/GraphResponse: {HttpStatus: 404, errorCode: 803, subErrorCode: -1, errorType: OAuthException, errorMessage: (#803) Cannot query users by their username (CHANGE-ME)}

Mmmm... So if you go to your GitHub settings and revoke the tokens then log in, it brings you straight back to FUI (not the redirect URI)?

I think this is just a typo.    Sorry for the time waste!

Nooooooooooooooo!!! Sam! 😂

I got it to work!  Well I had to do the "Three Dots > Open In App > (select demo app)" but then it not only signed in with Github but also linked to my existing email/password account and perfectly updated the profile picture.  Very impressed.
So remaining action items:

I still think my documentation comments are worth fixing.
I am gonna wait and try and get it to work without having to manually redirect the CCT.  I assume I just have a bad cache somewhere from all my fiddling.

Woot! 👏🍾 Yeah, I still want to improve the docs with your feedback and add a "WTF!? It's not working" section 😂

@SUPERCILEX those are great!  Final thing: let's just tone down the Github section a little bit to make it  less scary.  Removing things like "It's Github's fault" and "shooting yourself in the foot".  Google has a really good relationship with Github and I don't wanna be out here criticizing them, even though it's good-natured.

Haha, yeah, it could be taken the wrong way. 👍

@SUPERCILEX good to go!

Side note: I actually got into contact with GitHub yesterday, and they pointed me to the OAuth spec they use with the security reasons behind their decision (which I've linked to in the README)—really interesting stuff. In any case, I pointed out that the spec does allow configuring multiple redirect URIs so they were kind enough to put that on the backlog... Down the road, we might be able to simplify all this! 👏
TL;DR: I wasn't really being fair anyway now that I understand their reasoning. 😊

Awesome sauce! And there aren't even any conflicts with #1358. 🙌

@SUPERCILEX that's good to hear that you got in contact with them.  Also congrats on the first big feature on top of the new architecture.  Very impressive how it scaled.

Thanks! Yeah, I'm super happy we didn't get stuck at that 95%. 😉

Thanks! Yeah, I'm super happy we didn't get stuck at that 95%. 😉


Slider passes events to parent

If trying to embed react-native-slider in react-native-swiper, the dragging events are leaked through to react-native-swiper, thus moving the page at the same time with the thumb

I have the same issue. There's no solution for this problem ?

I am facing this issue too. @phrozenra @tamirla have you find any solution??

@jariwalabhavesh I didn't, I'm using the standard react-native's Slider component

SOME UPDATE ON THIS ISSUE

Here is code
import Swiper from 'react-native-swiper';
import Slider from 'react-native-slider';
var styles = StyleSheet.create({
  container: {
    // flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    // backgroundColor: '#F5FCFF',
  },
  wrapper: {
  },
  slide1: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#9DD6EB',
  },
  slide2: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#97CAE5',
  },
  slide3: {
    // flex: 1,
    // justifyContent: 'center',
    // alignItems: 'center',
    // backgroundColor: '#92BBD9',
  },
  text: {
    color: '#fff',
    fontSize: 30,
    fontWeight: 'bold',
  },
  trackStyle: {
    height: 7,
    borderRadius: 5,
  },
  thumbStyle: {
    width: 24,
    height: 24,
    borderRadius: 24 / 2
  },
})
class MyNewApp extends Component {
  constructor(props) {
    super(props);
    this.state = { value: 15 }
  }
  render() {
    let onValueChange = (value) => {
      this.setState({
        value: value
      })
    }
    return (
      <View style={styles.container} >
        <Swiper style={styles.wrapper} showsButtons={false} loop={false} >
          <View style={styles.slide1}>
            <Text style={styles.text}>Hello Swiper</Text>
          </View>
          <View style={styles.slide2}>
            <Text style={styles.text}>Beautiful</Text>
          </View>
          <View style={styles.slide3} >
            <Text style={styles.text}>And simple</Text>
            <View >
            <Slider
              minimumValue={1}
              maximumValue={25}
              step={1}
              thumbTintColor={"#607380"}
              minimumTrackTintColor={"#f1f3f5"}
              maximumTrackTintColor={"#f1f3f5"}
              trackStyle={styles.trackStyle}
              thumbStyle={styles.thumbStyle}
              value={this.state.value}
              onValueChange={(value) => onValueChange(value)}
            />
            </View>
          </View>
        </Swiper>
      </View>
    );
  }
}

slider pass event to swiper
Any workaround or solution?

Having the same issue when parent is a ScrollView, scrolls whole content

i also meet this issue ,

@cesargdm @kokiy @PhilippKrone @tamirla
i had fixed it by little bit hack
react-native-swiper has property scrollEnabled which allow to stop/start swiper swiping.
So what i had done
Slider had two event callback onSlidingStart and onSlidingComplete
 <Slider
          onSlidingStart={()=> //set swiper _scrollEnabled_ to false}
          onSlidingComplete={(value) => //set swiper _scrollEnabled_ to true}/>

This hack will fix issue, Hope this solution will be helpful to other folks.

@jariwalabhavesh   i use antd-mobile  Carousel   not  ,But thank you

@jariwalabhavesh This onSlidingStart / onSlidingComplete  solution works but it is not performant at all for me. The react-native slider component seems to prevent bubbling of drag events and it would be great if this slider could do the same.

@jariwalabhavesh This onSlidingStart / onSlidingComplete  solution works but it is not performant at all for me. The react-native slider component seems to prevent bubbling of drag events and it would be great if this slider could do the same.


[bug]

Describe the bug
Despite to have installed all required dependencies, I have still the issue:

looks like parsedatetime is not installed

To Reproduce

Install this extension.
Type "time"

Expected behavior
I can use the extension.
Logs
Nothing interesting in logs.
Screenshots
pip show pint simpleeval parsedatetime pytz
Name: Pint
Version: 0.17
Summary: Physical quantities module
Home-page: https://github.com/hgrecco/pint
Author: Hernan E. Grecco
Author-email<EMAIL_ADDRESS>License: BSD
Location: /home/guillaumevauvert/.local/lib/python3.6/site-packages
Requires: importlib-metadata, importlib-resources, packaging
Required-by:
---
Name: simpleeval
Version: 0.9.11
Summary: A simple, safe single expression evaluator library.
Home-page: https://github.com/danthedeckie/simpleeval
Author: Daniel Fairhead
Author-email<EMAIL_ADDRESS>License: UNKNOWN
Location: /home/guillaumevauvert/.local/lib/python3.6/site-packages
Requires:
Required-by:
---
Name: parsedatetime
Version: 2.6
Summary: Parse human-readable date/time text.
Home-page: https://github.com/bear/parsedatetime
Author: Mike Taylor
Author-email<EMAIL_ADDRESS>License: Apache License 2.0
Location: /home/guillaumevauvert/.local/lib/python3.6/site-packages
Requires:
Required-by:
---
Name: pytz
Version: 2021.1
Summary: World timezone definitions, modern and historical
Home-page: http://pythonhosted.org/pytz
Author: Stuart Bishop
Author-email<EMAIL_ADDRESS>License: MIT
Location: /home/guillaumevauvert/.local/lib/python3.6/site-packages
Requires:
Required-by:

Desktop (please complete the following information)
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

Additional context
Add any other context about the problem here.

Hello @guillaumevauvert-datadome

what happens if you type time?
Did you setup specific default cities? Like for example if you type time at Delhi, does it work or just the time command has problems.
If you re-install the extension, does the problem persist?

Thanks for reporting the problem.

Hello @tchar

I have the error immediately (looks like parsedatetime is not installed)
No default city. The issue happens as soon as time is typed.
Yes
It may be due to where python libs are installed. /home/guillaumevauvert/.local/lib/python3.6/site-packages ?

Hmmm the user python packages should work.
Assuming you did install parsedatetime with
pip install parsedatetime

Do you by any chance have multiple python versions and for some reason ulauncher uses a different one?
So if for example ulauncher is not launched with python3.6 but another version, that might be the problem.
Also you can try
sudo pip install ....

To see if this can fix it.
Also. Can you try running the prompt.py file from https://github.com/tchar/ulauncher-albert-calculate-anything/blob/master/misc/prompt.py?
The reason I am asking is because prompt.py basically uses the plugin with python prompt_toolkit. If this works, then it is an indication that another python version runs for ulauncher instead of python3.6


images-via-imgix external CDN feature

Hi There,
I noticed an open issue which matches a use case I'm trying to achieve with your images-via-imgix plugin. The ability to have images that are hosted on a CDN or another site show via imgix.
The specific user case for me is having images uploaded to my WordPress site to be automatically uploaded to S3 as a CDN, then have imgix point at the S3 URL to serve images. To achieve this I've utilised your plugin and https://en-gb.wordpress.org/plugins/amazon-s3-and-cloudfront/
This pull request contains the changes I've had to make to your imgix plugin in order for this to work. All the changes I've made have had backwards compatibility in mind, they should not break the plugin for existing users, and just add this external CDN functionality.
I've been able to test this on my own development site with images hosted on S3 and everything is looking good. I'm going to continue developing this site further and will resolve any issues I encounter.
Please let me know your thoughts, I welcome your feedback on this.
Many Thanks,
Matt

Thanks :) I've manually checked the commits, and everything seems to be fine. Did you investigate why the "replace_images_in_content" test is failing?

I had a look at it was just complaining about an undefined variable. So I've added a check for that into the conditional statement.

Looks fine to me. @thisislawatts , the changes are small, so I'm merging! Let me know if there is a problem.


ViewWillApper() of selected view controller is not calling properly.

Please add these code in PagingMenuControllerDemo2 in each controller
override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)
        print("VC 1")
}

You will see that ViewWillAppear is not called.
Another bug is the same on PagingMenuControllerDemo1.It called viewWillAppear().But,show me different view controller name.See the screenshot.

This bug is urgent to fix because to those who are working with UITableView resizable at iOS 8,they need to call
 tableView.estimatedRowHeight = 100
 tableView.rowHeight = UITableViewAutomaticDimension

override func viewWillAppear(animated: Bool) {
        tableView.reloadData()
    }

which was one the bug of resizing tableview problem at iOS 8.So,if we cant call this method using your paging menu controller,it will not resize when view appear.
Any Help Please?

I'll investigate and fix this issue as soon as possible.

Any help with that?I have waited for this answer.Becuase I implemented this in my large scale project.

Issue still not fixed yet?I wonder what's taking you so long.Please help.Please fix this quick.
Thanks.

This is my side project. I don't guarantee quick fixes all the time. If you have some issues, your pull request is welcomed.
Why don't you use delegate methods instead?
func willMoveToPageMenuController(menuController: UIViewController, previousMenuController: UIViewController) {
}

func didMoveToPageMenuController(menuController: UIViewController, previousMenuController: UIViewController) {
}

Please use delegate methods above instead for now. I'll let you know when it's fully supported.

It still not fixed yet.Why did you close this issue.And besides,I am still waiting for your fixes.
Here is my app and its on the App Store  : https://itunes.apple.com/us/app/telenor-myanmar-self-care-app/id952597596?mt=8
which use your library for Internet Packages.

This library couldn't support calling viewWillAppear in child view controller at this moment. Please use delegate methods instead. willMoveToPageMenuController is equal to viewWillAppear, so I believe that there is no big difference for now.

It's some restrictions caused by this library's view mechanism. If it really matters to your project, I strongly recommend to use other similar library to solve it.