Fix the parsing so that all test cases pass

The current "check failures" cases are all valid URIs.

Ooops! It seems that I've incorrectly translated test suite - I thought that these test cases should fail by design so I've thoughtlessly copied them ;-) Sorry for this mess!
I will try to fix them this weekend!

Oh, no problem - they were failing, and I think they were misleading before your work too!
The parser has some mistake(s) in it, or maybe is incomplete even. I kept the cases around as I knew they'd need fixing some day.

To clarify: they never have passed, but should do if the parser matches the spec :smile:

Yeah - it's clear now ;-) I'm not sure if I'm able to fix them, but I'm going try in my spare time.

Hi @garyb,
I want to fix one of failing test cases - I mean parsing of /top_story.htm. I suspect that it should parse to:

(AbsoluteURI
  Nothing
    (HierarchicalPart
      Nothing
      (Just (Right (rootDir </> file "top_story.htm"))))
    Nothing)

I've found that this could be fixed if we move // prefix parsing/printing to Authority module.  It seems that RFC references it this way.
One additional change which follows this modification is parsing of this test case:

"sql2:///?q=foo&var.bar=baz"
(Left
  (URI
    (Just (Scheme "sql2"))
    (HierarchicalPart
      (Just (Authority Nothing [Tuple (NameAddress "") Nothing]))
      (Just (Left rootDir)))
    (Just (Query (Tuple "q" (Just "foo") : Tuple "var.bar" (Just "baz") : Nil)))
    Nothing))

In this situation Authority contains empty host info which is quite consistent with for example uriparser results:

$ uriparse "sql2:///?q=foo&var.bar=baz"

  uri:          sql2:///?q=foo&var.bar=baz
  scheme:       sql2
  hostText:
   .. pathSeg:
  query:        q=foo&var.bar=baz
  absolutePath: false

$ uriparse "sql2:/?q=foo&var.bar=baz"

  uri:          sql2:/?q=foo&var.bar=baz
  scheme:       sql2
  query:        q=foo&var.bar=baz
  absolutePath: true

Also cases like localhost:8000 has to be changed to //localhost:8000 which is again consistent with uriparser results.
After this change localhost:8000 is parsed as schema + path and seems to be close to mailto:* and tel:* cases but their are still failing due to path validation problems...
What do you think? Should I provide pull request?

Unfortunately my current version does not handle this additional, example test case: sql2:/?q=foo&var.bar=baz, but handles sql2:/test?q=foo&var.bar=baz well. It seems that it is also related to path parsing.
I've added appropriate tests for these scenarios on my branch.

Sorry, it seems that I've made a mistake - /top_story.html is not an absolute uri - it should be probably parsed to relative-ref:

 testIsoURIRef
   "/top_story.htm"
   (Right
     (RelativeRef
       (RelativePart
         Nothing
         (Just (Right (currentDir </> file "top_story.htm"))))
       Nothing
       Nothing))

I'm going to fix this on my branch ;-)

Yeah, sorry, if I'd seen this sooner I would have said I think relative-ref is the one :)

I've changed above snippet to use rootDir but it does not type check as RelativeRef allows only URIPathRel. I'm not sure if this is consistent with the spec. Sorry if this is stupid question, but could you explain why RelativeRef allows only relative paths?

Or wait, I will go through the spec more rigorously and then ask questions ;-)

I think that example in spec suggests that /g is relative reference which resolves to absolute path (it transforms base URI by replacing whole path).
What do you think should be a representation of /top_story.html?

I think maybe what you were saying earlier is right and RelativeRef should probably allow both rel and abs paths.
I'm open to suggestions though! I definitely don't have the answers here, otherwise I'd have made an attempt to fix it long ago :smile: - that's part of why it's still in the state it is, I knew some thought would be needed to figure out what the expected representation for the failing cases would be.

Ok, thanks for clarification @garyb.
I can try to modify relative reference representation, so it can handle both cases. Should I Just define RelativeRefPath (and use it in RelativeRef) insted of URIPathRel as:
type RelativeRefPath = Either (URIPath Rel Unsandboxed) (URIPath Abs Unsandboxed)

With above representation we would end up with two levels of nested Either's and I'm not sure if this is nice to work with.
I can try to use custom data type instead:
data RelativeRefPath
  = AbsDir (Path Abs Dir Unsandboxed)
  | AbsFile (Path Abs File Unsandboxed)
  | RelDir (Path Rel Dir Unsandboxed)
  | AbsFile (Path Rel File Unsandboxed)

What do you think? Do you have any other propositions or suggestions? Should I try to implement this and we will see where it goes?
P.S.
Sorry that I'm bothering you with such a details ;-)

We could just reuse URIPath I think :)
https://github.com/slamdata/purescript-uri/blob/fb0607684ca99f28782a038c184a7cc29ff714a1/src/Data/URI.purs#L39-L41

Oh, I see what you mean about the nested Eithers though. Uhm... let's just go with that for now, and see what falls out.

Thinking a little bit further and analyzing other failing test cases I think that Abs and Rel distinction also fails in case of HierarchicalPart (so in case of AbsoluteURI and URI). Let's consider this scenario:
urn:example:animal:ferret:nose

which according to spec should be represented as URI:

schema: urn
path: example:animal:ferret:nose

It seems that this path value is not absolute. The same applies to mailto:*, tel:* where the only (in this context) significant restriction for path is that it should not begin with // (so even:  mailto:../relative is correct uri with path value ../relative). I think that we should probably extend HierarchicalPart representation too. What do you think @garyb?

So finally the only distinction between URI and RelativeRef path types would be Sandboxed and Unsandboxed type...

I meant "Abs restriction fails in case of HierarchicalPart" - I've corrected this in my previous post ;-)

Let's think a bit more about this uri:
scheme:../relative
Do we want to parse and represent it?
Syntactically it is correct URI which just contains extra "dot segment" :-) It seems that strict reference resolution algorithm will accept it and transform to scheme:relative (without even checking base URI, because scheme is defined). It will transform it without throwing any errors, according to this rule:
The remove_dot_segments algorithm respects that hierarchy by
removing extra dot-segments rather than treat them as an error or
leaving them to be misinterpreted by dereference implementations.

So I'm not sure what do we really want in this case and how we should represent paths in URI's (uris with defined scheme)...
On the other hand (correct me if I'm wrong) it seems that If we change path representation in HierarchicalPart to Path Rel a Sandboxed, we won't be able to represent such a "pathological", relative path (maybe that's ok), because sandboxing restricts us to paths without "extra dot segments" (Path Rel a Sandboxed can't "escape root" - Am I right?). If that's true then it seems that we are not able to handle mailto:../relative but we are able to handle more sane scenarios like<EMAIL_ADDRESS>urn:example:animal:ferret:nose etc.
What do you think @garyb?

I've checked quickly RFC's of mailto, tel and file and it seems that path format and semantic is really scheme dependent... If we want to build type safe URI construction we should probably take that into account. Maybe base URI type should not propose any sophisticated path representation/semantic and its construction should only enforce rules described in RFC (where it is allowed to use :, // etc.). Maybe on this basis we should build uri representations specific to given scheme...

It seems that in case of HierarchicalPart path has to be absolute if authority is present, but can be relative or absolute (but should not begin with //) if authority is missing. So there is also no simple way to handle this in types.
As I need working parser/printer for my project and I'm not sure how to handle these corner cases in current representation I've simplified path representation to String on my branch and fixed all failing tests there. Of course I'm really want to help fix these issues here but I'm not sure how to tackle them now...

After today's fixes I think the only thing that's missing is now is the ability for the parsers to deal with "non-file" paths, like the<EMAIL_ADDRESS>example:animal:ferret:nose examples. Next time we make a breaking release I'll add a sum in the representation that allows for FS paths or these other more generic paths.

Cool!
Of course I have my doubts... I think that  /top_story.htm should be parsed as relative ref with absolute path and that Scheme in URI should be mandatory and we should drop Maybe from there (isn't it the main distinction between URI and RelativeRef in spec?) .
I also think that absolute and relative path distinction doesn't hold in case of both relative ref and uri.
Sorry that I've hijacked this thread. Maybe I should drop some of my incorrect or irrelevant comments from the past...

Yeah I think you're right with all of those points actually - I was going to say /top_story.htm seems equally valid as URI or RelativeRef, but checking the spec again you're absolutely right that scheme should not be optional for URI.

It even says in the textual description

The scheme and path components are required, though the path may be empty (no characters).

I didn't do a very good job of following the spec with this thing, did I?! 🤦♂

I think that it would much be better if this spec start with just single text input which would accept and parse UriRef in question ;-)

... and I'm sure that we are going to provide such an input for them soon ;-)

@paluh I'm not sure if you still have an interest in this, but as per the other comment you probably just got notified on, the library has been redesigned quite a bit, and now also parses correctly :wink: / disallows invalid URIs. Thanks for your input on all this, and for the work you had done on it too - I took the approach of not integrating pathy into it anymore, as as you pointed out there are a bunch of "paths" in URIs that have nothing to do with file paths.

@garyb Thanks for info and for your great work!


Katana Router - Query url param

Hi, I use Katana Router into my web project. My problem is that I don't know how can I handle and pass a query encoded value to second page like this:
http://myapp.com/search?s=searched_value
How can I handle and pass the "s" query to page?

Thanks for using it.
My apologies. The query parameter, but it is currently not implemented as a feature yet.
I will add it in the next update.
And I will let you know when I update it again.

Thank you so much

@carmas123
This feature is supported in ver1.9.0.

Wou you are the best 💪


Move to Buildkite output

This PR switches to Buildkite outputs.
Also, ensures that pull requests are not deployed.

Okay. Great. This just deployed from a PR.

IIRC the tutorials, and hence this PR, are not ready yet. Eg due to some bugs in old CSV and Parsers versions some tutorials don't run successfully.

Maybe best to stick with the artifacts for one or two additional weeks.

IIRC the tutorials, and hence this PR, are not ready yet. Eg due to some bugs in old CSV and Parsers versions some tutorials don't run successfully.

Well, for what it's worth. The Turing 0.20 is now used for tutorial 1 :rofl: at https://turing.ml/dev/tutorials/00-introduction/ so your latest PR is published.
You can unsubscribe from this PR for now. I'll continue with disabling publishing for PRs because that makes no sense at all. Once that is fixed, I can force push the gh-pages branch back.

The Turing 0.20 is now used for tutorial 1 🤣 at https://turing.ml/dev/tutorials/00-introduction/ so your latest PR is published.

Nice. And it even seems to work, also maths and figures. I was almost certain that I broke something in the transition 😂

Maybe best to stick with the artifacts for one or two additional weeks.

@devmotion by the way, you saw that the Documentation build is currently broken? See the GitHub Actions logs. Someone removed the artifacts branch from TuringTutorials, so waiting will block any deployments from this repo unless someone puts the artifacts branch back. I have a version locally but I don't know how new it is.

The Turing 0.20 is now used for tutorial 1 rofl at https://turing.ml/dev/tutorials/00-introduction/ so your latest PR is published.

Nice. And it even seems to work, also maths and figures. I was almost certain that I broke something in the transition joy

Let's try to move forward with publishing then? I can help out with debugging from there

The PR functionality is now fixed. It will not deploy anymore. From the logs:
┌ Info: Deployment criteria for deploying preview build from GitHub Actions:
│ - ✔ ENV["GITHUB_REPOSITORY"]="TuringLang/turing.ml" occurs in repo="github.com:TuringLang/turing.ml.git"
│ - ✔ ENV["GITHUB_REF"] corresponds to a PR number
│ - ✔ PR originates from the same repository
│ - ✘ `push_preview` keyword argument to deploydocs is `true`
│ - ✔ ENV["GITHUB_ACTOR"] exists and is non-empty
│ - ✔ ENV["DOCUMENTER_KEY"] exists and is non-empty
└ Deploying: ✘

for both the Build and deploy (master) and Build and deploy (stable) step.
I've also reverted the deploy in the gh-pages branch by force pushing it back.
I'll now leave this PR alone. It can be merged once the Buildkite outputs are satisfactory.

Someone removed the artifacts branch from TuringTutorials, so waiting will block any deployments from this repo unless someone puts the artifacts branch back. I have a version locally but I don't know how new it is.

That's really bad. I didn't remove it, at least not on purpose. Sometimes the auto-delete bot messes up stuff but I don't think this happened here since I don't think we ever made a PR from the artifacts branch to another branch.
I checked, and currently tutorial 4 is missing (I think someone merged some PRs shortly after the transition PR was merged which canceled the buildkite job that was supposed to build and publish all tutorials) and tutorials 8, 10, 11, and 12 are broken, mainly/only due to outdated packages and code. I think it's bad to publish so many broken tutorials on the webpage, so until they are fixed it would good to keep the current state and possibly recover the artifacts branch. I think we should take the time and update and revise the tutorials properly and not stress us unnecessarily. Two weeks more or less don't matter, I guess.

I think we should be able to switch to TuringTutorialsOutput. All tutorials are built successfully. Of course, it's not perfect yet (suboptimal code, old design, deprecations, old packages, ...) but it is already an improvement compared with the previous, currently published version.

:tada:


Support local world locking

Allow the restriction of world locking to local subtrees, while still getting full world locking.
While some benefits of WLT will be unavailable (e.g. world locking of non-movable items such as particle systems, nav meshes, etc), this allows parts of an application to gain benefits of world locking without restructuring other parts.
For new projects, it is still strong recommended to apply WLT globally, along with possible additional pinning of subtrees.
Fixes #201

/azp run

/azp run


Deactivate nested parameters

Hi guys,
I know we can disable parameters using: activating-deactivating-parameters
Is there any possibility that we can disable table fields?
Example:
We have TBL1 with the following structure:
$tbl1 = [
    'FIELD1',
    'FIELD2',
    'FIELD3',
];

I want to retrieve only FIELD1 and should call something like
$function->setParameterActive('TBL1.FIELD2', false);
$function->setParameterActive('TBL1.FIELD3', false);

Is this possible in NWRFC SDK?

I'm not sure this is possible using the SAP NW RFC SDK.


[FLINK-30749][security][runtime] Fix delegation token provider enabled flag documentation

What is the purpose of the change
Delegation token providers can be turned off with security.delegation.token.provider.{serviceName}.enabled. The documentation however still contains the old config. In this PR I've fixed the doc.
Brief change log
Doc fix.
Verifying this change
No need any test.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

cc @mbalassi

a) This is dynamically generated, till now not seen such pattern (if you know how to do that plz share)
b) This is a legacy doc which is coming from the Kerberos times. After this fix I'm intended to restructure it by adding to the config page

That should make sure that you can only refer to existing options

This config is generated and it's depending on what kind of providers are on the classpath so this case we're not able to use the static class generator.

This is dynamically generated, till now not seen such pattern (if you know how to do that plz share)

There are ways to at least document it; see MetricOptions#REPORTER_FACTORY_CLASS for an example.
Whether you can actually use the ConfigOption itself in prod depends on how exactly the code works.
Maybe also take a look at MetricOptions#forReporter.

Thanks for pointing to the right direction. Will do a follow-up after the fix.


Allow tagging courses

Feature Request
We need to be able to tag courses with more dimensions than just "subjects".
Describe the solution you'd like
Update the "subject" object to allow a taxonomy.
Describe alternatives you've considered
Add a separate "Tag" object.

This feature request was covered by PR https://github.com/openfun/richie/pull/460 and PR https://github.com/openfun/richie/pull/475.


zig-uri breaking update

https://github.com/MasterQ32/zig-uri/commit/e879df3a236869f92298fbe2db3c25e6e84cfd4c
./.zigmod/deps/git/github.com/truemedian/zfetch/src/request.zig:217:69: error: expected optional type, found '[]const u8'
        try self.client.writeStatusLineParts(method.name(), self.uri.path orelse "/", self.uri.query, self.uri.fragment);
                                                                    ^

I can't make this change until that commit gets published on gyro. I'll give mattnite a bit of time for that, if it ends up not happening I'll switch gyro over to track the git repo and then fix this. This isn't a problem for gyro or submodules yet.

Fixed with 88cc9de


x/pkgsite/cmd/pkgsite: (self-hosted) README.md not visible in untagged version, but visible in tagged version

This issue describes a problem in a self-hosted pkgsite environment.
Setup
Our setup uses this commit as basis for a pkgsite frontend+worker, using Athens v0.12.1 as proxy (through the frontend's -proxy_url commandline option) for our private Gitlab repositories. Our private Gitlab repositories are regularly fetched through the proxy, and the documentation is updated. This runs well. I can elaborate on the setup if that's needed.
We noticed a discrepancy between non-tagged Go modules and tagged Go modules with regards to the README file. We use README.md for easy reading within the Gitlab web interface.
Problem description
In a repository containing a non-empty README.md with (multiple) Git tags (e.g. v1.1.4), the README.md is neatly shown inside the pkgsite frontend. However, in another repository that contains a non-empty README.md but does not have Git tags, the README.md is not shown in the pkgsite frontend.
Expected behaviour
Regardless of the presence of Git tags, a non-empty README should be visible within the pkgsite frontend.
Other information
The reported, most recent version in the untagged module is v0.0.0-20231121130704-9ad3935cf734. The reported, most recent version in the tagged module is v1.1.4. Our Gitlab settings set the develop branch as default branch. When cloning the repository, this defaults to pulling the develop branch.
In the untagged module, there exists a master branch with two commits, but the reported commit 9ad3935cf734 is not present in that branch. The master branch doesn't contain a README.md. However, if pkgsite would use the master branch, I would have expected a rather empty directory structure on the documentation page. When looking at the untagged module on the pkgsite frontend, it shows the directory structure currently present in the commit 9ad3935cf734.
The size of README.md in the tagged repository is 641 bytes. The size of README.md in the untagged repository is 1134 bytes. The MaxFileSize in internal/fetch/limit.go is 30 * megabyte, so I'm not expecting these READMEs to hit the fetch limit. Our log files from the frontend and the worker (both on log level info) do not contain words like exceeds or file size.
At this time, the pkgsite diff to master@ee1eba0daf6405765d06de9643dfe6c620ed47a8 with regards to our version doesn't seem to indicate any patches that would describe and/or solve this problem.
Referencing self-hosting tracking issue #39827 as well.

@hyangah I cannot directly find a repository on pkg.go.dev that could show the same behaviour. If I find one, I'll update the issue.


Allow generating migrations from within umbrella app

While numerous ecto_sql tasks are allowed to run from the root of an umbrella app when given --migrations-path, the ecto.gen.migration task is still prevented to run due to a no_umbrella!/1 check.
This PR moves the umbrella check under a missing --migrations-path check.
If the mix task is run without a --migrations-path option, then the gen.migration task will fail as always.
However, with a --migrations-path option set, the task is allowed to run

I think the reason we don't allow running this task from the umbrella root is you can have multiple apps, each with their own repo and migrations folder, and then it would ambitious where to put this new migration.

I think the reason we don't allow running this task from the umbrella root is you can have multiple apps, each with their own repo and migrations folder, and then it would ambitious where to put this new migration.

I think the reason we don't allow running this task from the umbrella root is you can have multiple apps, each with their own repo and migrations folder, and then it would be ambiguous where to put this new migration.

It makes perfect sense, but using --migrations-path and --repo command args would still be valid and should not be prevented from running IMHO; that is why this PR only allows running the command with --migrations-path, otherwise it's still prevented

I think the reason we don't allow running this task from the umbrella root is you can have multiple apps, each with their own repo and migrations folder, and then it would be ambiguous where to put this new migration.

It makes perfect sense, but using --migrations-path and --repo command args would still be valid and should not be prevented from running IMHO; that is why this PR only allows running the command with --migrations-path, otherwise it's still prevented

Is it possible to add a test? 🤔

Is it possible to add a test? 🤔

I take this back, when running this from umbrella root, there's no ambiguity where to generate the migration, we'd simply generate the migration for all apps. Strictly speaking we generate migrations for all repos, they could come from different apps or the same app could have multiple.
In that case I don't think we need to fail when the migrations path is not given, I think it's ok to use the default migration path for that repo. I think this PR could simply remove the no_umbrella!("ecto.gen.migration") check (+ add a test if possible). WDYT?

I take this back, when running this from umbrella root, there's no ambiguity where to generate the migration, we'd simply generate the migration for all apps. Strictly speaking we generate migrations for all repos, they could come from different apps or the same app could have multiple.
In that case I don't think we need to fail when the migrations path is not given, I think it's ok to use the default migration path for that repo. I think this PR could simply remove the no_umbrella!("ecto.gen.migration") check (+ add a test if possible). WDYT?

In fact when we have multiple repos we'd fail if migrations path is given because it'd try to write the same file twice. :)

In fact when we have multiple repos we'd fail if migrations path is given because it'd try to write the same file twice. :)

Thank you both for your feedback!
I've removed the --migrations-path requirement and the no_umbrella!/1 check from gen.migration, as per @wojtekmach comments above.
Added a test to verify that it does not raise any longer under umbrella app.
Is my approach on emulating the umbrella app OK for the test?

Thank you both for your feedback!
I've removed the --migrations-path requirement and the no_umbrella!/1 check from gen.migration, as per @wojtekmach comments above.
Added a test to verify that it does not raise any longer under umbrella app.
Is my approach on emulating the umbrella app OK for the test?

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:


gatsby-tinacms-remark fails inelegantly if gastby-transformer-remark is missing

Description
gatsby-tinacms-remark should have gatsby-transformer-remark as a peerDependency
Steps to reproduce

Create a site that does not use gatsby-transformer-remark
Run yarn add gatsby-tinacms-remark

Expected result
It should warn about gatstby-transformer-remark being a peer dependency
Actual result
No peer dependency warnings.
Trying yo start the server returns this error
 ERROR #85901  GRAPHQL

There was an error in your GraphQL query:

Unknown type "MarkdownRemark".

File: node_modules/gatsby-tinacms-remark/src/remark-fragment.ts:22:26

failed extract queries from components - 0.191s

I could take a look at this one if it's ok.

That would be great! One other thing: the error should also say that it needs to be listed as a plugin

Ok I'll add it then, thanks :)

So @ncphillips just to clarify, do we want to add the message when installing the tina plugin? or on the build?

At the very least during install and ideally when running as well.
Setting it as a peerDependency would automatically make it show up when installing the plugin.
I'm not sure how you could throw the error whens starting though.

I've added the PR - https://github.com/tinacms/tinacms/pull/483

I am still seeing Markdown issue using gatsby.

"gatsby-tinacms-remark": "^0.5.1",
"gatsby-transformer-remark": "^2.6.0", and ^2.6.38

Is it the same error as mentioned here ?

I figured it out. I was doing the manual set-up. It needs to have a gatsby markdown ready before setting up tinaCMS.

I figured it out. I was doing the manual set-up. It needs to have a gatsby markdown ready before setting up tinaCMS.

This needs to be documented. It bit me too.


Feat/license gen

Fixing bugs 2022/03/10 22:37:01 mkdir err:mkdir /: is a directory this bug occurs when we press enter without filling in the service name for the first time
Feature: LICENSE Generator

Codecov Report

Merging #15 (82cc3e8) into master (e046c46) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 82cc3e8 differs from pull request most recent head 839cd5e. Consider uploading reports for the commit 839cd5e to get more accurate results

@@           Coverage Diff           @@
##           master      #15   +/-   ##
=======================================
  Coverage   23.54%   23.54%
=======================================
  Files          41       41
  Lines        2119     2119
=======================================
  Hits          499      499
  Misses       1601     1601
  Partials       19       19

Continue to review full report at Codecov.

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


Fix for #212: Do not delete folder content type from provisioned document libraries

The Folder content type should not be deleted from a created document library even if the Remove Existing Content Types -flag is set in the template.

Hi @artokai, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

Thx Arto, looks good and good catch around the OneDrive client.


Test requests in shared process

Ref: https://github.com/microsoft/vscode/issues/155204

[x] Windows @luabud
[ ] macOS @chrmarti
[x] Linux @rzhao271

Complexity: 3
Authors: @sandy081 @deepak1556
Create Issue

Note: You can test this in a testing profile so that your development set up is in tact. You can create an empty profile or import one using this code-insiders://profile-github/https%3A//gist.github.com/dabeaeba4d1fcbb8f49a26ccbca70ef0
In this milestone we enabled shared process to redirect http(s) requests through main process that has a different network stack. This is a regression testing, so please do an exploratory testing of following scenarios.

Make sure extensions installation works from VS Code UI and also VS Code CLI
Enable settings sync and make sure all data is synced properly - settings, extensions, state etc., (Please use separate user-data-dir and extensions-dir for this, eg: code-insiders --user-data-dir <folder> --extensions-dir <folder>)

@chrmarti - Please test above scenarios by setting up a proxy server configuring VS Code to use it.

worked as expected for me :)


electron app name

the electron app name was easybsb and is now server-0.0.1....

please change it to easybsb

Mhm super strange, for me it is still easy-bsb from name. I think something happens with your build, cache issue i got the same one time and then never again.
just to be sure run all commands again
npm run build:all
npm run package:server
npm run package:electron


how to get libcpu_extension_avx2.so?

plugin = IEPlugin(device=args.device, plugin_dirs=args.plugin_dir)
if args.cpu_extension and 'CPU' in args.device:
plugin.add_cpu_extension(args.cpu_extension)
and parser.add_argument("-l", "--cpu_extension",
help="MKLDNN (CPU)-targeted custom layers.Absolute path to a shared library with the kernels "
"impl.", type=str, default='C:\Users\HHH\Documents\Intel\OpenVINO\inference_engine_samples_build\intel64\Release')
i can't find libcpu_extension_avx2.so file.
C:\Users\HHH\Documents\Intel\OpenVINO\inference_engine_samples_build\intel64\Release?

CPU extensions shall be present in your OpenVINO directory. In my case, on Linux I have them under:
<openvino_toolkit_path>/inference_engine/lib/intel64

Closing this issue. To add mode in version 2020.1, cpu extension are included in the CPU plugin. Only custom layers can be optionally added to cpu extensions.

Closing this issue. To add mode in version 2020.1, cpu extension are included in the CPU plugin. Only custom layers can be optionally added to cpu extensions.

@dtrawins I am newbie here.
Is API changed? I saw IEPlugin("CPU").add_cpu_extension("libcpu_extension.so") still exists in 2020.1 version. But the question is where could I get libcpu_extension.so? It no longer exists in 2020 release installation directory.

@gittripley  i have same problem.did you solve it ? where is libcpu_sxtension.so in 2020.1 version?

@gittripley can you provide details about where in 2020.1 you still see "IEPlugin("CPU").add_cpu_extension("libcpu_extension.so")"? That would be a bug - as starting with 2020.1 there is no libcpu_extension.so anylonger; only custom-layers would need to be loaded as custom-extensions.
@naserpiltan With 2020.1 and newer you don't need to load the libcpu_extension.so anylonger - except you have custom-layers to be added.


Docker Image Not Found.

Error response from daemon: No such container: localserver
docker run -p 3333:3333 --name localserver codesherpa python3 -c "import localserver.main; localserver.main.start()"
Unable to find image 'codesherpa:latest' locally
docker: Error response from daemon: pull access denied for codesherpa, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
make: *** [Makefile:8: run-docker-localserver] Error 125

Update: This is missing from the install instructions
Once inside the codesherpa folder
sudo docker build -t codesherpa:latest .

@wowitsjack good catch, thanks! I've updated the README.


old version of redcoin macosx?

Am I missing something? The website leads me to believe that this is the wallet I'd download.
https://www.reddcoin.com/reddwallet/
But when I download the wallet I get this https://www.evernote.com/l/AA4IHczqbblIYr6x4jZF4SJl7ZcL8But3FU

ReddWallet was a proof of concept for a different type of wallet. Its development has been idle since early 2015. The wallet you've downloaded is the current desktop wallet and is the most complete and stable version you can use. We are working on a wallet somewhat similar to the ReddWallet concept though, so if you like what you see in those screenshots: there's an alternative on the way.

https://www.reddcoin.com/2020/06/13/reddcoin-core-3-10-0/


Add support of different levels of visibility for generated code

This may be useful for library developers to restrict something or rearrange the APIs.
It may be implemented as following:
enum class VisibilityLevel {
    Public,
    Internal,
} // no reasons to make it private or protected

@GenSealedEnum( // the actual usage
    extensionsVisibility = VisibilityLevel.Internal,
    objectVisibility = VisibilityLevel.Internal, // it's important to have separate visibility settings for extensions vs objects
)

The functionality may be used by library developers to hide some of the methods, or to implement it as actual fields and not as extensions.

Thanks for the suggestion!
Would making the companion object or the sealed class internal work for your use case? Or would you want to be able to have a public companion object along with internal extensions?

implement it as actual fields and not as extensions.
I'm curious to hear more there as well. Would that be generating the sealed enum with @GenSealedEnum, but then not using the generated code for some of the implementations?

I'd prefer to have both of these configurable :)


Error: Post /services/oauth2/token: unsupported protocol scheme ""

Unable to execute skuid command without the "--host" flag.
Commands:
skuid pull -m Dashboard
skuid pull -m Dashboard --host my-domain.my.salesforce.com
Error:
Post /services/oauth2/token: unsupported protocol scheme ""
Works with "https://" + "my-domain.my.salesforce.com"
Command: skuid pull -m Dashboard --host https://my-domain.my.salesforce.com
New to this, so may be missing configuration somewhere.

This looks like an inconsistency in our documentation - we should either change the documentation and/or make the CLI more resilient to handle hosts without a protocol (i.e. prepend https:// if there's no protocol)


feat: salted hashing

Proposed Changes

Adds a --secret CLI arg to provide a file with encryption key or hashing salt.
Reduce implementation surface for the Pseudonymize to a single method (pseudo(bytes) -> String).
Add helper enums to instantiate hashers based on algorithm, with default settings.

Types of Changes
What types of changes does your code introduce? Put an x in the boxes that
apply

[ ] A bug fix (non-breaking change which fixes an issue).
[x] A new feature (non-breaking change which adds functionality).
[x] A breaking change (fix or feature that would cause existing
functionality to not work as expected).
[ ] A non-productive update (documentation, tooling, etc. if none of the
other choices apply).

Checklist
Put an x in the boxes that apply. You can also fill these out after creating
the PR. If you're unsure about any of them, don't hesitate to ask. We're here to
help! This is simply a reminder of what we are going to look for before merging
your code.

[x] I have read the
CONTRIBUTING
guidelines.
[ ] I have added tests that prove my fix is effective or that my feature
works.
[ ] I have added the necessary documentation (if appropriate).

Further Comments

Example use:
➜ tripsu pseudo -s secret.txt -c tests/data/config.yaml -x tests/data/type_map.nt tests/data/test.nt | tail -n3
<http://example.org/7c73d8167447e118ee76295f252e9ceeb48ae3cbfa0454572381796f0e7a8e2c> <http://schema.org/name> "f4446c44c9b6e221e94a40476322dab5123514c5669092a142057a3322329c09" .
<http://example.org/Bank> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Organization> .
<http://example.org/Bank> <http://schema.org/name> "Bank" .

➜ tripsu pseudo -c tests/data/config.yaml -x tests/data/type_map.nt tests/data/test.nt | tail -n3
<http://example.org/e72357361fec5fc2f653642e6a1016040aa79097ab123468f3f7873907211d26> <http://schema.org/name> "f4aab5970bf4589ea821964476f10ddcef7b2a42a4796954f5cb32426bc5ec55" .
<http://example.org/Bank> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Organization> .
<http://example.org/Bank> <http://schema.org/name> "Bank" .

Took your points into account and added tests + docstrings!

Just realized something: if we plan to support symmetric encryption, wouldn't --secret be the public key? That sounds a bit unintuitive

Just realized something: if we plan to support asymmetric encryption, wouldn't --secret be the public key? That sounds a bit unintuitive

For this, I think we should just change the behavior of tripsu  when asymmetric encryption is used and require --public-key or something similar instead of --secret. However, I suggest that we do it  only if one day we have a good reason to use asymmetric encryption.
It does not really make sense to me to support it for the following reasons:

Speed: asymmetric encryption requires more computational power and is much slower for data stream encryption.
Purpose: the goal of tripsu is to remove some information before sending the data, not to securely transfer it. The benefit of using asymmetric encryption is, in general, that you can send sensitive data in a non-trusted channel. For tripsu, we want to make sure that only the sender can decrypt the data, that's why we use either hash functions or symmetric encryption without sharing the key. If the data sender is the only one that encrypts and decrypts the data, there is no benefits of using asymmetric encryption.

tldr; I wouldn't worry about this for now :grin:


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target/pull/783 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-target.git

Docs Build status updates of commit 35c44f7:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch Release_Archive_master_2021-03-02-03-21-03 has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Update to Go 1.21

What type of PR is this?
/kind enhancement
What does this PR do / why we need it:
Update to Go v1.21

/retest

/lgtm
Thanks

/lgtm
/approve

/retest

/retest

/retest

/retest

/retest

/lgtm


Define keybinding button doesn't respect button.hoverBackground theme key

Repro:

Set button.hoverBackground in workbench.colorCustomizations
Open keybindings JSON editor
Hover the button

/duplicate of #121512


First amplify push errors out at end

Describe the bug
Created a totally new project and environment with the categories below; but when pushed for the first time everything looked ok and was also created in the cloud but it returned an error as the last line. After that it amplify status says everything needs to be created but it was all there?
Current Environment: kzwanger

| Category | Resource name          | Operation | Provider plugin   |
| -------- | ---------------------- | --------- | ----------------- |
| Auth     | kzwanger        | Create    | awscloudformation |
| Api      |kzwangergraphql | Create    | awscloudformation |
| Api      | userapi                | Create    | awscloudformation |
| Function | userman                | Create    | awscloudformation |
| Storage  | kzwanger        | Create    | awscloudformation |

The error it gave was:
2019-06-05T11:16:10.633Z - error: uncaughtException: must provide pattern date=Wed Jun 05 2019 13:16:10 GMT+0200 (Central European Summer Time), pid=11257, uid=501, gid=20, cwd=/Users/wouter/stack/Projects/Clinicards/Clinicards Erasmus Kwestbare Zwangere, execPath=/usr/local/Cellar/node/11.14.0_1/bin/node, version=v11.14.0, argv=[/usr/local/Cellar/node/11.14.0_1/bin/node, /usr/local/bin/amplify, push], rss=144093184, heapTotal=113745920, heapUsed=70214616, external=833776, loadavg=[1.984375, 2.02783203125, 1.82958984375], uptime=1107313, trace=[column=11<EMAIL_ADDRESS>function=new GlobSync, line=31, method=null, native=false, column=12<EMAIL_ADDRESS>function=new Glob, line=129, method=null, native=false, column=9<EMAIL_ADDRESS>function=GlobAll.globNext, line=97, method=globNext, native=false, column=8<EMAIL_ADDRESS>function=GlobAll.run, line=78, method=run, native=false, column=41<EMAIL_ADDRESS>function=Function.globAll.sync, line=192, method=sync, native=false, column=28<EMAIL_ADDRESS>function=projects.forEach, line=27, method=forEach, native=false, column=null, file=null, function=Array.forEach, line=null, method=forEach, native=false, column=14<EMAIL_ADDRESS>function=generateTypes, line=24, method=null, native=false, column=3<EMAIL_ADDRESS>function=postPushCallback, line=32, method=null, native=false, column=5, file=internal/process/task_queues.js, function=processTicksAndRejections, line=86, method=null, native=false], stack=[Error: must provide pattern,     at new GlobSync (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/glob/sync.js:31:11),     at new Glob (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/glob/glob.js:129:12),     at GlobAll.globNext (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/glob-all/glob-all.js:97:9),     at GlobAll.run (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/glob-all/glob-all.js:78:8),     at Function.globAll.sync (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/glob-all/glob-all.js:192:41),     at projects.forEach (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-codegen/src/commands/types.js:27:28),     at Array.forEach (<anonymous>),     at generateTypes (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-codegen/src/commands/types.js:24:14),     at postPushCallback (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-codegen/src/callbacks/postPushCallback.js:32:3),     at processTicksAndRejections (internal/process/task_queues.js:86:5)]
If pushed again with amplify push everything was ok (because it was all there) and no errors where given; status then was No Change
To Reproduce
Steps to reproduce the behavior:

Create new project with new env
Add auth, api graphql, api api function, api storage
Push
See error

Expected behavior
Finish and say everything is created, status No Change
Desktop (please complete the following information):

OS: MacOSX 10.14.5
Node v11.14.0
Amplify CLI 1.7.0

@wbroek Are you seeing this issue with subsequent pushes as well?

@kaustavghosh06 no, only at the first push at the moment

@wbroek Did you say "Yes" or "No" to the codegen questions during push? This seems to be an issue with codegen. Also, could you share your <project-root>/.graphqlconfig file?

@kaustavghosh06 Yes i did say to the codegen question (first push so there is no code?).
My .graphqlconfig is below
projects:
  kzwangergraphql:
    schemaPath: lambda/src/graphql/schema.json
    includes:
      - src/graphql/**/*.js
    excludes:
      - ./amplify/**
    extensions:
      amplify:
        codeGenTarget: javascript
        generatedFileName: ''
        docsFilePath: src/graphql

I saw this today as well in a new project.
Amplify version: 1.7.1
Node version 8.11.3

@wbroek @lanceharper during the initial push, what was the answer for Enter the file name pattern of graphql queries, mutations and subscriptions?

<EMAIL_ADDRESS>has the partial fix. Please comment/re-open if you still can reproduce this


v1.07 no longer seems to work in multiple threads

I just tried to get v1.07 working within the RDKit and immediately ran into the problem that our tests which attempt to use the InChI code from multiple threads simultaneously now fail.
The failure mode is that I start getting bad values (empty InChIs) or a seg fault at some point during execution. This does not happen if I run the same test with the number of threads set to 1, and it still happens even if I call the RDKit's "MolBlockToInChI" function, which is a thin wrapper around MakeINCHIFromMolfileText(),  so this doesn't seem to be something in the way we're using the InChI library. But, then again, it's multi-threaded stuff, so who knows?
Is there something extra that now needs to be done from client code in order to safely use the code from mulitple threads or is this a regression in the InChI code itself?
In case you're curious, the specific test that's failing is this one:
https://github.com/rdkit/rdkit/blob/master/External/INCHI-API/test.cpp#L65

@greglandrum, thanks for the issue. Which InChI version was used to run those tests before / that didn't fail the multithreading? Looking at https://github.com/rdkit/rdkit/blob/master/External/INCHI-API/download-inchi.sh it seems that v1.05 is the last known good version?

@JanCBrammer Yes, we use v1.05 now.

Any chance you could try with v1.06? I.e., we could start by bisecting versions before bisecting the commits from v1.06 to v1.07.

Any chance you could try with v1.06? I.e., we could start by bisecting versions before bisecting the commits from v1.06 to v1.07.

Sorry I mis-spoke: we are actually using v1.06, not v1.07

we are actually using v1.06, not v1.05

Nice, then we'll bisect the commits between v1.06 and 1.07 using https://github.com/rdkit/rdkit/blob/3d972a9e2f9ef097a36c4cf09334e898c69f16c1/External/INCHI-API/test.cpp#L65

@greglandrum, I could replicate the issue as follows.
When running RDBASE=$PWD/.. PYTHONPATH=$RDBASE LD_LIBRARY_PATH=$RDBASE/lib:$LD_LIBRARY_PATH ctest -R testInchi
with v1.07 (git checkout v1.07.0) I get (across multiple runs)
Test project /workspaces/rdkit/build
	Start 1: testInchi
1/1 Test #1: testInchi ........................Subprocess aborted***Exception:   4.94 sec

0% tests passed, 1 tests failed out of 1

Total Test time (real) =   4.95 sec

The following tests FAILED:
	  1 - testInchi (Subprocess aborted)
Errors while running CTest

or
Test project /workspaces/rdkit/build
	Start 1: testInchi
1/1 Test #1: testInchi ........................***Exception: SegFault  0.07 sec

0% tests passed, 1 tests failed out of 1

Total Test time (real) =   0.08 sec

The following tests FAILED:
	  1 - testInchi (SEGFAULT)
Errors while running CTest

When running the tests with v1.06 (git checkout v1.06) I get
Test project /workspaces/rdkit/build
	Start 1: testInchi
1/1 Test #1: testInchi ........................   Passed    5.06 sec

100% tests passed, 0 tests failed out of 1

Total Test time (real) =   5.07 sec

Therefore, we know that the last known "good" commit G is the one that's tagged with v1.06 and we know that commit B tagged with v1.07.0 is "bad". Now, I need to find the first commit B' between G and B that's bad. B' should contain the change that breaks the tests.
Following this rationale, using git bisect, I identified B' to be https://github.com/IUPAC-InChI/InChI/commit/66f42acbe9e29270a06e1c34307d12527c4ba399. I.e., running the tests after git checkout 66f42acbe9e29270a06e1c34307d12527c4ba399 results in
Test project /workspaces/rdkit/build
    Start 1: testInchi
1/1 Test #1: testInchi ........................Subprocess aborted***Exception:   0.10 sec

0% tests passed, 1 tests failed out of 1

Total Test time (real) =   0.11 sec

The following tests FAILED:
          1 - testInchi (Subprocess aborted)
Errors while running CTest

@djb-rwth, could you verify this?

@JanCBrammer thanks for tracking the commit down.
It looks like that commit introduces some global variables. I'm going to guess those are what are causing the problem with thread safety.

Hi @greglandrum,
Sorry for a slightly belated response.
@JanCBrammer's findings might be a good starting point in resolving this issue; however many parts of the code which belong to these past commits have been deleted and/or altered in the meantime.
When I first read this post, I thought that InChI multi-threading support in RDKit has been provided through libinchi API which had been compiled using Intel® oneAPI Threading Building Blocks, as a basic framework for OneTBB has been added to InChI since v.1.06; obviously, this is not the case according files in rdkit/External/INCHI-API/ folder as they use CMake to compile InChI from source.
Your assumption regarding the compromised thread safety related to use global variables makes sense, but I would still need to set an environment which can compile test.cpp. Please let me know if I should compile RDKit from source, and if the procedure is similar to compiling OpenCV from source.
This is essential for rewriting some parts of the InChI code, so they comply to reentrant and/or threadsafe rules.
Implementing parallel programming into InChI would be much better (and a personal aspiration), but it looks as if some other directions in development have bigger priority at the moment.

set an environment which can compile test.cpp. Please let me know if I should compile RDKit from source, and if the procedure is similar to compiling OpenCV from source.

@djb-rwth, see https://www.rdkit.org/docs/Install.html regarding RDKit compilation.

Actually, this version is a bit more compact and, I think, up to date:
https://greglandrum.github.io/rdkit-blog/posts/2023-03-17-setting-up-a-cxx-dev-env2.html

When I first read this post, I thought that InChI multi-threading support in RDKit has been provided through libinchi API which had been compiled using Intel® oneAPI Threading Building Blocks, as a basic framework for OneTBB has been added to InChI since v.1.06; obviously, this is not the case according files in rdkit/External/INCHI-API/ folder as they use CMake to compile InChI from source.

To clarify my perspective: The RDKit just needs to be able to call into the InChI code multiple times from different threads; this used to be possible. I don't need the InChI library to provide this and definitely have no interest in adding a dependency on Intel's TBB

Your assumption regarding the compromised thread safety related to use global variables makes sense, but I would still need to set an environment which can compile test.cpp. Please let me know if I should compile RDKit from source, and if the procedure is similar to compiling OpenCV from source.
This is essential for rewriting some parts of the InChI code, so they comply to reentrant and/or threadsafe rules.
Implementing parallel programming into InChI would be much better (and a personal aspiration), but it looks as if some other directions in development have bigger priority at the moment.

My two cents: I don't see much value in having a parallel version of the InChI code itself. I think the highest value the InChI team can provide is improvements to the efficiency and robustness of the existing library

Actually, this version is a bit more compact and, I think, up to date: https://greglandrum.github.io/rdkit-blog/posts/2023-03-17-setting-up-a-cxx-dev-env2.html

Hi @greglandrum,
Thanks for the link.
My current priority is to get test.cpp compiled in Visual Studio 2022 on Windows so I could try to resolve the multi-threaded issue. Please let me know if the above mentioned installation is able to provide this.
Two notes:

I have given up implementing OneTBB and do not have any intentions of revisiting this unless required.
Introducing parallel programming into inChI is an idea which will not likely happen soon as there are too many issues to be resolved with the current version of the code.

Hi @djb-rwth
here's an extremely minimal set of instructions for getting a build environment working for the InChI test on Windows. I'm assuming that you have some type of conda install (if not, install and configure miniforge here: https://github.com/conda-forge/miniforge)
First setup and activate a conda environment with the pre-requisites you need. I run these commands in a git bash shell:
conda create -n py310_rdkit_build -c conda-forge python=3.10 boost-cpp boost libboost libboost-devel cmake
conda activate py310_rdkit_build

Do the following in that same shell:

Go to the directory with the RDKit source.
create a build directory (I normally just call it build)
cd to the build directory
 cmake -DRDK_BUILD_PYTHON_WRAPPERS=OFF -DRDK_BUILD_INCHI_SUPPORT=ON -DRDK_BUILD_FREETYPE_SUPPORT=OFF ../
That should run without errors (though it will spit out some warnings)
Now open the solution file it produced in Visual Studio and build the testInchi target (there's probably some way to do this from the command line, but I don't know what it is for Windows). you probably want to switch the build configuration to "Release" first
Back in your shell, set the RDBASE environment variable to point to the directory where you checked out the RDKit source.
Run the testInchI executable:  ctest -V -R testInchi

I just tried this on my laptop and it worked... hopefully it will also work for you.

Hi @djb-rwth here's an extremely minimal set of instructions for getting a build environment working for the InChI test on Windows.

Thanks so much for this @greglandrum. I will try to do this ASAP.

cd to the build directory
 cmake -DRDK_BUILD_PYTHON_WRAPPERS=OFF -DRDK_BUILD_INCHI_SUPPORT=ON -DRDK_BUILD_FREETYPE_SUPPORT=OFF ../
That should run without errors (though it will spit out some warnings)
Now open the solution file it produced in Visual Studio and build the testInchi target (there's probably some way to do this from the command line, but I don't know what it is for Windows). you probably want to switch the build configuration to "Release" first

I believe that would be cmake --build --target testinchi

I believe that would be cmake --build --target testinchi

I was not able to make that work.

I was not able to make that work.

You are right, I just realized the Visual Studio generator is a multi-config one so --target can't work there.

I can reproduce the issue with test code that I have setup to make the Reaction InChI C API thread-safe. InChI <IP_ADDRESS> works, while <IP_ADDRESS> fails.
In some cases the InChI library starts returning inchi_Ret_ERROR and in other cases I see a segmentation fault. Feel free to reach out to me for alternative test code and additional testing of InChI concurrency.

Hi @greglandrum,
Back at work again.
Just one final question about setting the RDKit development environment:

Back in your shell, set the RDBASE environment variable to point to the directory where you checked out the RDKit source.

Please let me know if I should add this as an entry in CTestCustom.ctest file or do it some other way.
Thank you in advance.

I can reproduce the issue with test code that I have setup to make the Reaction InChI C API thread-safe. InChI <IP_ADDRESS> works, while <IP_ADDRESS> fails.
In some cases the InChI library starts returning inchi_Ret_ERROR and in other cases I see a segmentation fault. Feel free to reach out to me for alternative test code and additional testing of InChI concurrency.

Hi @janholstjensen,
Thank you for reaching out.
Sending the test code files would be more than welcome as there is always a possibility that two different issues are triggering the multiple threads difficulties.

Please let me know if I should add this as an entry in CTestCustom.ctest file or do it some other way. Thank you in advance.

Hi @djb-rwth I don't use ctest that way, so I'm not really sure what the answer is to that part.
I set the environment variable in the shell from which I invoke ctest

Hi @greglandrum,
Thanks for the quick response.
Got it working with $env:RDBASE="<path_to>\rdkit".
Here is the output I am getting:
UpdateCTestConfiguration  from :D:/code/temp/rdkit/DartConfiguration.tcl
Parse Config file:D:/code/temp/rdkit/DartConfiguration.tcl
 Add coverage exclude regular expressions.
UpdateCTestConfiguration  from :D:/code/temp/rdkit/DartConfiguration.tcl
Parse Config file:D:/code/temp/rdkit/DartConfiguration.tcl
Test project D:/code/temp/rdkit
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 1
    Start 1: testInchi

1: Test command: D:\Posao\code\temp\rdkit\External\INCHI-API\Release\testInchi.exe
1: Working Directory: D:/code/temp/rdkit/External/INCHI-API
1: Test timeout computed to be: 1500
1: [18:55:53] -------------------------------------
1: [18:55:53] -------------------------------------
1: [18:55:53] -------------------------------------
1: [18:55:53] -------------------------------------
1: [18:55:53] Extended double-bond stereochemistry (e.g. C=C=C=C) ignored
1: [18:55:53] -------------------------------------
1: [18:55:53] -------------------------------------
1: [18:55:53] -------------------------------------
1: [18:55:53]     Test multithreading
1: reading molecules
1: generating reference data
1: processing
1:  launch :0
1:  launch :1
1:  launch :2
1:  launch :3
1: [18:56:15]   done
1: [18:56:15] -------------------------------------
1: [18:56:15] -------------------------------------
1:  inchi: InChI=1S/C3H6/c1-3-2/h3H,1H2,2H3
1: [18:56:15] -------------------------------------
1: [18:56:15] -------------------------------------
1: [18:56:15] -------------------------------------
1: [18:56:15] -------------------------------------
1: [18:56:15] -------------------------------------
1: [18:56:15] Explicit valence for atom # 12 S, 7, is greater than permitted
1: [18:56:15] Explicit valence for atom # 11 S, 7, is greater than permitted
1: [18:56:15] -------------------------------------
1: [18:56:15] Can't kekulize mol.  Unkekulized atoms: 0 1 2 3 4
1: [18:56:15] -------------------------------------
1: [18:56:15] illegal bond type<PHONE_NUMBER>) in InChI
1: [18:56:15] -------------------------------------
1: !!! InChI=1S/H3O2P/c1-3-2/h3H2,(H,1,2)
1/1 Test #1: testInchi ........................   Passed   22.47 sec

The following tests passed:
        testInchi

100% tests passed, 0 tests failed out of 1

Total Test time (real) =  23.52 sec

I assume that everything works fine now. and that the InChI code in External folder is v1.06.
Please let me know if this output block is testing the multithreading:
1: [18:55:53]     Test multithreading
1: reading molecules
1: generating reference data
1: processing
1:  launch :0
1:  launch :1
1:  launch :2
1:  launch :3
1: [18:56:15]   done

Also, please let me know if I should just replace the source code in D:\code\temp\rdkit\External\INCHI-API\INCHI-1-SRC with working versions, or if there is anything else I should configure/change.

Or is it D:\Posao\code\temp\rdkit\External\INCHI-API\src?

We now reproduce the multithreading failure on CI, i.e., CI fails due to the segfault(s) in the InChI library.
See https://github.com/IUPAC-InChI/InChI/commit/746a9273e6ebf38d1a6855fb776dc6891ff0cabd.

FYI: I talked to Gerd yesterday who let me know that this one should be fixed. I just grabbed the current state of main and built the RDKit against that. All of my tests now pass

~FYI: I talked to Gerd yesterday who let me know that this one should be fixed. I just grabbed the current state of main and built the RDKit against that. All of my tests now pass~ Apologies, that was me making a mistake in the build setup. I still get errors in my multithreading test using main

Hi @greglandrum,
Yes, that information is correct but I still have not pushed the new version to GitHub.
Will let you know as soon as I do because there is one more feature we wish to include in v.1.07.2 beforehand.

Hi @greglandrum,
The multithreading issues have been addressed in InChI v1.07.2, which has now been uploaded to rwth branch.
Please feel free to let me know if you have any further suggestions or comments regarding multithreading.
Hoping to hear from you soon.

@djb-rwth I just did an RDKit build using the rwth branch and the multi-threading tests passed without problems.
Running the rest of my tests turns up a new problem with, I think, GetStructFromINCHI(), but I will report that in a separate issue.

Hi @greglandrum,
Thanks for confirming that multithreading issue has been resolved, and creating issue #67, which will be addressed separately.


PropertyChangeSupport for Scene2D

The Scene2D package is great, it is easy to use and easy to extend. However, what is holding it back from being used for more complex UI applications is the fact that there currently is no way to easily bind the existing components to a controller or model (if you are following the MVC pattern, but it is the same for other patterns like MVVM or MVP) using an existing binding library. Almost all of them rely on the use of the PropertyChangeSupport class in the java.beans package, which is available on Android too (sadly GWT doesnt support it out of the box, but it is emulated using the gwtx library).
The only requirement for implementing it is adding a few methods (register and remove PropertyChangeListeners, firing PropertyChangeEvents) to a base class (preferably Actor, or Widget and WidgetGroup).  The widgets' functionality would be left untouched and should not cause breaking changes.
I am currently working on it myself, but I want to know if anyone else is interested in including it into libgdx. The addition would make libgdx much more attractive for cross-platform app development.

Closing this as there was no follow up.


Mpc integration, second iteration

New features:

MPC has been generalised, and successfully tested, for path tracking as well. Now 2 modes are available in the mpc launch file.
Speed tracking has also been introduced.
Foxglove JSON for mpc data visualizations has been added.
examples on how to use mpc as a path planner or as a path tracker have been added under svea_examples.
bug on yaw error computation has been found and fixed.

Both mpc's mode have been tested successfully on svea orin.

Something is strange with the PR. Looks like it is redoing the previous PR... Have you merged main properly into your feature branch?

Mmmmmm I opened a new one though. When the first pull request was closed I just merged my integration branch into the development one, then did some work there, and before opening this pull request I merged the development branch back into the integration one. What I can see from the Review panel is that there are some conflicts on files that I changed recently to implement the features, which makes sense to me.


DashScope: Encapsulate the calls to listeners into methods for better reuse.

Change
Encapsulate the calls to listeners into methods for better reuse.
General checklist

[X] There are no breaking changes
[X] I have added unit and integration tests for my change
[X] I have manually run all the unit and integration tests in the module I have added/changed, and they are all green
[ ] I have manually run all the unit and integration tests in the core and main modules, and they are all green

@jiangsier-xyz thank you!
Could you please add tests that extend ChatModelListenerIT and StreamingChatModelListenerIT? (please see OpenAiChatModelListenerIT and OpenAiStreamingChatModelListenerIT as examples)

Done.


Create _0000-01-02-Phaneendra51.md

Pull request

I have learn how to create and upload a file and release pull request,

I'm learn how to open and close a pull request


Bug fixes with CellSbatch usage and QC script execution

Hey @darrylyan46 , see PR #3 for more details. Thanks!


How TestSuite for creating an executable test suite structure programmatically

1,I am using the following method to create a test suite
from robot.api import TestSuite

suite = TestSuite('Activate Skynet')
suite.resource.imports.library('OperatingSystem')
test = suite.tests.create('Should Activate Skynet', tags=['smoke'])
test.setup.config('Set Environment Variable', args=['SKYNET', 'activated'])
test.keywords.create('Environment Variable Should Be Set', args=['SKYNET'])

2,But now I want to implement the following methods through the above methods @pekkaklarck Do you have any good suggestions
*** Test Cases ***
Package Post
    [Tags]      packaged req
    ${data}     Create Dictionary    name=Detector    age=18
    ${resp}     POST Req             ${data}
    should not be empty    ${resp["args"]}
    dictionary should contain key  ${resp["headers"]}     Host
    dictionary should contain value  ${resp["headers"]}     httpbin.org

*** Keywords ***
POST Req
    [Arguments]       ${data}
    Create Session    api             ${host}
    ${response}       Post Request    api    /post  params=${data}
    should be equal as integers    ${response.status_code}     200
    ${resp}           to json   ${response.content}
    [Return]    ${resp}

This issue tracker is for bug reports and enhancement requests. Please send questions to our forum or Slack that you can find via robotframework.org.


API changes to Ping events

Similar to https://github.com/python-hyper/wsproto/pull/36, I would appreciate bringing the h2 API & events into a similar state as wsproto.
At the moment h2 fires a PingAcknowledged event when it receives a PING frame with the ACK flag. But it does not fire an event for receiving an initial PING.
I would propose introducing a new event: PingReceived,
and renaming the existing PingAcknowledged to PingAckReceived.
Both events should carry the frame.opaque_data as ping_data attribute.
For backward-compatibility PingAcknowledged should be an empty subclass of PingAckReceived, and be marked as deprecated.

So I agree that having a PingReceived event is a good idea: that seems like a no-brainer. I'm confused about the rationale for changing the name of PingAcknowledged: why make this API change?

PingAcknowledged: just a cosmetic change to somewhat resemble the same naming scheme as wsproto, but since HTTP/2 doesn't have a PONG, but merely a Ping+Ack.
PingReceived & PingAckReceived fits together better IMO.

To elaborate a bit more:
PingAcknowledged sounds to me as if hyper-h2 did something (i.e., send a ping acknowledgement), but this is actually not the case. We only received a frame.
Might be a borderline technicality, but IMHO using ...Received events is easier to understand.


Display original health page when authorized user

I made a change that the original health page will be returned when authorized. When not authorized the OK page will be returned (don't give too much information).
The original health page is used by some external scripts and should be still available.

@feaster83  it makes sense, thanks for the contribution!


Win 11 WSL

How can I use the WSL Ubuntu on my local network?
Right now,  the host is Win 11 on my local 192 network.  It can ping the wsl Ubuntu just fine (172.x.x.x).
However,  wsl cannot ping the host Win 11.
I also installed apache2 on the wsl but cannot browse to it from the host.
Thanks,

@rayj00 you need to open your firewall.

@rayj00 you need to open your firewall. Add ICMPv4 to your Inbound Rules or any other application you protocol/port you desire.

The firewall on the host or the Ubuntu WSL?

@rayj00 your Window firewall. IFIK WSL instances are not firewalled. win+r then firewall.cpl and select Advanced Settings. Add a new rule to your Inbound Rules to allow pings.

Not familiar with Rules.  Is it Program, Port, Predefined or Custom?

This are the steps I did for echo only:

New Rule
Custom
All programs
Protocol type: ICMPv4
Any IP address
Allow the connection
Public

After all that,  still cannot browse from Win 11 host to wsl ubuntu!

The above rule is for ICMPv4 only, i.e. ping and other echo requests. What do you mean by can't browse? You'll have to open more holes in your firewall for other protocols. Here's sample ping output from WSL Ubuntu to Windows host (IP <IP_ADDRESS>) after opening the firewall:
tux@RIPPER:~$ ping -c 2 <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=127 time=0.354 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=127 time=0.548 ms

--- <IP_ADDRESS> ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1014ms
rtt min/avg/max/mdev = 0.354/0.451/0.548/0.097 ms

I have apache2 installed on the wsl ubuntu.  It has a 172.x.x.x IP.
My host Win 11 has a 192.x.x.x IP.
I should be able to browse (http://172.x.x.x)  from my host to the wsl ubuntu.  What does this have to do with the Win 11 inbound firewall?
Ray

BTW,  ping from the wsl ubuntu to the host still does not work.

The replies were to help with your wsl cannot ping the host Win 11 issue only. Good day to you, sir!

Hi @rayj00 this seems like a duplicate of this issue: https://github.com/microsoft/WSL/issues/7820 (or https://github.com/microsoft/WSL/issues/4150 )
We're aware of the request to be able to access WSL from the local area network and this request is being tracked by those two open items above. Please check those threads for workarounds, and check this docs page for some instructions that might also help. Thank you for filing!

Still no ping

Thanks Craig.
Ray
From: Craig Loewen @.***
Sent: Friday, January 14, 2022 4:22 PM
To: microsoft/WSL @.>
Cc: rayj00 @.>; Mention @.***>
Subject: Re: [microsoft/WSL] Win 11 WSL (Issue #7925)
Hi @rayj00 https://github.com/rayj00  this seems like a duplicate of this issue: #7820 https://github.com/microsoft/WSL/issues/7820  (or #4150 https://github.com/microsoft/WSL/issues/4150  )
We're aware of the request to be able to access WSL from the local area network and this request is being tracked by those two open items above. Please check those threads for workarounds, and check this docs page https://docs.microsoft.com/en-us/windows/wsl/networking#accessing-a-wsl-2-distribution-from-your-local-area-network-lan  for some instructions that might also help. Thank you for filing!
—
Reply to this email directly, view it on GitHub https://github.com/microsoft/WSL/issues/7925#issuecomment-1013482038 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABSNU43MJU4JQC6KJUFR3CTUWCHYTANCNFSM5L5EVBJQ .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675  or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/ABSNU44XBFAOHCUOHP7QSRTUWCHYTA5CNFSM5L5EVBJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHRUIENQ.gif Message ID: @.*** @.***> >


Refactor and add deploy test case

Refactor "createAzureResource.test.ts" file
Add deploy ".zip" files and folder  test case

This PR is a bit big, so I will close this PR.


Timesheet Page - When we change pagination and go to different date no records are showing

Describe the bug

If we change pagination on one date and change date then no records are showing

https://www.berrycast.com/conversations/1d6fc76e-b11f-5202-a770-70a3d1edd2fe

https://www.berrycast.com/conversations/da77f700-4033-5e9f-8b6e-8d1197da3e42


Maintenance on dependencies and scripts.

npm WARN deprecated<EMAIL_ADDRESS>uglifyjs is deprecated - use uglify-js instead.
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">= 4"} (current: {"node":"0.12.18","npm":"2.15.11"})
npm WARN deprecated<EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=4"} (current: {"node":"0.12.18","npm":"2.15.11"})
npm WARN deprecated<EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=4"} (current: {"node":"0.12.18","npm":"2.15.11"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=4"} (current: {"node":"0.12.18","npm":"2.15.11"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=4"} (current: {"node":"0.12.18","npm":"2.15.11"})

these can easily be fixed in the build process, is there a particular reason the dependencies haven't been updated?
Additionally, why is make being use instead of npm scripts? it seems a bit odd and breaks compatibility for windows...

https://github.com/Announcement/algebra.js/tree/maintenance is along the lines of this proposal


Add abortable lock

If a lock is lost, add an abort of the action if it's not completed within the TTL.

https://msdn.microsoft.com/en-us/library/ty8d3wta.aspx

I have an issue and would like to check if you think this is related:
When a semaphore has been aqcuired and the session gets lost (for instance use the api to destroy the session) the RenewPeriodic method throws a "Session no longer exists" exception but catches that also and a cycle later a "Session timed out" exception is thrown which is not handled by the semaphore.acquire method.
If it is not related I am more than willing to create a new issue and help out with it.

@rmul Thanks for your report. That issue with semaphores and sessions is actually a separate issue and I'll look into it today.
This specific issue (#4) is more an enhancement - one of our developers requested that there be a type of lock that will thread.abort the code in the context of the lock if the lock was lost and it hadn't cancelled cleanly before the LockDelay expired.

@matt-augustine https://github.com/PlayFab/consuldotnet/blob/develop/Consul/Lock.cs#L774 Have fun!


AppStream data for Linux Packaging

Standard package information file
https://www.freedesktop.org/software/appstream/docs/
ETC
https://www.freedesktop.org/software/appstream/docs/sect-Metadata-Application.html
https://community.kde.org/Guidelines_and_HOWTOs/AppStream

This doesn't actually seem as useful as I'd once thought.


Handle Invoice with zero amount

Invoice with zero amount should ask for the amount to be entered by user.

Done


Do not ignore SMT errors + fix unit test bugs

Fixes https://github.com/kframework/kore/issues/1477
After https://github.com/kframework/kore/pull/1531

Fixes tests which run using the SMT:

initialize SMT with MockSymbols declarations
fix empty module test

Reviewer checklist

[ ] Test coverage: stack test --coverage
[ ] Public API documentation: stack haddock

I'll wait to see what happens to #1531 before reviewing.


feat: build for Linux ARM64

Changes

:gift: Add build for Linux/arm64

/kind enhancement

Thank you so much for this @matejvasek ❤

@lance PTAL


MNT: Set ff-static as an output of ff feedstock

Add an output to the feedstock and set the feedstock name.
Skip x86 osx builds until can be debugged.
Bump build number.

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[N/A] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe/meta.yaml:

ℹ The recipe is not parsable by parser conda-recipe-manager. The recipe can only be automatically migrated to the new v1 format if it is parseable by conda-recipe-manager.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/12477059367. Examine the logs at this URL for more detail.

@conda-forge/core I messed something up in https://github.com/conda-forge/staged-recipes/pull/28680 and I dont' have maintainer privileges. I've tried to fix this by setting the feedstock-name which seemed to work in https://github.com/conda-forge/fastjet-contrib-feedstock/pull/3. Can you please review? Also is it possible to change the feedstock name on conda-forge from https://github.com/conda-forge/ff-static-feedstock to https://github.com/conda-forge/ff-feedstock ?

@conda-forge-admin, please rerender

I don't have maintainer privileges.

Are you sure sure?
https://github.com/conda-forge/ff-static-feedstock/blob/d51d041e22f6b9b05907afc870f43416ede0af0a/.github/CODEOWNERS#L1
looks correct

Are you sure sure?

@h-vetinari Yeah, I never got the notification of the feedstock creation and rerender and I can't merge this PR.

Why are you adding an output? It seems this recipe only produces one artefact (ff-static) in the first place. As long as you're not planning to add several outputs in the near future, there's no need to change the structure here.

Yeah, I never got the notification of the feedstock creation and rerender and I can't merge this PR.

I think the bot might have a problem, because the feedstock team never got created, which is how you'd normally get the rights - I'm not expecting much to happen over the holidays though; in the meantime, I've given you the rights manually now.

Why are you adding an output? It seems this recipe only produces one artefact (ff-static) in the first place. As long as you're not planning to add several outputs in the near future, there's no need to change the structure here.

@h-vetinari Well this is where I messed up with the feedstock creation. The goal was to eventually work out how to have a shared library version of FF but as we don't have that now (and won't in the near future) I wanted to have this feedstock be named ff-feedstock with a ff-static output.
Though as you mentioned that it isn't possible to rename the feedstock, then given the above would you recommend that I go ahead and just archive things and try again?

Though as you mentioned that it isn't possible to rename the feedstock, then given the above would you recommend that I go ahead and just archive things and try again?

It's a matter of preference. But yes, you could open with a new PR to staged-recipes, and once that works out, we can archive this one.

It's a matter of preference. But yes, you could open with a new PR to staged-recipes, and once that works out, we can archive this one.

Okay, thanks. @h-vetinari Just to check, having a second feedstock with a ff-static output won't cause conflicts given that https://anaconda.org/conda-forge/ff-static exists?

You'll likely need to do something like https://github.com/conda-forge/admin-requests/blob/main/examples/example-add-feedstock-output.yml, but after that it's fine.


fix command to build Android CHIPTool from script

Problem
build targets were refactored in https://github.com/project-chip/connectedhomeip/commit/b254ae72d3ea41203447ed56cc061a2f056908a2#diff-220c9899c4c328ed109fa1d944d37e0418ea6f5b4851d0c776523cdf8b0990a1
Change overview
--platform and --board are no longer accepted options, so updating instructions to use new --target option
Testing

I ran the new command and it worked.

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

@mrjerryjohns @saurabhst @andy31415 @Damian-Nordic @jelderton @jepenven-silabs @jmartinez-silabs ?


[Feature Request] Show PKGBUILD in same window as package details

Love the direction this package is going - thanks a bunch for the hard work!
I tried the Show PKGBUILD feature today; like it, but I'd like an option to not shell out, but show it right below the package info.

Hi @ajgringo619
Thanks for your feedback.
Is there any specific reason (besides cosmetics) to display it within the pacseek UI?
The reason for displaying it outside of the UI is because of space + letting people open it with their favorite editor, to have syntax highlighting, etc. (or if you want to save it and "do something" with it later).
(Might only be me, but my terminal windows tend to be sized a quarter of the whole screen)
Now, what I could imagine though is to display it instead/on-top of the package info (rather than below it). So when you press CTRL+P (or click "Show PKGBUILD") it would occupy the whole right hand side of the screen.
-> But only if I can make it to have to have syntax highlighting and scrolling.

This is a purely cosmetic request; I've never had the need to modify a PKGBUILD, so I didn't even consider using an external editor. I tend to use maximized terminal windows with multiple tabs, so space isn't an issue.
Occupying the whole subwindow, like a toggle, would be fine.

Internal displaying of PKGBUILD is implemented with v1.5.0
It can be enabled in the settings ("Show PKGBUILD internally")


Remove context from Pomodoro Timer Controls component

As a developer the context feature is currently not best practice.  Remove from the component by creating a display component and use the connect function to map the props/dispatch events.

Resolved in Pull Request.  https://github.com/jfehrman/pomodoro/commit/a2b0d7e9a530802a904c225fb99b2288d2824cca


Optional exception details

@bradenmacdonald, this is the second half of #2, with a better implementation. We create a decorator that will cause raised exceptions to return False when not called with an additional kwarg, but use that kwarg internally to python-saml so that exception details can be kept around. We also added unit test line items to ensure the decorator's behavior.

@haikuginger Code looks good to me; are there any testing instructions? I could at least run the test suite locally?
I don't want to spend too much time on this since upstream may or may not be able to accept it based on their plans for the API and need to maintain similar code in other languages - but if possible I should do some quick testing tomorrow before you submit it for upstream review.

I'll go ahead and make that change to use a context manager for AssertRaises. As far as testing goes, you'll want to run unit tests locally; other than that, you can manually try out any of the decorated methods in a REPL and observe the difference between running them with and without raise_exceptions=True passed.

:+1: Ready to submit to upstream for his feedback

[x] I tested this: Ran the test suite locally
[x] I read through the code
[ ] Includes documentation (mostly a refactoring with more clear error messages)

Rebased from f1e6e04.


Change landing so that it reflects modern situation

Due to the recent events (open-sourcing the bot and reaching >1000 users), we need to change our landing page (arbeitbot.com) to act more professional yet providing people with more relevant information. General suggestions from users' and industry specialists' feedback:

Move away from the concept of Telegram bot freelance market towards the concept of Open-source freelance market that should decrease bounce rate of people who came to ArbeitBot landing page but didn't want to install the bot as it exists within Telegram
Better illustrate the concepts of why our freelance market is different from other freelance markets and the value this concept brings to users
Emphasise that bot is cross-platform (web, ios, android, wp, etc.) because it's based on Telegram. Maybe substitute screenshots of iphone with screenshots of the most popular platforms, including web, ios, android
Better space usage (no "empty" blocks)
Illustrate roadmap of what we are going to do next (i.e. new freelancers rating algorithm, facebook messenger version, slack version) with links to relevant github issues

Started a mockup file for the new landing here: https://github.com/ArbeitBot/ArbeitBot-landing/blob/gh-pages/NEWSITE.md

A great landing page! Perhaps it is the stat would be even better if you change the font of the logo (Сopperplate Font) to a more modern?


1.21 not working

I am trying to use 1.3.5 and it is only displaying a blue glow colour, I have migrated to the new group name in the dependency and it is correctly importing, when looking at the library within my source code I can see that there is mappings for 1.21 but when running the code I get the following logs in my console:
[GlowingEntities] [GlowingEntities] Found server version 1.21.0
[GlowingEntities] [GlowingEntities] Loaded not matching version of the mappings for your server version
[GlowingEntities] [GlowingEntities] Loaded mappings V1_20_5_REMAPPED

I guess you are using a paper plugin? Using the remapped 1.21 environment?

I do not use any nms in the project currently other than GlowingEntities but it is being ran on Paper 1.21 (Experimental Builds)

Yes but is it a paper plugin or spigot plugin?

It is a Paper plugin but does not use the paper-plugin.yml and is not remapped on compilation.

I guess you are using the paperweight gradle plugin and your JAR gets compiled with the paperweight-mappings-namespace manifest attribute set mojang. Please change it to spigot. See PaperMC documentation: https://docs.papermc.io/paper/dev/project-setup#plugin-remapping.

It's probably not coming in the following days (I hope in a few weeks), because I don't have much time and it requires quite a refactoring (all classes have been renamed and other things like that). I started creating an util that will help in the future.

Apologies for the late response. I depend on the paper-api but I don't use any of the paperweight plugins, I just compile with shadowJar, what logs in particular are you looking for? Just startup?

Yup startup logs please!
No worries for the late response :)

I lied, I do use paperweight, I was on the wrong branch

I'm going to try doing this real quick: https://docs.papermc.io/paper/dev/userdev#compiling-to-spigot-mappings

Can confirm, this resolved the issue

Perfect! In the meantime, I continued working on adding support for the remapped version :)

Just thought I'd correct the title of this to be less misleading :)

It was HARD but finally: you can now use GlowingEntities on non-remapped servers!


Accessing hidden methods warnings on Android 10+

When using the plugin on Android 10, there are number of warnings issued due to using non-public APIs.
Are there any plans on resolving this (Google at some point may become more restrictive..)?
 D/com.polidea.flutter_ble_lib.FlutterBleLibPlugin(14382): on native side observed method: isDeviceConnected D/com.polidea.flutter_ble_lib.FlutterBleLibPlugin(14382): on native side observed method: connectToDevice W/ra.smartcontro(14382): Accessing hidden method Lsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J (greylist,core-platform-api, linking, allowed) W/ra.smartcontro(14382): Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapInt(Ljava/lang/Object;JII)Z (greylist, linking, allowed) W/ra.smartcontro(14382): Accessing hidden method Lsun/misc/Unsafe;->getIntVolatile(Ljava/lang/Object;J)I (greylist, linking, allowed) W/ra.smartcontro(14382): Accessing hidden field Lsun/misc/Unsafe;->theUnsafe:Lsun/misc/Unsafe; (greylist, reflection, allowed) W/ra.smartcontro(14382): Accessing hidden method Lsun/misc/Unsafe;->arrayIndexScale(Ljava/lang/Class;)I (greylist, linking, allowed) W/ra.smartcontro(14382): Accessing hidden method Lsun/misc/Unsafe;->arrayBaseOffset(Ljava/lang/Class;)I (greylist,core-platform-api, linking, allowed) W/ra.smartcontro(14382): Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed) W/ra.smartcontro(14382): Accessing hidden method Lsun/misc/Unsafe;->getObjectVolatile(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed) W/ra.smartcontro(14382): Accessing hidden method Lsun/misc/Unsafe;->putOrderedObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, linking, allowed) W/ra.smartcontro(14382): Accessing hidden method Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, linking, allowed) W/ra.smartcontro(14382): Accessing hidden method Lsun/misc/Unsafe;->getLongVolatile(Ljava/lang/Object;J)J (greylist, linking, allowed) W/ra.smartcontro(14382): Accessing hidden method Lsun/misc/Unsafe;->putOrderedLong(Ljava/lang/Object;JJ)V (greylist, linking, allowed) W/ra.smartcontro(14382): Accessing hidden method Lsun/misc/Unsafe;->getObjectVolatile(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed) W/ra.smartcontro(14382): Accessing hidden method Lsun/misc/Unsafe;->putOrderedObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, linking, allowed) W/ra.smartcontro(14382): Accessing hidden method Lsun/misc/Unsafe;->putOrderedLong(Ljava/lang/Object;JJ)V (greylist, linking, allowed) W/ra.smartcontro(14382): Accessing hidden method Lsun/misc/Unsafe;->putOrderedLong(Ljava/lang/Object;JJ)V (greylist, linking, allowed) W/ra.smartcontro(14382): Accessing hidden method Lsun/misc/Unsafe;->putOrderedObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, linking, allowed)

@dariuszseweryn could it be from RxAndroidBle or is it from MBA?

Nothing in the RxAndroidBle is directly referencing sun.misc.Unsafe class. There are some reflection use-cases that workaround connection issues on older Android versions. They can be viewed here. There is nothing else that I know of.

I think this is exactly related to reflections. Here is a snippet from the pre-launch report from Play Console:

This is from a full app I'm working on, so it is possible that not all of these apply to flutter_ble, but I believe at least some of them do, as they resemble the warnings I observe in the console when there are BLE operations happening.

Any chance to have an SDK-dependant implementation of things in the future that do not use hidden APIs on modern SDKs?


Update to Microsoft.Data.SqlClient 5.1.5 to address CVE-2024-21319

Please update to Microsoft.Data.SqlClient 5.1.5 to address CVE-2024-21319

Hi @miksh7 and thank you for reporting your finding.
This issue is a duplicate of #517 which is already fixed in PR #518.
I should mention that the fix is yet only released in a prerelease on nuget.org. I will create a regular release within the next days and will leave this issue open until then for informational purposes.

Release 6.5.2 is now on nuget with a fix https://www.nuget.org/packages/Serilog.Sinks.MSSqlServer/6.5.2.


Header ClickListener

How do you make the header clickable?

Just to clarify:
a) you wanna know how to add an OnClickListener to the whole header?
b) you've created a header and you're not able to click any of its components?

I want to know how to add OnClickListener on the entire header.

just add onClickListener to the layout u are using as the header.. I guess that will work fine

I'm trying to do the same thing. Is there something wrong with doing what I am doing here? I declare the header on the top. and set the longclicker before attachTo. They are long clickable, but I never get any feedback. I have many other buttons which work fine. Something happens to this header after attachTo I believe.

same problem with my code too...no response on onClickListener/onTouchListener .... any solution? @blipinsk

It helped when I turned on the listener after it is attached to the view. Also make sure it isn't "behind" anything in your xml file with fill parents vs wrap parents. just a hint @ShubhamSmartprix

thnx a lot man..it worked.. The header was actually "behind" the recyclrview in xml. fixed it...
but now I gotta figure out how to make recyclerview scroll on sliding fingure up/dwn on header area.. @jlwatkins

No problem. Good luck sounds like you going to have to read some of the code for the LinearLayoutManager, RecyclerViewHeader and RecyclerView. I recommend starting with how the .attachTo() function works for header and than digging into how the scrolling works. I haven't figured that out yet. I am having some problems when refreshing this layout, but haven't done anything with making it scroll.

Guys, after reading your comments I seriously think you're missing the point of the library.
I wrote in Readme.md:

You need to bare in mind that the library is created to be used with relatively simple headers.

And I DO mean that.
If you want to change the behavior of the header, change the way it scrolls, displays stuff etc. you will end up interfering with other parts of the library, generating more and more issues. Let me phrase the quote from readme differently:

This library is created to be used with simple headers, no ViewPagers, no other scrollable elements, few simple Views at max, being displayed and scrolled in a default way. If you don't match any of the requirements -> use Adapter that can display multiple types of Views.


Enchancing the UI

The background image is not of proper quality and not much related..
please assign me this issue

Hi Teewrath,
I hope you're doing well. I’ve reviewed the site and noticed some areas for improvement, particularly concerning the UI's interactivity and user-friendliness. Issues like image opacity and UI margins could be optimized to enhance the overall user experience.
I'd like to contribute by addressing issue #268, focusing on making the interface more engaging and user-friendly. I believe my proposed changes will significantly improve the project’s usability.
Looking forward to your approval and any guidance you might have.

@the-mindspace please conquer with us the issues need resolution


Global env

Or is there a reason for repeating them twice in each workflow? maybe @aliscott knows?

I don't know of any good reason not to move them.


Migration class Blueprint renameColumn() was removed at upstream doctrine/dbal

Laravel Version: 5.5.27
PHP Version: 7.1.13
Database Driver & Version: MariaDB 10.2.11

Description:
I'm trying to change the column name but name wasn't changed.
While checking relations codes, I found renameColumn() function was removed at doctrine/dbal.
You can check reference this Document and Source code
Steps To Reproduce:
Occurs when using renameColumn() in migration:
Schema::table('tables', function (Blueprint $table) {
    $table->renameColumn('beforecolumn', 'aftercolumn');
});

Yes, but that was 6 years ago in https://github.com/doctrine/dbal/commit/9b0bd8817cb74c4aefba043c7e59f94641cc5b15.

Then, The problem is that the column name does not changed, but this is not the real cause.
and I find real cause:
In Connection.php line 664:

  SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''' NOT NULL' at line 1 (SQL: ALTER TABLE users CHANGE period testcolumn VARCHAR(191) DEFAULT ''1h'' NOT NULL)

Looking at the query, the quotes are written twice.
Column creation code:
$table->string('period')->default('1h');

I see two problems;

You're using MariaDB. They introduced a breaking change in 10.2.7. This is a known problem and tracked in https://github.com/laravel/framework/issues/22050. Also note that MariaDB is not in the list of supported databases at https://laravel.com/docs/5.5/database
You're using the defaultStringLength(191) hack instead of properly configuring your database to support what you need. This is an unrelated problem to the one you're reporting.

Thank you for helping.
I did using raw query instead of renameColumn(). I think that is best way.


Some valid/invalid sql query not accepted/accepted

Invalid but parsed successfully:

SELECT CREATE EXTERNAL TABLE test (id VARCHAR(1)) FROM foo WHERE 1=2
SELECT 1 FROM foo WHERE CREATE EXTERNAL TABLE test (id VARCHAR(1))

Valid (debatable if useful) but not accepted:

CREATE EXTERNAL TABLE test ()

I'm trying to fix the parser, but it seems to be non-trivial. Is there a reason why you wrote your own parser and didn't use some parser combinator library like nom or combine?

I've built a few parsers in the past using the Pratt Parser approach (before this I had used ANTLR but ran into some limitations). I have some plans for the parser that this design will allow for. Here's a link to an article I wrote on pratt parsers:  https://keepcalmandlearnrust.com/2016/08/pratt-parser-in-rust/
With the examples above, it is true that the parser doesn't catch these issue yet, but when you try and execute the query you will get an error:
$ SELECT CREATE EXTERNAL TABLE test (id VARCHAR(1)) FROM uk_cities WHERE 1=2
Executing query ...
Query failed: Custom("Unsupported ast node SQLCreateTable { name: \"test\", columns: [SQLColumnDef { name: \"id\", data_type: Varchar(1), allow_null: true }] } in sqltorel")