Add SARIF renderer

Description
SARIF, the Static Analysis Results Interchange Format, is a standard, JSON-based format for the output of static analysis tools.
As it is an approved OASIS standard, many other tools already support it, including other analyzers and also visualizers (for example IDEs or GitHub Actions). SARIF support in PHPMD would therefore make it much more interoperable with other tools and workflows.
Because SARIF is a JSON-based format, adding support for it to PHPMD is quite simple. If other community members and maintainers agree that it is useful, I can write the code for it. But I'd wait until my other PR #857 is merged to avoid merge conflicts and also so code review feedback for that other renderer can be incorporated directly when building the SARIF renderer.
Checks before submitting

[x] Be sure that there isn't already an issue about this. See: Issues list
[x] Be sure that there isn't already a pull request about this. See: Pull requests
[x] Tell if you have the option to provide the code for this proposal.
[x] This issue is about 1 feature proposal and nothing more.
[x] The issue has a descriptive title. For example: "Add JSON render option".

@kylekatarnls @MarkVaughn Would you merge a PR for this? I think it would work quite well in combination with the GitHub renderer (I plan to use both together in my projects).

@kylekatarnls @MarkVaughn Would you merge a PR for this? I think it would work quite well in combination with the GitHub renderer (I plan to use both together in my projects).

Hi @lukasbestle by any change, is it the format GitLab uses?
https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html#implementing-a-custom-tool

Hi @lukasbestle by any change, is it the format GitLab uses?
https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html#implementing-a-custom-tool

@kylekatarnls No, that expects the Code Climate spec, which is not the same as SARIF. SARIF is an official standard while Code Climate is a format of a particular set of tools.

@kylekatarnls No, that expects the Code Climate spec, which is not the same as SARIF. SARIF is an official standard while Code Climate is a format of a particular set of tools.

This make me think that the list of rendered could grow very fast if we implement every formats. We rather need to have mapping options.
We have:
#856 which is XML with a custom mapping
SARIF and CodeClimate/GitLab which is JSON with a custom mapping
And maybe #857 could also be use the text with a custom settings (template, prefixes/suffixes)
If we add them all as first-level renderers, we'll have 9 of them. Let's say it would be the very maximum before considering reorganizing this feature.

This make me think that the list of rendered could grow very fast if we implement every formats. We rather need to have mapping options.
We have:
#856 which is XML with a custom mapping
SARIF and CodeClimate/GitLab which is JSON with a custom mapping
And maybe #857 could also be use the text with a custom settings (template, prefixes/suffixes)
If we add them all as first-level renderers, we'll have 9 of them. Let's say it would be the very maximum before considering reorganizing this feature.

I see your point, this is definitely something to be considered.
The question is how high the abstraction level should be. I'm generally not a huge fan of abstractions in areas like these as it will make the code much harder to understand, longer than necessary and each change in the "core format" (XML, JSON, text) might break the formats that depend on them.
SARIF is quite specific, it's not just JSON. For example it also includes the rule metadata (description, help text, example, link to the docs etc.). So basically the only thing that would be shared is the json_encode() at the end.
Another argument for keeping a linear list instead of thinking in base formats: As a user I might not even know if I'm looking for a JSON-based format or an XML format. I know that I need SARIF or Checkstyle etc. How these formats work internally is not something I'd consider as a user, it's an implementation detail.
What we could do is to move the renderer registration into a central location. So instead of a method for each renderer and an additional line in the command options for file export, there could be a static array that contains a list of renderer names and classes, which would be easier to maintain and less verbose:
const RENDERERS = [
  'text' => [
    'class'     => '\PHPMD\Renderer\TextRenderer',
    'forExport' => false
  ],
  'sarif' => [
    'class'     => '\PHPMD\Renderer\SarifRenderer',
    'forExport' => true
  ],
  // ...
];

Alternatively it could also be a public static so that plugins can register themselves as well.
The forExport attribute would control whether the renderer gets its own --reportfile-{name} option.

I see your point, this is definitely something to be considered.
The question is how high the abstraction level should be. I'm generally not a huge fan of abstractions in areas like these as it will make the code much harder to understand, longer than necessary and each change in the "core format" (XML, JSON, text) might break the formats that depend on them.
SARIF is quite specific, it's not just JSON. For example it also includes the rule metadata (description, help text, example, link to the docs etc.). So basically the only thing that would be shared is the json_encode() at the end.
Another argument for keeping a linear list instead of thinking in base formats: As a user I might not even know if I'm looking for a JSON-based format or an XML format. I know that I need SARIF or Checkstyle etc. How these formats work internally is not something I'd consider as a user, it's an implementation detail.
What we could do is to move the renderer registration into a central location. So instead of a method for each renderer and an additional line in the command options for file export, there could be a static array that contains a list of renderer names and classes, which would be easier to maintain and less verbose:
const RENDERERS = [
  'text' => [
    'class'     => '\PHPMD\Renderer\TextRenderer',
    'forExport' => false
  ],
  'sarif' => [
    'class'     => '\PHPMD\Renderer\SarifRenderer',
    'forExport' => true
  ],
  // ...
];

Alternatively it could also be a public static so that plugins can register themselves as well.
The forExport attribute would control whether the renderer gets its own --reportfile-{name} option.

I kind of agree with @kylekatarnls in that stuffing the actual library with so many report renderers becomes more and more confusing for users and harder to mantain.
On the other hand, the current approach to use custom renderers isn't really straightforward regarding how should one address the custom renderers class, if it means a path, a fqcn, and if backslashes in its namespace should be escaped.
Perhaps it would be saner to allow for the cli to pass a config file

I kind of agree with @kylekatarnls in that stuffing the actual library with so many report renderers becomes more and more confusing for users and harder to mantain.
On the other hand, the current approach to use custom renderers isn't really straightforward regarding how should one address the custom renderers class, if it means a path, a fqcn, and if backslashes in its namespace should be escaped.
Perhaps it would be saner to allow for the cli to pass a config file

I agree that a config file could be useful in general. However I don‘t think that a config file alone can solve the issue of how to get custom renderers loaded. If you declare a class in the config file, PHPMD still needs to know how to load that class.
To be honest I think the ideas we collected in this issue are mostly medium or long term improvements. I don‘t think they should be blockers for new core renderers that are generally useful and not too project-specific.
SARIF as an open and official standard (the format for static analyzer output) should IMO be in the core.

I agree that a config file could be useful in general. However I don‘t think that a config file alone can solve the issue of how to get custom renderers loaded. If you declare a class in the config file, PHPMD still needs to know how to load that class.
To be honest I think the ideas we collected in this issue are mostly medium or long term improvements. I don‘t think they should be blockers for new core renderers that are generally useful and not too project-specific.
SARIF as an open and official standard (the format for static analyzer output) should IMO be in the core.

I agree that a config file could be useful in general. However I don‘t think that a config file alone can solve the issue of how to get custom renderers loaded. If you declare a class in the config file, PHPMD still needs to know how to load that class.

As long as the custom renderer keeps the interface contract (if there was one) PHPMD doesn't need to know anyting. In fact, it's working that way right now. I've set up a POC using nothing but

vanilla PHPMD as of aa7e527b5068,
your GithubRenderer #857
a Github Action with 4 scenarios
1.- binary at vendor/bin/phpmd, GitHubRenderer on project root, no namespace
2.- same as above with globally installed phpmd
3.- same as 1, but having GithubRenderer on a subfolder and with a namespace
4. same as 3 with global phpmd binary

It turns out that referencing the custom renderer class in project root and no namespace always works. Namespaced custom renderers will work with local binary, but not with global binary. Why? it is because class existance takes the autoloader in consideration, therefore class does exist.
https://github.com/phpmd/phpmd/blob/aa7e527b50681ca4be0f5457df6a4de5fdabe52c/src/main/php/PHPMD/TextUI/CommandLineOptions.php#L455-L457
If it doesn't, including the file doesn't work, because it either gets the path right (but the FQCN wrong) or the other way around. It cannot get both right since method  createCustomRenderer assumes the path is just the FQCN with forward slashes relative to cwd
https://github.com/phpmd/phpmd/blob/aa7e527b50681ca4be0f5457df6a4de5fdabe52c/src/main/php/PHPMD/TextUI/CommandLineOptions.php#L459-L470
So I wonder if this all could be tackled by adding a config flag like --custom-renderers-folder=<path> so
phpmd src/php/PHPMD  Whatever\Namespace\CustomRenderer cleancode --custom-renderers-folder=/whatever/absolute/or/relative/path

To be honest I think the ideas we collected in this issue are mostly medium or long term improvements. I don‘t think they should be blockers for new core renderers that are generally useful and not too project-specific.
SARIF as an open and official standard (the format for static analyzer output) should IMO be in the core.

I didn't know about SARIF, but I can see now it's a broadly used standard.

I agree that a config file could be useful in general. However I don‘t think that a config file alone can solve the issue of how to get custom renderers loaded. If you declare a class in the config file, PHPMD still needs to know how to load that class.

As long as the custom renderer keeps the interface contract (if there was one) PHPMD doesn't need to know anyting. In fact, it's working that way right now. I've set up a POC using nothing but

vanilla PHPMD as of aa7e527b5068,
your GithubRenderer #857
a Github Action with 4 scenarios
1.- binary at vendor/bin/phpmd, GitHubRenderer on project root, no namespace
2.- same as above with globally installed phpmd
3.- same as 1, but having GithubRenderer on a subfolder and with a namespace
4. same as 3 with global phpmd binary

It turns out that referencing the custom renderer class in project root and no namespace always works. Namespaced custom renderers will work with local binary, but not with global binary. Why? it is because class existance takes the autoloader in consideration, therefore class does exist.
https://github.com/phpmd/phpmd/blob/aa7e527b50681ca4be0f5457df6a4de5fdabe52c/src/main/php/PHPMD/TextUI/CommandLineOptions.php#L455-L457
If it doesn't, including the file doesn't work, because it either gets the path right (but the FQCN wrong) or the other way around. It cannot get both right since method  createCustomRenderer assumes the path is just the FQCN with forward slashes relative to cwd
https://github.com/phpmd/phpmd/blob/aa7e527b50681ca4be0f5457df6a4de5fdabe52c/src/main/php/PHPMD/TextUI/CommandLineOptions.php#L459-L470
So I wonder if this all could be tackled by adding a config flag like --custom-renderers-folder=<path> so
phpmd src/php/PHPMD  Whatever\Namespace\CustomRenderer cleancode --custom-renderers-folder=/whatever/absolute/or/relative/path

To be honest I think the ideas we collected in this issue are mostly medium or long term improvements. I don‘t think they should be blockers for new core renderers that are generally useful and not too project-specific.
SARIF as an open and official standard (the format for static analyzer output) should IMO be in the core.

I didn't know about SARIF, but I can see now it's a broadly used standard.

Fixed via #865


Maximum recursion with dictionary and pickle

While attempting to straddle Py2/3, I wanted to save a dictionary using pickle, but I receive an error when I try to load the pickled data. The error occurs if I dump in Py2 but load in Py3. I am using Anaconda Python 2.7.13 and Python 3.6.1 on macOS Sierra 10.12.5 with six 1.10.0 and future 0.16.0.
from __future__ import (absolute_import, division, print_function, unicode_literals)
from future.builtins import *
from six.moves import cPickle

d = dict(hello=1, goodbye=2)
with open('test.db', 'wb') as dbf:
    cPickle.dump(d, db, protocol=cPickle.HIGHEST_PROTOCOL)

with open('test.db', 'rb') as dbf:
    d = cPickle.load(db)
d.keys()
---------------------------------------------------------------------------
RecursionError                            Traceback (most recent call last)
/opt/homebrew/anaconda3/envs/mda-py3/lib/python3.6/site-packages/IPython/core/formatters.py in __call__(self, obj)
    691                 type_pprinters=self.type_printers,
    692                 deferred_pprinters=self.deferred_printers)
--> 693             printer.pretty(obj)
    694             printer.flush()
    695             return stream.getvalue()

/opt/homebrew/anaconda3/envs/mda-py3/lib/python3.6/site-packages/IPython/lib/pretty.py in pretty(self, obj)
    363                 if cls in self.type_pprinters:
    364                     # printer registered in self.type_pprinters
--> 365                     return self.type_pprinters[cls](obj, self, cycle)
    366                 else:
    367                     # deferred printer

/opt/homebrew/anaconda3/envs/mda-py3/lib/python3.6/site-packages/IPython/lib/pretty.py in inner(obj, p, cycle)
    600         step = len(start)
    601         p.begin_group(step, start)
--> 602         keys = obj.keys()
    603         # if dict isn't large enough to be truncated, sort keys before displaying
    604         if not (p.max_seq_length and len(obj) >= p.max_seq_length):

/opt/homebrew/anaconda3/envs/mda-py3/lib/python3.6/site-packages/future/types/newdict.py in keys(self)
     65             return self.iterkeys()
     66         elif ver >= (3, 0):
---> 67             return self.keys()
     68
     69     def values(self):

... last 1 frames repeated, from the frame below ...

/opt/homebrew/anaconda3/envs/mda-py3/lib/python3.6/site-packages/future/types/newdict.py in keys(self)
     65             return self.iterkeys()
     66         elif ver >= (3, 0):
---> 67             return self.keys()
     68
     69     def values(self):

RecursionError: maximum recursion depth exceeded in comparison

I came across this issue and experimented a bit.
The problematic code is in the newdict's implementation of items(), keys() and values() that calls itself recursively in Python 3: ref.
It should rather be:
        elif ver >= (3, 0):
            return super(newdict, self).keys()

I guess that people don't come across that issue very often, because nobody creates  newdict objects explicitly.  When you unpickle an object from Python 2, you make the unpickler machine construct exactly what's written in the pickle definition.

It looks like the PR #294 fixes the issue.
$ git checkout master
Already on 'master'
Your branch is up to date with 'origin/master'.

$ python
Python 3.8.0 (default, Nov  1 2019, 14:31:53)
[Clang 10.0.0 (clang-1<IP_ADDRESS>)] on darwin
>>> from future.types.newdict import newdict
>>> newdict(a=1, b=2).keys()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "python-future/src/future/types/newdict.py", line 67, in keys
    return self.keys()
  File "python-future/src/future/types/newdict.py", line 67, in keys
    return self.keys()
  File "python-future/src/future/types/newdict.py", line 67, in keys
    return self.keys()
  [Previous line repeated 994 more times]
  File "python-future/src/future/types/newdict.py", line 62, in keys
    if ver == (2, 7):
RecursionError: maximum recursion depth exceeded in comparison

$ gh pr checkout 294
Switched to branch 'newdict-fix'

$ python
Python 3.8.0 (default, Nov  1 2019, 14:31:53)
[Clang 10.0.0 (clang-1<IP_ADDRESS>)] on darwin
>>> from future.types.newdict import newdict
>>> newdict(a=1, b=2).keys()
dict_keys(['a', 'b'])


[HOLD for payment 2024-02-26] [$500] Cancel payment - "Next step" does not update after cancelling payment until page is refreshed

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

Version Number: 1.4.42-1
Reproducible in staging?: Y
Reproducible in production?: New Feature
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause internal team
Slack conversation:
Action Performed:
Precondition:

Admin and employee are in Collect workspace.

[Employee] Go to workspace chat.
[Employee] Create a money request and submit it.
[Admin] Pay elsewhere the request.
[Admin] Go to expense report.
[Admin] Cancel the payment.

Expected Result:
"Next step" message will automatically update after the payment is cancelled.
Actual Result:
"Next step" message does not update after cancelling the payment until the page is revisited.
Workaround:
unknown
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/38435837/6798d560-11af-4360-8b65-47a66c9f54b7

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

Upwork Job URL: https://www.upwork.com/jobs/~012c18b3226de5d7de
Upwork Job ID:<PHONE_NUMBER>060043776
Last Price Increase: 2024-02-16

We think this might be related to #wave5-free-submitters
cc @dylanexpensify

@m-natarajan What means the Collect workspace.  There is not a submit button in IOU preview ? Please provide more detailed steps

"Cancel" was a new feature implemented in https://github.com/Expensify/App/pull/34719 - @Gonals mind tackling this one please? Looks like CancelPayment needs some reportNextStep Onyx data

"Cancel" was a new feature implemented in #34719 - @Gonals mind tackling this one please? Looks like CancelPayment needs some reportNextStep Onyx data

Seems like it! Taking a look!

[CP Staging] Update nextStep on payment cancellation #36798

It was fixed internally here, yep

Thanks @Gonals! All set, closing.


JSON logs do not hydrate template placeholders

Discussed in https://github.com/verdaccio/verdaccio/discussions/2286

Originally posted by capps1994 June 11, 2021
We have updated our Verdaccio instance, to 5.1.0 and now logging seems to be not working as expected.
In our logs we see {"level":25,"time":1623421647904,"pid":8,"hostname":"e643fb945f2c","request":{"method":"GET","url":"/-/verdaccio/packages"},"user":null,"remoteIP":"<IP_ADDRESS>","status":304,"bytes":{"in":0,"out":0},"msg":"@{status}, user: @{user}(@{remoteIP}), req<EMAIL_ADDRESS>@{request.url}', bytes<EMAIL_ADDRESS>We have the following in our config logs:
- { type: stdout, format: pretty, level: http }
Has anything changed?

@juanpicado I was in the process of opening a PR against master (for Verdaccio 6) but it looks like the unit tests for packages/logger are busted as are a number of other unit tests for other packages. I read the Contributing Guidelines and followed the instructions for Running test but continue (even after some troubleshooting) to receive errors:
packages/logger test$ cross-env NODE_ENV=test BABEL_ENV=test jest --runTestsByPath
│ FAIL test/logger.spec.ts
│   ● Test suite failed to run
│     Cannot find module '@verdaccio/core' from 'test/logger.spec.ts'
│     > 1 | import { warningUtils } from '@verdaccio/core';
│         | ^
│       2 |
│       3 | import { logger, setup } from '../src';
│       4 |
│       at Resolver.resolveModule (../../node_modules/.pnpm/jest-resolve@27.3.1/node_modules/jest-resolve/build/resolver.js:324:11)
│       at Object.<anonymous> (test/logger.spec.ts:1:1)
│ -----------|---------|----------|---------|---------|-------------------
│ File       | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
│ -----------|---------|----------|---------|---------|-------------------
│ All files  |       0 |        0 |       0 |       0 |
│  index.ts  |       0 |        0 |       0 |       0 |
│  logger.ts |       0 |        0 |       0 |       0 | 7-156
│ -----------|---------|----------|---------|---------|-------------------
│ Test Suites: 1 failed, 1 total
│ Tests:       0 total
│ Snapshots:   0 total
│ Time:        1.612 s
│ Ran all test suites within paths .
└─ Failed in 2.4s
packages/plugins/active-directory test$ cross-env NODE_ENV=test BABEL_ENV=test jest
[2 lines collapsed]
│     Cannot find module '@verdaccio/core' from 'tests/active-directory.test.ts'
│       1 | import ActiveDirectory from 'activedirectory2';
│       2 |
│     > 3 | import { HTTP_STATUS } from '@verdaccio/core';
│         | ^
│       4 |
│       5 | import ActiveDirectoryPlugin, { NotAuthMessage } from '../src/active-directory';
│       6 | // eslint-disable-next-line jest/no-mocks-import
│       at Resolver.resolveModule (../../../node_modules/.pnpm/jest-resolve@27.3.1/node_modules/jest-resolve/build/resolver.js:324:11)
│       at Object.<anonymous> (tests/active-directory.test.ts:3:1)
└─ Running...

I listed only 2 of the failing packages in the output above (logger package included) but there there were a few others with the same exact issue related to Cannot find module '@verdaccio/core' from <some_other_package>. As mentioned, I spent some time trying to troubleshoot but I'm not intimately familiar with Verdaccio's build process/configuration or pnpm in general.
I have a fix for the issue from the discussion but don't want to submit the PR without working unit tests. Any guidance that can be provided would be appreciated. Thanks.

🤔 maybe you could upload the branch, I see the package is defined correctly on the manifest, but a close look would help.

I figured it out, I didn't do a build against the full project. Thanks.


Issue with adding a new component  in Experience Editor in Sitecore JSS

Description
Hi Team,
We are facing issue while trying to add new component through sitecore experience editor while using Sitecore JSS sample app(https://jss.sitecore.com/docs/getting-started/quick-start).
When we are trying to add new component Content Block in Experience Editor in main placeholder and its giving me error saying "An error occured".
Please find below error logged for the same---
33380 19:16:29 ERROR Application error.
Exception: System.Web.HttpUnhandledException
Message: Exception of type 'System.Web.HttpUnhandledException' was thrown.
Source: System.Web
at System.Web.UI.Page.HandleError(Exception e)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Nested Exception
Exception: System.InvalidOperationException
Message: placeholderKey
Source: Sitecore.ExperienceEditor
at Sitecore.Pipelines.ExecutePageEditorAction.InsertRendering.Process(PipelineArgs args)
at (Object , Object )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
at Sitecore.Pipelines.ExecutePageEditorAction.ExecutePageEditorActionPipeline.Run(ExecutePageEditorActionArgs args)
at Sitecore.Shell.Applications.WebEdit.Palette.OnPreInit(EventArgs e)
at System.Web.UI.Page.PerformPreInit()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
We have checked with sitecore and we come to know that the which  html getting render is as below  has some issue.
........
Here "key" attribute is missing
Please note that in this  sitecore instance React CLI(sitecore-jss/sitecore-jss-react) version is "13.0.5" and the error it is throwing is "Placholder key is missing".
But when we tried older  React CLI version 13.0.0. it was working as expected.
I have observed another issue in the same instance having React CLI(sitecore-jss/sitecore-jss-react) version is "13.0.5".
Javascript click event is not working in the preview mode.
Expected behavior
Editor should be able to add new component in page through experience editor . Also in preview mode Javascript event should work.
Steps To Reproduce

Go to  "home" page react react sample app in sitecore content editor
Open the page in experience editor
3.Try to add component "Content Block"in main placeholder
See error

Possible Fix
NA
Your Environment

Sitecore Version: 9.3
JSS Version: 13.0.0
Browser Name and version: Chrome ,Version 83.0.4103.106 (Official Build) (64-bit)
Operating System and version (desktop or mobile): Windows 10,Desktop
Link to your project (if available):

Screenshots

@spal870 Fix was provided in JSS 13.1.0.
You can look at this fix: https://github.com/Sitecore/jss/pull/343

@spal870 About onClick event, please, check it on the latest version (13.2.0). If it will happen, please provide
exact steps to reproduce, probably in separate ticket.
Feel free to reopen issue if you will have any problems, questions


Python: can't open file '/app/manage.py': [Errno 2] No such file or directory - Django - Docker Compose

Cookiecutter version: 2.6.0
Template project url: https://github.com/cookiecutter/cookiecutter-django
Python version: 3.12.2-slim-bookworm
Operating System:

Description:
When I create a Django project using Cookiecutter and run docker compose right after the project is created (docker-compose -f .\local.yml up -d --build) (local.yml), the django container gives me an error when running (starting script) (Python: cannot open file '/app/ management.py').
I don't know exactly where the problem lies

How come that this project template does not contain the string management.py nor the file with that name?

Using this template cannot result in that error as long as this template does not provide that file nor that string. However, it does provide a file called manage.py. So can you check your error again?

My error was about manage.py blabla. I will check it asap and leave logs soon.

I don't know where the problem specifically is, but everything seemed fine after I reinstalled the docker desktop. I have found a temporary solution to this problem, although I have not investigated the specific cause.
In local.yml or product.yml, in service: (django)

drive: Currently it is configured as (.:/app:z), please change it to (./app). Delete z and ://. I hope it helps anyone who is having the same problem.
 django: &django
     build:
         context: .
         dockerfile: ./compose/local/django/Dockerfile
     image: novel_local_django
     container_name: novel_local_django
     dependent:
         - postgres
         - redo
         - mailbox
     mass:
         - .:/app:z
     env_file:
         - ./.envs/.local/.django
         - ./.envs/.local/.postgres
     gate:
         - '8000:8000'
     command: /start

Change into:
django: &django
build:
context: .
dockerfile: ./compose/local/django/Dockerfile
image: novellaire_local_django
container_name: novellaire_local_django
depends_on:
- postgres
- redis
- mailpit
volumes:
- ./app
env_file:
- ./.envs/.local/.django
- ./.envs/.local/.postgres
ports:
- '8000:8000'
command: /start

I don't know where the problem specifically is, but everything seemed fine after I reinstalled the docker desktop. I have found a temporary solution to this problem, although I have not investigated the specific cause.
In local.yml or product.yml, in service: (django)

drive: Currently it is configured as (.:/app:z), please change it to (./app). Delete z and ://. I hope it helps anyone who is having the same problem.
 django: &django
     build:
         context: .
         dockerfile: ./compose/local/django/Dockerfile
     image: novel_local_django
     container_name: novel_local_django
     dependent:
         - postgres
         - redo
         - mailbox
     mass:
         - .:/app:z
     env_file:
         - ./.envs/.local/.django
         - ./.envs/.local/.postgres
     gate:
         - '8000:8000'
     command: /start

Change into:
 django: &django
     build:
         context: .
         dockerfile: ./compose/local/django/Dockerfile
     image: novellaire_local_django
     container_name: novellaire_local_django
     depends_on:
         - postgres
         - redis
         - mailpit
     volumes:
         - ./app
     env_file:
         - ./.envs/.local/.django
         - ./.envs/.local/.postgres
     ports:
         - '8000:8000'
     command: /start

umm.. In my case, when I use hyper-v for docker engine in docker desktop window version, /app folder is always empty. I am not sure what happens.


Retry dns queries with TCP if UDP has an i/o timeout

What this PR does / why we need it:
This retries dns lookups using TCP if the UDP method times out.
Which issue this PR fixes
fixes #896
Release note:
Retry dns queries with TCP if UDP has an i/o timeout.

/ok-to-test

/test e2e v1.12

Looks like you're hitting some test flakes here - don't worry about them too much 😄
Could you apply the 'DCO signoff' to your commits here, and on #1112 too 😄 then we can actually merge these PRs!

I think we're okay as-is. Thanks very much! 😄
/lgtm
/approve


Google driver: add --google-use-internal-ip-only flag to create

This addresses previously-closed issue #2876, which points out that instances created with the --google-use-internal-ip command-line flag are still assigned an external IP address. The new flag (which implies the presence of --google-use-internal-ip if it isn't specified) will cause the new instance to have no externally-accessible IP address.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "google-internal-ip-only" git@github.com:otherjason/machine.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.


Question about "score" feature in the resulting Fusion

Hi there,
Thanks a lot for building this awesome library and script! I was able to run it on my BigML datasets and it produced tons of good stuff in minutes.
Upon examining the shortlisted features, I've noticed "score" that happens to be superior to all other features left in the Fusion. I sense this came from one of the unsupervised models but I'm struggling to understand the exact whereabouts.
Can someone please advise how this "score" is calculated and what would it mean that it has the largest weight among all the selected features in my Fusion (Two bootstrap decision forests and one deepnet)? Looking forward to some guidance.

It's kinda lonely here...
Closing the issue as I managed to find the answer. The "score" feature is coming from the Anomaly Detection model after it's applied to your data set as part of the automated pipeline.
In my case, the "score" became one of the most important feature in the resulting predictive models.
Read more at https://bigml.com/features/anomaly-detection


Implement LCE Fill network in BedRock

Summary
This PR fixes a deadlock in the BedRock coherence protocol by adding a fourth coherence network (Fill) to carry cache to cache data transfers.
Area
ME and multicore designs
Reasoning (outdated, confusing, verbose, etc.)
There is a deadlock in the BedRock cache coherence protocol. The existing protocol violates two invariants:

if receiving message A causes sending message B, then A and B are considered to be in different message classes
each message class must be carried on its own network

Cache to Cache transfers currently require a Transfer Command (CCE to LCE) followed by a Data Command (LCE to LCE). This sequence violates the invariants above because both messages are part of the Command network/class, when they should be separate classes.
Analysis
Area will increase due to the introduction of a fourth physical coherence NoC on the multicore tiles and coherent accelerator tiles.
Verification

[ ] Standard CI
[ ] CMurphi protocol verification

Wait for #1032 to close prior to finalizing and merging this PR


Update TOC.md

Docs Build status updates of commit d85b2ac:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

biztalk/TOC.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


How did you get the source code or did you recreate it?

What is your question?
How did you get the source code or did you recreate it? I had this question a few days ago

i actually forgot this was here.

ok, I'll close this issue


Add option to specify game directory

For example if my current directory is /home/user then running 'python somedir/.../Hades/Content/modimporter.py' runs the script inside /home/user instead of the game directory, would be cool to be able to either pass the game directory as an argument (python modimporter.py --dir somedir) or specify it as a variable (GAMEDIR=somedir python modimporter.py)
in case of the variable maybe something like this somewhere at the beginning of the file
gamedir = os.getenv('GAMEDIR')
if gamedir:
    os.chdir(gamedir + "/Content")

If you run the built version it takes the sys argv 0 to extract the working directory

If you run the built version it takes the sys argv 0 to extract the working directory

oh, my bad, I just ran the python one


added required "make submodules"

Build fails on Linux without make submodules

@scruss Thanks for the README fixes!!
I'm particularly impressed by you spotting that I spelt Curly wrong 🥇

I'm particularly impressed by you spotting that I spelt Curly wrong 1st_place_medal

Once a dictionary proof-reader, always a dictionary proof-reader ☺
But you missing out Shemp was a bigger deal ...

The horror!! Given the magnitude of the issue due to the omission of Shemp I'm now surprised you didn't raise a showstopper issue to get this sorted out immediately before the whole project is brought down in flames 🔥 It's now a race against time for me to correct the problem.


[FEATURE] Local username aliases

In order to more easily identify users who don't publish their real name on Keybase, the ability to assign local username aliases would be helpful.
Say, the user gargamel doesn't publish his real name, he currently appears in chats as:
gargamel 9:22AM - 11 Mar
Hi there

After setting a local username alias gargamel -> John Doe, this could be changed to:
John Doe (@gargamel) 9:22AM - 11 Mar
Hi there

The tricky part might be syncing this alias map between the clients of a user. If automatic syncs are impossible or too complicated, the ability to export the map to something like aliases.json and the ability to import it on another client would be quite sufficient – and could be shared via the private (or even team) KBFS.

I would also love to have this feature, so that when transitioning from Slack to Keybase, the userbase can still be easily aware of whom they are talking to. Even if it is just a preference, it would be fantastic.


fix domain test logfile

What does this PR do?

Fix path of installer log file in domain tests
Motivation

https://github.com/DataDog/datadog-agent/pull/23174 moved the InstallMSI call from base to the agent package so the default application of the OutputDir prefix was lost.
Additional Notes

Possible Drawbacks / Trade-offs

We could still have base add the OutputDir prefix if the logfile option is just a filename, but then passing WithInstallLogFile to suite.InstallAgent would have different behavior than  windowsAgent.InstallAgent and that seems confusing.
Describe how to test/QA your changes

/merge

/merge

/merge

/merge -c

rebase for fix for serverless size

/merge


Chore: Update Cargo.toml

I have vberified that it buils untill the selected version, pring this in to reduce complexity of downstream packaging

Will conflict with https://github.com/ChrisTitusTech/linutil/pull/811

Will conflict with #811

did not notice the pr


Nictiz 20891

Added POCT bool according to ticket request. Might need some fine tuning, for example the description?

closed, see Nictiz-20891-V2


javadoc

Hey
Is there any javadoc associated with this project?

Not at the moment, but I intend to write some. In the meantime, there is only one source file you need (org.ipfs.api.IPFS) which is very readable.

Closing as stale. The unit tests are a good place to start to see usage of api. Addtional documentation will appear soon


Feature request: Tier customization

Hi there. Would you be willing to add some customizations for tiers?  I don't know how hard this would be to add, and I realize this is an old project, so no worries if the answer is no. In order of request:

allow custom text for each tier name.
Dark mode toggle.
Choose color for tier name backgrounds.

I really like being able to use an offline tool for tier lists - thank you so much for creating this project!

Hello! Sorry for the delay
I don't have much time to continue contributing to opensource with work and life happening, however I'm open to pull requests!
Thanks for your interest in this little project, I'm glad to hear this is useful to some people


[fix][broker] Fix thread unsafe access on the bundle range cache for load manager

Background Knowledge
A concurrent hash map (no matter the ConcurrentOpenHashMap in Pulsar or the official ConcurrentHashMap) is not a synchronized hash map.
For example, given a ConcurrentHashMap<Integer, Integer> object m,
synchronized (m) {
    m.computeIfAbsent(1, __ -> 100); // [1]
    m.computeIfAbsent(2, __ -> 200); // [2]
}

m.computeIfAbsent(1, __ -> 300); // [3]

If these two code blocks are called in two threads, [1]->[3]->[2] is a possible case.
Motivation
SimpleLoadManagerImpl and ModularLoadManagerImpl both maintain the bundle range cache:
// The 1st key is broker, the 2nd key is namespace
private final ConcurrentOpenHashMap<String, ConcurrentOpenHashMap<String, ConcurrentOpenHashSet<String>>>
    brokerToNamespaceToBundleRange;

However, when accessing the namespace -> bundle map, it still needs a synchronized code block:
https://github.com/apache/pulsar/blob/1c495e190b3c569e9dfd44acef2a697c93a1f771/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/ModularLoadManagerImpl.java#L591-L595
The code above is a composite operation of clear() and multiple computeIfAbsent operations on the ConcurrentOpenHashMap<String, ConcurrentOpenHashSet<String>> object.
So the other place that access this map also requires the same lock even if the operation itself is thread safe:
https://github.com/apache/pulsar/blob/1c495e190b3c569e9dfd44acef2a697c93a1f771/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/ModularLoadManagerImpl.java#L882-L886
P.S. SimpleLoadManagerImpl does not apply the synchronized block.
However, when accessing brokerToNamespaceToBundleRange in the static methods of LoadManagerShared, they are not synchronized. So the access on the Map<String, Set<String>> value is not thread safe.
Modifications
Add a BundleRangeCache abstraction to provide some methods to support required operations on the bundle range cache.
Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository:

A concurrent hash map (no matter the ConcurrentOpenHashMap in Pulsar or the official ConcurrentHashMap) is not a synchronized hash map.

@BewareMyPower btw. not the same same, but might be useful information: Some map implementations don't have an atomic computeIfAbsent implementation, for example ConcurrentSkipListMap. Issue #21301 was about that.

Some map implementations don't have an atomic computeIfAbsent implementation

A more accurate description is that the ConcurrentSkipListMap does not guarantee if mappingFunction argument is called the computed value must be inserted to the map.
Given the following example:
Thread 1:
final var result1 = map.computeIfAbsent("key", __ -> {
    System.out.println("value1");
    return "value1";
});

Thread 2:
final var result2 = map.computeIfAbsent("key", __ -> {
    System.out.println("value2");
    return "value2";
});

There is a case that both "value1" and "value2" are printed but result1 and result2 are the same ("value1" or "value2").
However, it's expected because the Java Language Specification only guarantees the happens-before relationship on concurrent collections, see https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/package-summary.html#Weakly

The methods of all classes in java.util.concurrent and its subpackages extend these guarantees to higher-level synchronization. In particular:

Actions in a thread prior to placing an object into any concurrent collection happen-before actions subsequent to the access or removal of that element from the collection in another thread.

Let's simplify and extend the example above.
Thread 1:
final var result1 = map.computeIfAbsent("key", __ -> "value1"); // A
final var result3 = map.get("key"); // C

Thread 2:
final var result2 = map.computeIfAbsent("key", __ -> "value2"); // B
final var result4 = map.get("key"); // D

There are only two possible cases for the ConcurrentSkipListMap (and ConcurrentHashMap): value1 and value2. If it's value1, then we will have A happens-before B because the behavior is just like:

A inserted "key -> value1" and succeeded
A returned "value1" because it's inserted
B inserted "key -> value2" and failed
B returned the existing value "value1"

The "concurrent" hash map only guarantees B could not return a value other than "value1". Because the last write operation before the read operation of B is A so B could only see "value1" written by A.
Besides, the concurrent map only guarantees:

result3 is "value1" because A happens-before C, A reads "value1" and there is no other write operation between A and C
result4 is "value1" before B happens-before D, B reads "value1" and there is no other write operation between B and D

A more accurate description is that the ConcurrentSkipListMap does not guarantee if mappingFunction argument is called the computed value must be inserted to the map.

@BewareMyPower Yes, I agree. I mentioned it since #21301 has been an issue in the past.

BTW, the API document in ConcurrentSkipListMap#computeIfAbsent is clear for this behavior:
     * The function
     * is NOT guaranteed to be applied once atomically only
     * if the value is not present.

It's required by the Map#computeIfAbsent API documentation:
     * In particular, all implementations of
     * subinterface {@link java.util.concurrent.ConcurrentMap} must document
     * whether the mapping function is applied once atomically only if the value
     * is not present.

Here is the document for ConcurrentHashMap:
     * The supplied
     * function is invoked exactly once per invocation of this method
     * if the key is absent, else not at all.  Some attempted update
     * operations on this map by other threads may be blocked while
     * computation is in progress, so the computation should be short
     * and simple.
     *
     *
The mapping function must not modify this map during computation.

I believe many calls of ConcurrentHashMap#computeIfAbsent are not proper (not short and simple) or even wrong (trying to modify the map) in Pulsar, but it's another topic.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 74.54%. Comparing base (bbc6224) to head (99598f6).
Report is 548 commits behind head on master.

Additional details and impacted files

@@             Coverage Diff              @@
##             master   #23217      +/-   ##
============================================
+ Coverage     73.57%   74.54%   +0.97%
- Complexity    32624    34233    +1609
============================================
  Files          1877     1923      +46
  Lines        139502   144762    +5260
  Branches      15299    15838     +539
============================================
+ Hits         102638   107918    +5280
+ Misses        28908    28577     -331
- Partials       7956     8267     +311

Flag
Coverage Δ

inttests
27.67% <56.00%> (+3.08%)
:arrow_up:

systests
24.64% <56.00%> (+0.32%)
:arrow_up:

unittests
73.90% <100.00%> (+1.06%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files
Coverage Δ

...lsar/broker/loadbalance/impl/BundleRangeCache.java
100.00% <100.00%> (ø)

...sar/broker/loadbalance/impl/LoadManagerShared.java
74.15% <100.00%> (-1.57%)
:arrow_down:

...roker/loadbalance/impl/ModularLoadManagerImpl.java
83.49% <100.00%> (-1.49%)
:arrow_down:

...broker/loadbalance/impl/SimpleLoadManagerImpl.java
75.59% <100.00%> (+4.70%)
:arrow_up:

... and 539 files with indirect coverage changes


High CPU useage

Looking for something else but noticed that dotnet onedrive-backup.dll fluctuates from 0.7 to 1.3% continuously on my RPi5 (htop).
No change whether I disable/enable the following:
Either Telemetry
File Sync
Watchdog
Hours enabled.
Side Menu
Logging Level
Really should not use any CPU when idle and not actively doing anything.

There is also a web server that's always running to service the addon UI. I can't say if this is the reason for what you're seeing but other than the server for the UI, the only other business logic  running periodically is a check once a minute on the backup / file sync status - if nothing needs to be done it quits the cycle.
I don't know if part of that infra is causing this or if this is something specific on your system although I'm not sure I'd say this is "High" CPU usage.
What do you see in Home Assistant in the Addon main page? On my machine it is showing 0 CPU usage when idle.

Add on page right now is showing 0.3% cpu use.
Maybe yours is zero if you are using a machine much faster than a pi5?

Yes that's a reasonable assumption. But since the addon is always doing "something" as a web server is running, it will never be complete zero. Maybe that's the diff with your cpu.

That could be the reason, would you consider an option to be able to stop the web server?
I generally don’t need to look at the interface and could start/stop it when I need to. I know it’s a small amount of cpu usage, but I try hard to keep my server running the minimum required cpu cycles and I only need the backup running when it runs once each day.

I think I found the culprit.
https://community.home-assistant.io/t/folders-repeating-themself-in-core-when-accessing-via-samba/587573
My media folder was infinitely recursing and OneDrive backup was syncing it forever deeper.
I have removed the share and link and cpu seems to be back to zero.


(internal) release_patch: build v5.3.12303

Test plan: automated release PR, CI will perform additional checks

:green_circle: Internal release is ready for promotion!
:warning: Do not close/merge the pull request or delete the associated branch if you intend to promote it.

:green_circle: Release has been promoted, see tag: https://github.com/sourcegraph/deploy-sourcegraph-k8s/tree/v5.3.12303.
:no_entry: Do not under any circumstance delete the branch holding the tagged commit (i.e. release-v5.3.12303).
:arrow_right: You can safely close the PR and delete its a associated branch.


basis.get_elements()

Now that basis.get_dofs() is coming along.... can we add basis.get_elements()
The use case is
https://github.com/kinnala/scikit-fem/blob/08a695dc46bb6801b51c45bafd35d86b9b87b8cd/docs/examples/ex17.py#L56-L58
But what if I don't have labeled subdomains?
I propose that we could
sigma = basis.zeros_like('elements')
copper_area = basis.get_elements(lambda x: x[0] < 0.5)
sigma[copper_area] = 5.96e7 # S/m

with a function very similar to get_dofs.
This sigma is easily plotted with matplotlib.pyplot.tripcolor(..., facecolors=sigma), but can it be passed to the Forms? Is it easy to use as the coefficient for Laplace equation?

I feel this is a bit hacky though. zeros_w is not really needed anymore but I don't feel zeros_like is needed either.
You should initialize another Basis with ElementTriP0 (piecewise constant function) and then zeros will give you the correct shape. There is Mesh.elements_satisfying so the second step already exists.
If you want to use sigma inside a form, then you make sure both Basis objects have the same number of integration points. Easiest way is to initialize the P0 basis like basis0=basis.with_element(ElementTriP0()). Then you can simply call basis0.interpolate(sigma) and pass the resulting object to assemble as a kwarg.


OIDC auth in 0.16.2 fails with "Failed to decode id token claims"

Bug description
After upgrading from 0.16.0 to 0.16.2 users are unable to authenticate using azure oidc, they get the error Failed to decode id token claims
In the logs is the following error:
Aug 16 14:16:32 <machinefqd>  headscale[1125980]: 2022-08-16T02:16:32Z ERR home/runner/work/headscale/headscale/oidc.go:324 > Failed to decode id token claims error="json: Unmarshal(non-pointer headscale.IDTokenClaims)"

Is this related to the changed line in oidc.go? 	if err := idToken.Claims(claims); err != nil {
To Reproduce
Have a user log out of the tailscale client then reauthenticate, using Azure AD OIDC. When the browser window opens it will attempt to auth via AAD and fail with the above error.
Context info
Headscale version 0.16.2.
tailscale client version 1.28.0

Just had the same issue here with a previously working keycloak instance.

Yup, I have the same issue as well on 0.16.2, and am getting the same error message.
I'm using OIDC with Google OAuth.
Is there some workaround we can use for now, or is this relatively easy to patch?

I went back to 0.16.1 and did have the same error, so went back to 0.16.0 and was able to  login correctly.

Hey people, we have merged a fix in main already.

I'm willing to try - is there a place we can download latest built binaries? (AMD64 in my case).

Still using docker and some Kubernetes for all of my infra, so not so easy to try without a pre-release docker img (which I appreciate is a hassle to create each time).

I built the main repo and updated.
When logging a user out (windows client) and then logging back in via oidc azure AD, I get the error
Aug 18 09:49:46 <headscalehost> headscale[1601506]: 2022-08-17T21:49:46Z DBG Machine registration has expired. Sending a authurl to register machine=<machine name>
Deleting the machine (which headscale nodes list says is expired?) and then reauthenticating works OK.

@kyhwana thanks for checking out. I will close this issue and open a new one on the registration.


Disable babel via --no-babel flag

I'm wondering if it's possible to disable Babel "transpilation" phase when I run AVA.
I'm using Node 5.x which already has all ES6 features that I need to use.

Nope, not at the moment. I was also wondering whether we should have an ability to turn off babel. I think we should leave it as a feature request.

Cool, thanks for the reply @vdemedes.

@ghpabs That is invalid. Use let if you want to reassign the variable. Nothing to do with Babel.

Hi @sindresorhus, I don't believe it's invalid JS - at least not in Node from what I can see.
Try running the following code in the Node REPL.
const foo = 7;
foo = 15;
console.log(foo);
//=> 7;

No errors were thrown.
Ps. Maybe this piece of code is only adding complexity to the issue. The original intent for this ticket was the question around disabling Babel.
Thanks!

It's true that it works in sloppy mode (which the REPL is running in), but you should really not depend on that. It's the wrong use of const and it's not future proof. It will not work in strict mode or ES2015 modules, which implicitly run in strict mode.
❯ node -e "'use strict';const foo = 7;foo = 15;console.log(foo);"
[eval]:1
'use strict';const foo = 7;foo = 15;console.log(foo);
                               ^

TypeError: Assignment to constant variable.

The whole point of const is creating an immutable binding. If you want const with mutable binding it's pretty much exactly let.

Not derailing this issue. We'll consider you request. Just wanted to point it out to you.

Great, thanks for taking the time to explain it. Love your work.

We've talked it over and decided that a --no-babel flag is an acceptable (if possibly temporary) fix. It's going to slow things down a lot. Especially for npm@2 users. Any PR should include documentation warning that npm@3 is highly recommended with that flag.

@jamestalmage: I'll take that on, I need something to do on the plane
tomorrow.
On Fri, Jan 15, 2016 at 2:04 PM James Talmage<EMAIL_ADDRESS>wrote:

We've talked it over and decided that a --no-babel flag is an acceptable
(if possibly temporary) fix. It's going to slow things down a lot.
Especially for npm@2 users. Any PR should include documentation warning
that npm@3 is highly recommended with that flag.
—
Reply to this email directly or view it on GitHub
https://github.com/sindresorhus/ava/issues/424#issuecomment-172107059.

@ariporad :+1:

Any updates on this one @ariporad?

#448 should let you specify an empty babel config. If I'm not mistaken this makes Babel a no-op, achieving the same as a --no-babel flag.
@sindresorhus I suppose we could close this in favor of #448? Could make a new issue for documentation purposes.

Yes, let's close it in favor of https://github.com/sindresorhus/ava/issues/448#issuecomment-190286370, which should handle that.


Update authors.yml

Update the 'default' to personal website

Hi @Haotian-Zhang, this repository is for the template that others will fork to make their own websites, so it shouldn't include any specific author information. I think you intended for these changes to be made to your own repository. I'm going to close this PR, but if you think I'm mistaken, please re-open and let me know.


Integration Test - Release - 2020/08/12 09:58:27

Auto create for integration test. AnotherAuthorUpdatedArticleFlow

@PRMergerTest3 : Thanks for your contribution! The author(s) have been notified to review your proposed change.


SMS OTP page not loading with tenant qualified url

Describe the issue:
Enable enable_tenant_qualified_urls to true through deployment.toml file.

Once configured the sms otp after the basic authentication redirecting to the following page.

How to reproduce:

Configure SMS OTP as an identity provider
Create a service provider and configure OIDC protocol with a basic authenticator as 1st step and SMS OTP as the second step
Call the URL https://localhost:9443/t/wso2.com/oauth2/authorize?response_type=code&client_id=3JFfniMvG4b5SsebzMoFXb0ftLoa&redirect_uri=http://wso2is.local:8080/playground2/oauth2client&scope=openid. You should change the parameters according to your configuration.
Basic authentication will be shown. Once enter the correct credential you will be redirected to the above page mentioned in the description.

Expected behavior:
Successfully redirected to the SMS OTP page.
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: [IS 5.11.0-alpha]
OS: [Linux]
Database: [Postgres]
Userstore: [JDBC]

The initial issue of not redirecting to the SMS OTP page is fixed. There are few more improvements to make the SMS OTP connector fully functional with the tenant-qualified URL mode.
These are tracked with https://github.com/wso2/product-is/issues/10947

The initial issue of not redirecting to the SMS OTP page is fixed. There are few more improvements to make the SMS OTP connector fully functional with the tenant-qualified URL mode.
These are tracked with https://github.com/wso2/product-is/issues/10947


Analyzer should warn when using UI as code features with an SDK constraint that does not guarantee support

Similar to #36024 but for the "UI as code" feature

The latest information I have from the Dart scrum team is that the first version of Dart with "UI as code" features enabled will be 2.2.2, so we should implement the warning so that it fires if the user's SDK constraint includes versions prior to 2.2.2.
If we change our minds and decide to ship 2.2.2 without "UI as code" features enabled by default, we can update the warning accordingly before doing so.

https://dart-review.googlesource.com/c/sdk/+/96837

Fix was reverted in 0f4a208c3ea2ba8ac5c91a227177a8eab53d9f05

Fix was re-landed in 495c319574843fa83e9c474961cf51498a0d874a

I would prefer if we do not release significant new features in point-releases of the SDK.
The UI-as-code features are scheduled for Dart 2.3. Can we keep them behind a flag until then?
Or at least until a 2.3.0-rc1?

This issue being closed only means that when the experiment is enabled that analyzer will tell users if their SDK constraints are not high enough. The experiment is not enabled by default in analyzer; that will happen when it happens everywhere else.

Ah, makes sense. Carry on! :)


How would one go about animating custom cosmetics before exporting to .cosmetics?


minor comments

It would help to show a second example where the structs are not parameterized.
The macro name @extends is applied to the struct that is-an-extension-of another struct; @extended would be clearer.
Likewise, the module could be ExtendedStructs.jl. up2you.

Hey, thanks for the comments, will get a non-parametric example in there.
Regarding the name, I'm not in love with the current name, but somehow @extended is no less ambiguous to me, maybe even more, because unlike extends which is only a verb, extended is both a past tense verb and an adjective, as in "Bar extended Foo" (good) or "Bar is extended" (bad, Foo was extended to produce Bar). I think I mainly went with this choice inspired by Java, not thats a great reason at all.
Another idea is @component struct ... and ComponentStructs.jl, mirroring the not-dissimilar ComponentArrays.jl? Or maybe some other adjective modifying "struct" rather than either of "Foo" or "Bar", so that its not ambiguous.

CompositeStructs.jl @composite


Create an immutable EntityCollection<T: Entity>

Create an immutable EntityCollection<T: Entity>

Author(s): Evertt
Status: Awaiting review

Introduction & Motivation
I understand that most frameworks use an Active-Record style of ORM, because it's just the easiest to understand and get started with. The Data-Mapper ORM, while being very useful for separating concerns in bigger projects, is also more complicated to learn and more work to get started with. So I propose a middle way, using EntityCollections.
Proposed solution
As far as the developer is concerned, the EntityCollection<T: Entity> is precisely a collection of a certain type of Entity which they can iterate over and which has some convenient functions to further filter-down the collection based on some conditions.
Underneath however, the collection can be smart about optimizing when it uses the Query class to get the entities it needs or whether it works with the entities it has already loaded in memory.
Also I recommend we make the EntityCollection completely immutable, so that every time you add a new filter, it just returns a new instance of Self with the new filter applied.
Code snippets
class UsersController {
    let app: Application
    let users: EntityCollection<User>

    init(app: Application, users: EntityCollection<User>) {
        self.app = app
        self.users = users
    }

    func someAction(request: Request) -> ResponseRepresentable {
        let adultUsers = users.filtered(by: "age" > 18)
        // `adultUsers` is now a new instance of EntityCollection<User>,
        // and `users` itself is unchanged.
        // And the database has not been queried yet.

        for user in adultUsers {
            // Only now that we started iterating over adultUsers,
            // will the class start querying the database.
            // The collection can optimize how often to query the DB, what batch-sizes to use,
            // and the developer does not need to know about any of that.
            user.active = false
            app.email(user).with(template: "kids-hour.html", data: ["name": user.name])
        }

        // Any DB-related methods can only be called on the collection,
        // not on the entities themselves.
        adultUsers.save()

        return Json(["status": "ok"])
    }
}

Of course the developer is free to extend EntityCollection to add their own convenience methods:
class UserCollection: EntityCollection<User> {
    func getAdultUsers() -> Self {
        return filtered(by: "age" > 18)
    }
}

Although I'm not sure yet whether to do it like that, or to use a protocol:
protocol EntityCollection: Collection {
    associatedtype T: Entity

    internal var entities: [T] { get set }
    internal var query: Query<T> { get }

    init(_ query: Query<T>)
}

extension EntityCollection {
    func filtered(by filter: Filter) -> Self {
        return Self(query.filter(by: filter))
    }

    func sorted(by column: String, _ direction: Direction) -> Self {
        return Self(query.sort(by: column, direction))
    }

    // Here we could add all the code necessary for conforming
    // to the Collection protocol, like subscripts and whatnot.
}

class CollectionOf<T: Entity>: EntityCollection {
    let query: Query<T>

    init(_ query: Query<T>) {
        self.query = query
    }
}

class UserCollection: EntityCollection {
    let query: Query<User>

    init(_ query: Query<User>) {
        self.query = query
    }

    func getAdultUsers() -> Self {
        return filtered(by: "age" > 18)
    }
}

Another interesting thought
Doctrine's EntityManager has a flush() method which basically means that all of the creating and updating of entities is queued and won't be executed until you call flush(). That way EntityManager can figure out how to persist all changes with as few queries as possible.
 But right now I'm doing more or less the same thing when I call adultUsers.save(). But what if we would use the deinit {} method for that? If EntityCollection automatically persists when it's deallocated then you can truly use it as any other collection without having to worry about how and when to persist to the DB.
And of course we could add a method or variable with which you can prevent this behavior like users.persistChanges = false or whatever. The point is that I think it will probably be much more common that you do want to persist changes than that you don't want to persist changes. But I'm not 100% sure about that, so maybe we'd need to try it out in an example project.
Impact
This is strictly additive.
Alternatives considered
Either only supporting Active-Record style ORM, which I really don't prefer. Or building a full-fledged Doctrine-like DataMapper style ORM which I think costs a lot of time and energy and I'm not sure if the pay-off is that much better than this proposed solution.
Decision (For Moderator Use)
On [Date], the community decided to (TBD) this proposal. When the community makes a decision regarding this proposal, their rationale for the decision will be written here.

This looks interesting. We definitely need something like:
class UserCollection: EntityCollection<User> {
    func getAdultUsers() -> Self {
        return filtered(by: "age" > 18)
    }
}

But I wonder if it would make more sense in syntax to call
let adultsNamedJohn = User.adults.filter("name", .equals, "john").all()

Where it would look something like:

extension User {
    var adults: Query<User> {
        return User.filter("age", .greaterThan, 18)
    }

But I wonder if it would make more sense in syntax to call

let adultsNamedJohn = User.adults.filter("name", .equals, "john").all()

Where it would look something like:
extension User {
    var adults: Query<User> {
        return User.filter("age", .greaterThan, 18)
    }
}

For me that makes less sense, because I see User and UserCollection as two very different things. UserCollection represents the users-table and has knowledge about all the rows in the table. A User represents a single row on the table and so should have no knowledge about the other rows in the same table. That's why only a UserCollection can be responsible for filtering and sorting the table, not the User.
Of course you could do it like you said. Again, that is indeed how Active Record style ORMs work. However, the reason I created this proposal is exactly because I want to move away from a 100% Active Record style ORM. Because it breaks SOLID principles which eventually makes for messier code that's harder to maintain.

Well the implementation I had for Fluent before removing to get out a stable build was to add the one to one, one to many, many to many, methods that Entity should use for these situations. For example ...
       return self.hasMany(Comment.self)
}```

This would essentially run `Query<User>` in the back giving your a collection or an empty collection of Comments. This would also remove the need for another struct/class with a protocol. You can have a more clean looking Model/Entity setup

@Prince2k3 funny I made a similar proposition here.
And yes that does allow for some pretty syntax in the entity I agree. So yes I myself am a bit confused about what to do with that. On the one hand I really really want to honor SOLID principles, because it makes code so much more maintainable and making the Entity responsible for fetching other entities breaks that principle. On the other hand I do really really like that syntax for expressing entity-relationships.
So I'm leaning towards doing a bit of both, even though that might seem a bit hypocritical. And by doing a bit of both I mean AND allowing that syntax for expressing relationships AND for all the other stuff using the EntityCollection to handle anything table-related.

Could be put in the Model since that is what it does anyway. I feel there would really be a no need to do EntityCollection since Query class does the hard work already. For instance before the decision to pull out the code for doing Model Association. it looked like this
 public func hasOne<T: Model>(table: T.Type, foreignKey: String? = nil) -> T? {
        let q = Query<T>()
        let fkey = foreignKey ?? "\(Self.entity)_id"
        return q.with(fkey, .Equals, id!).first()
    }

    public func hasMany<T: Model>(table: T.Type, foreignKey: String? = nil) -> [T]? {
        let q = Query<T>()
        let fkey = foreignKey ?? "\(Self.entity)_id"
        return q.with(fkey, .Equals, id!).all()
    }

    public func belongsTo<T: Model>(table: T.Type, foreignKey: String? = nil, otherKey: String? = nil) -> T? {
        let q = Query<T>()
        let fkey = foreignKey ?? "\(table.entity)_id"
        let other = otherKey ?? "id"
        return q.with(other, .Equals, fkey).first()
    }

I totally disagree with the need to create EntityCollection.

I think these will work best added onto the model itself.
extension User {
    var adults: Query<User> {
        return try query().filter("age", .greaterThan, 18)
    }
}


Can't initialize keras.Model based network with tf.train.init_from_chekpoint

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary):
TensorFlow version (use command below): git master
Python version: 3.6
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:
GPU model and memory:
Exact command to reproduce:

You can collect some of this information using our environment capture script:
https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh
You can obtain the TensorFlow version with
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
Describe the problem
We are trying use tf.keras.Model as a base class for our neural network. So far, with slim based network we have used tf.train.init_from_checkpoint to warm start the training.
But, it seems that the current version of tf.train.init_from_checkpoint doesn't play well with keras.Model. Probably because under the hood, tf.train.init_from_checkpoint calls variable_scope._get_defautl_variable_store() which doesn't know variables created with keras objects.
Below a snippet of code to illustrate this problem
Source code / logs
import tensorflow as tf

from tensorflow.python.ops import variable_scope as vs

net = tf.keras.Sequential([
    tf.keras.layers.Dense(10, name='fc1')
])

x = tf.random_uniform([10, 3])
y = net(x)

# all variable are created
vars = tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES)
for v in vars:
    print(v.name)

# but variable scope doesn't see them
# then no variable to initialize for tf.train.init_from_checkpoint
var_store = vs._get_default_variable_store()._vars
print(var_store)

@jrabary Hi, are you getting any error or does the system not respond without any error? Could you post the error message if you get it.

@harshini-gadige Hi, no there is no error. But the variable are not initialized. I know this because I set the logging to DEBUG in order to see which variables are initialized in the logs.
The good news is that I can initialize my network tf.estimator.WarmStartSettings.

@fchollet  Any suggestions or explanation on why the network cannot be initialized with tf.train.init_from_checkpoint

@jrabary  How about use the native methods of tf.keras.Model, say load, load_weights or set_weights?

@facaiy Need to figure out how to use load_weights since we are using tf.Estimator to optimize the model. This is because we also have old models coded with slim so we just don't want to change everything.

I'm afraid that the graph built by tf.Estimator is quite different from the one built by keras, so you have to resolve those details by yourself.  Even if tf.train.init_from_checkpoint could support tf.keras, it still won't work as you expected.
If you really need it, I think you can load all variables with  tf.train.load_variable, and then assign them one by one with set_weigths method of your keras model. By the way, you can get all variable by get_weights method.

Nagging Assignee @fchollet: It has been 15 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

It is a big problem
MNIST tutorial with tf.Estimator says us to use keras Model for architecture creation task
But if we wanna restore and fine tune tf Estimator, the best way to do it is tf.train.init_from_checkpoint
And it is troubling situation, when you train model and waste time to restore

I always check that error is within tensorflow
tf.python.ops.variable_scope has a function variable()
Which has a strange initializer after creation

https://github.com/tensorflow/tensorflow/pull/23110
Fixed this problem as commit
It requires testing all framework with this updater
My local tests has been completed

Nagging Assignee @fchollet: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @fchollet: It has been 31 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @fchollet: It has been 45 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

@jrabary Is this still an issue?
I tried to replicate the issue and faced AttributeError. TF version 1.x is no longer actively supported so we recommend you to kindly  upgrade  to latest TF versions,please refer to this link.
Thanks!


Using with GetServerSideProps

Hello.
This question is kind of documentation request.
I coldn't find in example project how to load translation catalogs in getServerSideProps.
Just want to make sure I'm doing it in right way:  is it OK for production code just to load translations messages using await import(''); inside getServerSideProps? Or there some better/faster alternatives?
export const getServerSideProps: GetServerSideProps = async ({
    req,
    query,
    resolvedUrl,
}) => {

    const locale = getLocaleFromPath(req); // will extract "de" from "/de/products/product-name"
    const { default: messages = {} } = await import(`../../translations/${locale}.json`);
    return {
        props: {
             messages: messages
         }
    };
};

Thanks.

await import(''); is translated to file-system call. It isn't cached. If you need a faster way I prefer to load your locales beforehand.

await import(''); is translated to file-system call. It isn't cached. If you need a faster way I prefer to load your locales beforehand.

Thanks. I thought about it.
Since next.js allows write server side code in getServerSideProps and imported modules used in this method will not be included to final bundle, I ended up with this:
//intl-locales-loader.js
const fsPromises = require('fs').promises;

const messagesCache = new Map();

export async function getMessagesCatalogByLocale({
    locale,
    forceRefreshCache = false,
}) {
    if (forceRefreshCache || !messagesCache.has(locale)) {
        const jsonFile = await fsPromises.readFile(
            `${__dirname}/../locales/${locale}.json`,
            'utf8'
        );

        const json = JSON.parse(jsonFile);
        messagesCache.set(locale, json);
    }

    return messagesCache.get(locale);
}

@IskanderMustafin that assumption was wrong! Next.js bundles it and subsequent calls are cached. You can easily test it by checking the current and previous data with ===.

@StarpTech so I means I can continue using await import(`../../translations/${locale}.json`);
 insidegetServerSideProps` without any performance penalties, right?

Yes, but I don't know what means performant in your use case.


feat: add fragment take / fixed-size-binary support to v2 format

This also enables a lot of tests to run on both the v1 and the v2 format

Leaving in draft until base PR https://github.com/lancedb/lance/pull/2344 is addressed

Codecov Report
Attention: Patch coverage is 92.41877% with 42 lines in your changes are missing coverage. Please review.

Project coverage is 79.94%. Comparing base (648adf8) to head (040de9f).
Report is 3 commits behind head on main.

Files
Patch %
Lines

rust/lance-encoding/src/encodings/logical/list.rs
82.53%
4 Missing and 7 partials :warning:

rust/lance-encoding/src/decoder.rs
80.55%
6 Missing and 1 partial :warning:

...ust/lance-encoding/src/encodings/logical/struct.rs
97.50%
1 Missing and 3 partials :warning:

rust/lance-encoding/src/testing.rs
89.74%
2 Missing and 2 partials :warning:

rust/lance-io/src/lib.rs
76.47%
3 Missing and 1 partial :warning:

rust/lance/src/dataset/fragment.rs
92.85%
0 Missing and 4 partials :warning:

rust/lance-datagen/src/generator.rs
90.00%
3 Missing :warning:

rust/lance/src/dataset/scanner.rs
94.44%
0 Missing and 2 partials :warning:

...-encoding/src/encodings/logical/fixed_size_list.rs
0.00%
1 Missing :warning:

...ust/lance-encoding/src/encodings/physical/value.rs
80.00%
1 Missing :warning:

... and 1 more

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2354      +/-   ##
==========================================
- Coverage   80.75%   79.94%   -0.82%
==========================================
  Files         192      192
  Lines       56367    53014    -3353
  Branches    56367    53014    -3353
==========================================
- Hits        45521    42380    -3141
+ Misses       8179     8139      -40
+ Partials     2667     2495     -172

Flag
Coverage Δ

unittests
79.94% <92.41%> (-0.82%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Update from 3.4 to 3.5

Hi is there any documentation to update react-boilerplate version 3.4 to 3.5? or should we just move all of our code to new version

There's no migration doc as of now. 3.5 has a breaking change- RRV4. Apart from that, your code should "just work".

React-router v4 is very different to v3. All the routing is defined by Components and the middleware injection is done in the container page itself - see https://github.com/react-boilerplate/react-boilerplate/blob/master/app/containers/HomePage/index.js down the bottom as an example. I would imagine that you would need to redefine how your routing structure works and then migrate components and sagas across - this is what I'm doing.

Luckily my current project still doing components things, we haven't touch containers yet, so it should be easy to migrate the base code
Why I opened this issue is because for finished (or almost finished) project it would be problematic to migrate the base code. My experiences with another base code when they have an update it would be a nightmare just to update it, so either bear with it or leave it outdated.
That's why, it would be better if there is a "how to guide" for doing this kind of things, or at least a "checklist" of things we should change
If allowed, I'll keep this issue open for others to share their experiences from migrating 3.4 to 3.5

I have been sorting out things after upgrading to v3.5 in last few days. What I did is basically the same as #1508, pull the latest base code in a separate branch and do a squashed merge. Other than routing and middleware injection, which requires a rewrite for sure, all components are functional after routing without any change. That's amazing.
Also, I want to second @archansel that updating the base code is a fairly tedious work. It would be nice to see a create-react-app like package that can be updated with npm, though it requires quite a bit work to get there.

Even though I'm still playing with components, migrating from v3.4 to v3.5 still not simple. I end up comparing my project with v3.5 and copy/change all necessary files. I hope I don't miss a thing :D

I track the master branch and keep a note of which commit I'm at. I just save the link like this:
https://github.com/react-boilerplate/react-boilerplate/compare/d1f85c506161cc4df421a38ea793167be4c23455...dev
After I'm done updating I change the commit in that link.

I successfully updated from v3.4 to v3.5:

Manually merge package.json.

This task takes the most time. I went through each package upgrade, if it's a major, I referred to the package's CHANGELOG for breaking changes. I would then decide whether or not I want to update. For example, I decided not to upgrade to react-router v4.

Replace server, internals, and docs with new version.

Closing due to inactivity


Adds "odo service create --context" feature

What is the purpose of this change? What does it change?

This PR enables the users to create a service with odo service create --context /path/to/component/dir command. This allows service creation from anywhere in the system.
Was the change discussed in an issue?
fixes #1872

How to test changes?

Build the binary
Using nodejs-ex as an example, perform following:$ git clone https://github.com/sclorg/nodejs-ex /tmp/nodejs-ex
$ cd /tmp/nodejs-ex
$ odo create nodejs
$ cd # this takes you to home dir
$ odo service create dh-postgresql-apb --plan dev -p postgresql_user=luke -p postgresql_password=secret -p postgresql_database=my_data -p postgresql_version=9.6 --context /tmp/nodejs-ex

# Use the --context from /tmp/nodejs-ex/ to list the service
$ odo service list --context /tmp/nodejs-ex

# Use the --context from /tmp/nodejs-ex/ to delete the service
$ odo service delete --context /tmp/nodejs-ex

# Bonus points for testing with --app and --project flag along with --context
# I think the project should exist on the cluster. If app doesn't exist, odo will create it.
$ odo service create dh-prometheus-apb --plan ephemeral --context /tmp/nodejs-ex --app myapp --project myproject

I'll add tests for failure scenario. Missed adding that in the initial PR.

I'll add tests for failure scenario. Missed adding that in the initial PR.

Added this as well as added --context flag to odo service list and odo service delete commands as that seemed like a logical thing to do since we're adding the flag to odo service create command.

code wise LGTM
I will wait for CI and then approve it :smile:

/retest
(travis failed due to a flake)

Made changes as per @amitkrout's review feedback.
@kadel @girishramnani @mohammedzee1000 @cdrage can I please have a review on this? I have already demo'd this and have made numerous requests in the past on slack for reviewing this!

Travis is failing
/hold

/test integration

/hold cancel

/approve


⚠ Bofrost.at has degraded performance

In be2626e, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1018 ms

Resolved: Bofrost.at performance has improved in 707d99b.


Added Circle CI integration to run Android unit tests

A few caveats before accepting:

Do I need to squash commits?
Need to set up new Circle CI account connected to FB react-native repo
After that replace tokens and links to the new ones

Setting up Integration tests should be straight forward next week https://circleci.com/docs/android

Looks like this might work:

This is huge! :rocket: :tada:

@facebook-github-bot shipit


Separate env.listen error callback

env.listen(port, cb) has previously taken a single callback cb that is
invoked both when there are incoming connections to the listening socket
as well as for errors, in which case the callback was called with a None
argument. This is confusing, bad, bla bla. Better to have a separate
callback, which we are now introducing, so the new signature is:
env.listen(port, cb_on_connect, cb_on_error)

An error when trying to establish the listening socket will now be
reported by calling the callback function provided via cb_on_error.
There's a new test case to cover precisely this test case.
Fixes #471.

@nordlander can you please have a look at this to see if it makes sense? or perhaps @sydow ? :)

@nordlander is ok with this as per video call, merging.


Wrong bibcite commands with pdflatex

Hi, great to see that there will be robust CSL support in LaTeX because that is something that non-mathematician users have been asking for for a long time.
I have an issue when trying to compile the example with pdflatex: the .aux file looks like this,
\relax
\bibstyle{molecular-ecology}
\bibdata{example.bib}
\citation{{}{}{ITEM-1}}
\citation{{}{}{ITEM-1,ITEM-2}}
\citation{{}{ 6}{ITEM-1}}
\citation{{prefix }{ suffix}{ITEM-1}}
\citation{{}{ suffix}{ITEM-1}}
\citation{{prefix }{}{ITEM-1}}
\bibcite{ITEM-1}{(D\OT1\textquoteright Arcus 2005)}
\bibcite{ITEM-1,ITEM-2}{(D\OT1\textquoteright Arcus 2005; Bennett 2009)}
\bibcite{ITEM-1}{(D\OT1\textquoteright Arcus 2005 p. 6)}
\bibcite{ITEM-1}{(prefix D\OT1\textquoteright Arcus 2005 suffix)}
\bibcite{ITEM-1}{(D\OT1\textquoteright Arcus 2005 suffix)}
\bibcite{ITEM-1}{(prefix D\OT1\textquoteright Arcus 2005)}
\gdef \@abspage@last{1}

with apparently encoding-related parts, and then obviously pdflatex complains about the command \OT being undefined. No issue when using lualatex though.

Thanks! I can reproduce this bug with TeX Live 2021. I'll fix it later.

It should work fine now. The latex2e code \immediate\write\@auxout is replaced with latex3 \iow_now:Nn \@auxout so that the \OT1\textquoteright can be avoided.

Works for me, thanks!


Force letter-spacing to be normal

I've seen a few sites that globally set a wider or narrower letter-spacing, so this forces it to normal.

Awesome. Thank you. I'll do a release soon with this.

released v1.11


Merge pull request #1 from ifcaro/master

Sync Merge with Ifcaro
Pull Request checklist
Note: these are not necessarily requirements

[ ] I reformatted the code with clang-format
[ ] I checked to make sure my submission worked
[ ] I am the author of submission or have permission from the original author
[ ] Requires update of the PS2SDK
[ ] Requires update of the gsKit
[ ] Others (please specify below)

Pull Request description

Whoops!  Ignore! :D


Orianna Bot doesn't respect Discord nicknames

In Discord, if the option is enabled, it's possible for people to change their nickname. Orianna Bot should use that nickname within the server.
For example:

This should be fixed in Orianna v2, which went live last week. Let me know if it still applies.


Question about repository status

I'm curious about about how this project is related to github.com/google/uuid.  It would appear that this is a fork of that project (or vice versa), and pborman seems to be an admin to that repo as well, but I'm not sure if one of these repos should be considered more "official" than the other.  Would anyone be able to offer some clarification?

My understanding was that it was his project and hosted there. I assumed some policy change required that he move it out of there. It looks like google might be making an "official" uuid package that is still experimental.

Sorry, I was changing jobs this spring/summer.  And yes, I am the author of both versions, and neither is going away.  The google one came much later and was the result of discussions about the benefits of using an array rather than a slice (an array is comparable) as well as a note from a lawyer (no legal issues, don't worry).  The result was I ended up copying the code into the google tree and changed from a byte slice to an array.
While I like having UUIDs being an array rather than a slice, this package (the slicer version), is more popular.  As of this spring it was also the most widely used inside of Google.  (I expect that is still true).  In hind sight I should have either not created the google one (see lawyer) or I should not have changed it to an array, in which case the packages would be identical.
The Array type in this package is compatible with the UUID type in the google package.
I will be updating this version to leverage the google version where appropriate, in particular, around the clock and node code.  This will reduce the amount of duplicated code a bit.


accessor properties not supported in IE8

Accessor properties are used in parser.js which is not supported in IE8.
get algorithm() {}
get keyId() {}
Can u pls replace this with another approach?

Fixed by 95925dc


regression, replace-provider broken in 0.35.7 and later

This is a similar issue to issue https://github.com/gruntwork-io/terragrunt/issues/1545 , using tgswitch I narrowed down that it works correctly in version 0.35.6, but is broken in 0.35.7 later, throwing the following error when trying to run replace-provider on phpipam.
Error: Failed to install provider

Error while installing hashicorp/phpipam: provider registry
registry.terraform.io does not have a provider named
registry.terraform.io/hashicorp/phpipam

Error: Failed to install provider

Error while installing -/phpipam: provider registry registry.terraform.io does
not have a provider named registry.terraform.io/-/phpipam

ERRO[0008] 1 error occurred:
        * exit status 1

Hi @tmashos, can be shared example HCL/Terraform files, executed terragrunt command

Hi @denis256 ,
I actually found the above error was from trying to have multiple terraform {} blocks. When I move it back to a single block, I get the exact same error as in the other thread.


Move reveal button icon styles from core styles to the default theme

Having the icon styles in the core styles makes it more difficult to override them in a new theme, as the core styles come after the theme in the source order, so the theme needs to use more specific selectors to override them.
Also, these are purely aesthetic aspects of the component, so they should be in the theme.
It is still very easy for a developer to get those styles in their own theme if needed, by including the default theme in their own theme:
<dom-module id="valo-password-field" theme-for="vaadin-password-field">
<template>
<style include="vaadin-password-field-default-theme">
…
</style>
</template>
</dom-module>

This change is

 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.

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable


Failed to download zendframework/zend-uri

Installing zendframework/zend-uri (dev-develop ed906be)
Failed to download zendframework/zend-uri from source: Could not delete /home/vagrant/projects/web/zf2/opevere/vendor/zendframework/zend-uri/.git/objects/pack/tmp_pack_9zExI7:
Now trying to download from dist

Check the permissions of your vendor directory. If you continue to have problems, please report to the composer project.


Word Beam Search Decoder

Is it possible to upload the TFWordBeamSearch.so file in this repository or in CTCWordBeamSearch repository. In your code build.sh, it is not updated for latest Tensorflow 2.0 versions.
Also, in this project, the Word Beam Search Decoder is using TF custom operation. Can you also add in the code for NumPy operation (Python package). How it can be utilized in this Simple HTR project ? How to convert the tensorflow session output to a numpy array ?

The SimpleHTR uses the Python package. See instructions in README.

Thanks, but in the SimpleHTR model code, to setup CTC, you have the below code to import the compiled WordBeamSearch operation:
elif self.decoderType == DecoderType.WordBeamSearch:
# import compiled word beam search operation (see https://github.com/githubharald/CTCWordBeamSearch)
word_beam_search_module = tf.load_op_library('TFWordBeamSearch.so')
And in the CTCWordBeamSearch code, the build.sh is not updated to use the latest Tensorflow.


Add fieldAddon support to Number , Password, TextArea and TextField

Description
Add fieldAddon support to Number , Password and TextField

Add fieldAddonRight ----@
Add fieldAddonLeft @----

Expected behavior: - fieldAddon support
Actual behavior: fieldAddon not supported

@ahdbk should we close this issue? or not yet completed

I edited the issue to support TextArea too . I will close it in the next pull request


Fix bug with nested bullet lists.

Pull Request Test Coverage Report for Build f160ba4fd729696c8ab21e40ece5923c7da1d05e-PR-3

5 of 5 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 37d39014e76c1cd03416197ef781585bbd8a958e:
0.0%

Covered Lines:
847

Relevant Lines:
847

💛  - Coveralls


added Autoscaling capability for all deployments

What kind of change does this PR introduce?
Adds autoscaling for all Deployments using the configured targets.
Also, I slightly changed the Values.yaml structure for better compatability.
What is the current behavior?
using the autoscaling disables the replicaCount parameter but doesn't add any HPAs.
What is the new behavior?
using the autoscaling disables the replicaCount parameter and adds HPAs according to the specs.
Also, I added  strategy: type: Recreate to the DB as dbs can't perform rolling Upgrades.

@milanvanschaik @bigbitbus @icrotz @cpdeethree @devudopw @kiwicopple could you have a look?


tableFilters: Can't pass calendar translations while using DateRangeFilter

I'm using tableFilters.DateRangeFilter as Filter for some columns in my table. But, I can't pass translation for the calendar texts, only for the filter modal.

Typing:

Thanks for the issue. We are currently working on our next major release so won't have time for this.
That being said, would you like to contribute by creating a PR? Should be an easy change; our DatePicker already has a localizedNames prop which just needs to be exposed in DateRangeFilter.

Working on this @mayank99


FurfSky custom pet skins are displayed as skin texture instead of rendered head

Describe the bug
With FurfSky pet skins are displayed as skin texture instead of rendered 3d heads.
Profile/Location
https://sky.shiiyu.moe/stats/dukioooo/Pomegranate#Inventory (Inventory -> Storage -> Yellow and Lime backpacks)
Screenshots

Original report (profile no longer has the broken pets in storage):

I'll remove them for now, so they don't cause problems as we don't have support for custom models.
They'll default to their vanilla textures.


Added Futures Prices Websocket

additive code & functional. looks good to me

will merge in once a few people can confirm its functionality

Hello, do you know when you will merge this branch?
will futures prices be available also for the branch feature/asyncio?
Thanks,
Cyrille.

i think this one is pretty safe to merge. all additive code. @CyrilleBoullier would you be able to test this branch and confirm it works?

Yes, if you add it also in the branch feature/asyncio then I can test it as I'm using it 24h/24h with a set of 4 cryptos.
Regards,
Cyrille.

@CyrilleBoullier I may be confused, but feature/asyncio is unrelated to this branch. I will merge this one in since its only additive and will not effect any existing users.


L.geoJSON() requires explicit typing

The following example from the Leaflet documentation
const geojsonFeature = {
  type: 'Feature',
  properties: {
    name: 'Coors Field',
    amenity: 'Baseball Stadium',
    popupContent: 'This is where the Rockies play!'
  },
    geometry: {
    type: 'Point',
    coordinates: [-104.99404, 39.75621]
  }
};

L.geoJSON(geojsonFeature).addTo(map);

throws a type error:
Argument of type '{ type: string; properties: { name: string; amenity: string; popupContent: string; }; geometry: { type: string; coordinates: number[]; }; }' is not assignable to parameter of type 'GeoJsonObject'.
  Types of property 'type' are incompatible.
    Type 'string' is not assignable to type '"Feature" | "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | "GeometryCollection" | "FeatureCollection"'.ts(2345)

unless you explicitly type geojsonFeature: Feature:
import { Feature } from 'geojson';

const geojsonFeature: Feature = {
  type: 'Feature',
  properties: {
    name: 'Coors Field',
    amenity: 'Baseball Stadium',
    popupContent: 'This is where the Rockies play!'
  },
    geometry: {
    type: 'Point',
    coordinates: [-104.99404, 39.75621]
  }
};

L.geoJSON(geojsonFeature).addTo(map);

This seems like a bug to me but maybe I'm missing the thinking behind the architecture?

That's typescript.

Hi, and thanks for taking the time to open a bug report in Leaflet.
However, in this repository we only handle bugs in "vanilla" Leaflet. This means that we do not handle bugs which are specific to frameworks such as:

React
Ractive
AngularJS
Bootstrap
Leaflet for R
Joomla
Wordpress
Ionic
Cordova
Vue
Electron
Polymer
TypeScript
D3
...etc

Please understand that we only have the time and energy to test Leaflet in plain web browsers.
Please try to either reproduce the bug without using any frameworks, or submit a bug to the appropiate repo.


Serialization - Italicized Titles & General DOM Placement

Some titles within the Wikipedia set have italicized portions of titles which looks something like:
<title>
    <i>K</i>-d tree
</title>

This places the K as a sub element of title. Currently, since there is no position tracking, after the i tag creates a sub element, the position of where K was is lost, which results in titles looking like the following in the index:
-d treeK

This requires having some placement tracker of any sub elements that are created, so if the data were to be readjusted into XML string form, then it would result in the correct ordering of elements.

Completed -- see #14 for details.