If descriptor contains set property, create mock set property

I noticed that if a class had a get and a set property with the same name, and you attempted to set to the setter on a mocked instance of the object it would throw an error that the property was a read-only getter.
I found a solution for the bug by checking the descriptor, and then passing the descriptor through when creating the method stubs to allow the stub to know whether to create just a get, just a set, or both.
If you can see a better solution to resolving this issue let me know and I will update! Thanks for the wonderful library. Has saved many lines of code in my tests.

Codecov Report

Merging #70 into master will decrease coverage by 0.25%.
The diff coverage is 84.61%.

@@            Coverage Diff             @@
##           master      #70      +/-   ##
==========================================
- Coverage   94.18%   93.92%   -0.26%
==========================================
  Files          31       31
  Lines         550      560      +10
  Branches       64       70       +6
==========================================
+ Hits          518      526       +8
  Misses         23       23
- Partials        9       11       +2

Impacted Files
Coverage Δ

src/Mock.ts
95.16% <84.61%> (-1.33%)
:arrow_down:

Continue to review full report at Codecov.

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


Preserve & set the key domain attributes of domains after db reset

https://bugzilla.redhat.com/show_bug.cgi?id=1200925
Saves the priority, enabled and system attributes of all the domains and updates these after the reset

@gmcculloug @tinaafitz
Please review

@mkanoor
Looks good.

@mkanoor  Should we also be collecting the enabled flag?  For the ManageIQ domain this should always be enabled, but other domains may have a different enabled value between what is on disk and what is in the database.

@gmcculloug
Added enabled and system along with priority

@mkanoor This looks good.  Just needs tests as we discussed.


data: khushalarora

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

[X] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.
[X] This PR does not contain plagiarized content.
[X] The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers
Awesome and easy to understand documentation. Thanks for encourging me for my first PR :)

Thank You :smiley:


Fix usb access in addon config for Hassio supervisor 2021-2

Fixes blakeblackshear/frigate-hass-addons/issues/14
In and out the rabbit hole of debugging this I found the usb option in the addon configuration that does exactly what we need.

usb | bool | no | If this is set to true, it would map the raw USB access /dev/bus/usb into add-on with plug&play support.

It also has a video option but that's for video4linux and cec devices so not a replacement for /dev/dri/renderD128.
As far as I can tell this addon doesn't need the full_access setting.
Removing this option from the addon settings removes the Protection mode option at all, so it's no longer something to worry about.
I've tested this on my local HA installation

👍

Several users have reported that protection mode needs to be disabled for hardware acceleration to work on Raspberry pi devices. Let me see if I can figure out if it needs additional devices in the devices list to get around that.

Several users have reported that protection mode needs to be disabled for hardware acceleration to work on Raspberry pi devices. Let me see if I can figure out if it needs additional devices in the devices list to get around that.

Ah okay. Didn't know that, nor can I test that.
It's fine for this PR to keep the full_access option in place btw, it just enables the option to disable protection mode from the supervisor.

Can you add back full_access? I can merge and add a few more devices before publishing the new version. I really appreciate the help.


Add support for indexing split object without array when solo (#193)

This PR is following up on https://github.com/studioespresso/craft-scout/issues/193, where I provide more context for the current limitation with splitting objects. But in short, this adds a backwards-compatible setting to opt-in for using the individual object -- not an array-wrapped object -- when there is just a single$splittedObjects.
The setting name is admittedly cumbersome...couldn't think of a shorter name that was as clear!

Merged & released, thanks again @gregkohn !


Cannot save annotated h5 file

🐛 Bug Report
When I annotate an image and try to save the layer using Ctrl+S in the GUI, I get an error keyeroor:root at metadata=["root"] in _writer.py. viewer.layers[1].save("annotated.csv"), the csv file comes up, but viewer.layers[1].save("annotated.h5") also gives the above error. How can I deal with this error and save the annotated data?
💡 Steps to Reproduce
Annotate 25 .png data, click on tag layer and Ctrl+S or viewer.layers[1].save("annotated.h5") to console
💡 Expected Behavior
I can save an annotated layer.
🌎 Environment
Latest versions of h5py, pandas, numpy compatible with the latest version of Napari (I'll update on Monday when we can check the lab's PC.)
💡 Additional Context
No response

Do you have a plugin providing an .h5 writer? Because without a way to write such a file, there isn't much napari can do I don't think. Unless I am misunderstanding something, in which case my apologies!

Do you have a plugin providing an .h5 writer? Because without a way to write such a file, there isn't much napari can do I don't think. Unless I am misunderstanding something, in which case my apologies!

https://www.napari-hub.org/plugins/napari-h5
Are you talking about this plugin? It can read h5 files but not sure if it can write them out. Maybe it is a problem on the DeepLabCut side.

Sorry, I'm still not following what's happening:

Are you suing that plugin and having an issue writing h5?
Are you using some other plugin (DeepLabCut)?

Could you please post the output of napari --info so we have some insight into what you have installed?
Likewise, we will need the complete traceback from when you get the error. You can paste it between sets of 3 backticks on empty lines to ensure it's formatted in a readable way.

Traceback (most recent call last):
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari_deeplabcut/_widgets.py", line 656, in
lambda: _save_layers_dialog(
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari_deeplabcut/_widgets.py", line 300, in _save_layers_dialog
self.viewer.layers.save("", selected=True, plugin="napari-deeplabcut")
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/utils/_proxies.py", line 188, in call
return self.create(self.wrapped(*args, **kwargs))
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/components/layerlist.py", line 476, in save
return save_layers(path, layers, plugin=plugin, _writer=_writer)
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/plugins/io.py", line 229, in save_layers
_written, writer_name = _write_single_layer_with_plugins(
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/plugins/io.py", line 442, in _write_single_layer_with_plugins
written_paths, writer_name = _npe2.write_layers(
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/plugins/_npe2.py", line 111, in write_layers
paths, writer = io_utils.write_get_writer(
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/npe2/io_utils.py", line 115, in write_get_writer
return _write(path, layer_data, plugin_name=plugin_name, return_writer=True)
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/npe2/io_utils.py", line 320, in _write
res = writer.exec(args=args)
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/npe2/manifest/utils.py", line 61, in exec
return self.get_callable(reg)(*args, **kwargs)
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari_deeplabcut/_writer.py", line 51, in write_hdf
root = metadata["root"]
KeyError: 'root'
These are error messages.
A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.1.1 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.
Traceback (most recent call last):  File "/home/erato_0/.pyenv/versions/kimuradlc/bin/napari", line 8, in
sys.exit(main())
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/main.py", line 564, in main
_run()
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/main.py", line 213, in _run
from napari import Viewer, run
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/_lazy.py", line 45, in getattr
submod = import_module(
File "/home/erato_0/.pyenv/versions/3.10.7/lib/python3.10/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/viewer.py", line 8, in
from napari.components.viewer_model import ViewerModel
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/components/init.py", line 19, in
from napari.components.layerlist import LayerList
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/components/layerlist.py", line 9, in
from napari.layers import Layer
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/layers/init.py", line 9, in
from napari.layers.base import Layer
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/layers/base/init.py", line 2, in
from napari.layers.base.base import Layer, no_op
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/layers/base/base.py", line 45, in
from napari.utils.key_bindings import KeymapProvider
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/utils/key_bindings.py", line 46, in
from napari.settings import get_settings
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/settings/init.py", line 4, in
from napari.settings._base import _NOT_SET
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/settings/_base.py", line 16, in
from napari.settings._yaml import PydanticYamlMixin
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/settings/_yaml.py", line 9, in
from napari.settings._fields import Version
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/settings/_fields.py", line 6, in
from napari.utils.theme import available_themes, is_theme_available
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/utils/theme.py", line 25, in
from qtpy import QT_VERSION
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/qtpy/init.py", line 280, in
from PySide6 import version as PYSIDE_VERSION  # analysis:ignore
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/PySide6/init.py", line 124, in
_setupQtDirectories()
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/PySide6/init.py", line 64, in _setupQtDirectories
from shiboken6 import Shiboken
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/shiboken6/init.py", line 27, in
from shiboken6.Shiboken import *
Traceback (most recent call last):
File "/home/erato_0/.pyenv/versions/kimuradlc/bin/napari", line 8, in
sys.exit(main())
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/main.py", line 564, in main
_run()
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/main.py", line 213, in _run
from napari import Viewer, run
File "", line 1075, in _handle_fromlist
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/_lazy.py", line 45, in getattr
submod = import_module(
File "/home/erato_0/.pyenv/versions/3.10.7/lib/python3.10/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/viewer.py", line 8, in
from napari.components.viewer_model import ViewerModel
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/components/init.py", line 19, in
from napari.components.layerlist import LayerList
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/components/layerlist.py", line 9, in
from napari.layers import Layer
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/layers/init.py", line 12, in
from napari.layers.points import Points
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/layers/points/init.py", line 1, in
from napari.layers.points import _points_key_bindings
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/layers/points/_points_key_bindings.py", line 4, in
from napari.layers.points.points import Points
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/layers/points/points.py", line 38, in
from napari.layers.utils.text_manager import TextManager
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/layers/utils/text_manager.py", line 29, in
class TextManager(EventedModel):
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/layers/utils/text_manager.py", line 83, in TextManager
string: StringEncoding = ConstantStringEncoding(constant='')
File "/home/erato_0/.pyenv/versions/kimuradlc/lib/python3.10/site-packages/napari/utils/events/evented_model.py", line 242, in init
super().init(**kwargs)
File "pydantic/main.py", line 341, in pydantic.main.BaseModel.init
pydantic.error_wrappers.ValidationError: 1 validation error for ConstantStringEncoding
constant
Unable to avoid copy while creating an array as requested.
If using np.array(obj, copy=False) replace it with np.asarray(obj) to allow a copy when needed (no behavior change in NumPy 1.x).
For more details, see https://numpy.org/devdocs/numpy_2_0_migration_guide.html#adapting-to-changes-in-the-copy-keyword. (type=value_error)
These are napari --info massages.

Sorry, I'm still not following what's happening:
* Are you suing that plugin and having an issue writing h5?

* Are you using some other plugin (DeepLabCut)?

Could you please post the output of napari --info so we have some insight into what you have installed? Likewise, we will need the complete traceback from when you get the error. You can paste it between sets of 3 backticks on empty lines to ensure it's formatted in a readable way.

Are you selecting the right layer?
Looking at the deeplabcut code:
https://github.com/DeepLabCut/napari-deeplabcut/blob/0ceba4f203135aeeeaf8edfb8a8689d0517a5e1e/src/napari_deeplabcut/napari.yaml#L45-L51
This means that you have to have exactly 1 points layer selected to use their h5 writer and exactly 1 shapes to use the .csv writer.
Also I don't understand from your traceback:
packages/napari_deeplabcut/_writer.py", line 51, in write_hdf
root = metadata["root"]
```

That line doesn't match the code:
`    root = meta["root"]`

Probably you should open an issue with the plugin....

I resolved in pip install napari-save-transformed -U ! Thank you!


Improve tooling config, add automated isort check

Our isort plugin for Code Climate is now in beta, let's eat our own dog food.
Ignoring W503 makes pycodestyle allow splitting both before and after a binary operator (the PEP8 recommendation is now the opposite).
Ingored pycdestyle codes make it no longer complain about missing docstrings as at this point in the project it adds lots of noise. We should cosider re-enabling D101-D103 once our docstring coverage is better.
The yapf config is not usable yet as it depends on my pull request:
https://github.com/google/yapf/pull/525
Pull Request Checklist
(Please keep this section. It will make maintainer's life easier.)

[x] Privileged views and APIs are guarded by proper permission checks.
[x] All visible strings are translated with proper context.
[x] All data-formatting is locale-aware (dates, numbers, and so on).
[x] Database queries are optimized and the number of queries is constant.
[x] The changes are tested.
[x] The code is documented (docstrings, project documentation).
[x] Python code quality checks pass: pycodestyle, pydocstyle, pylint.
[x] JavaScript code quality checks pass: eslint.

There's an issue with Code Climate, let's wait for them to fix it.

@elwoodxblues Code Climate now works (and correctly fails because of newly discovered errors).


render/gles2: unbind textures after use

Keeping textures bound results in hard-to-debug situations where some GL
operations incorrectly affect the texture.

Thanks!


Adding the file about the Bnf Rés. J-845 document (Ancient French)

Adding of the first subfolder presenting the models of the project.
You can find in this folder the following elements :

A .jpg showing the accuracy of each model made on escriptorium.
A segmentation model
A first transcription model accurate at about 94%. It was made by using the entire initial sample of twenty pages of training.
A second transcription model, more accurate and that is the result of only 16 pages of the initial sample.

Update :
Due to git problems, I only pushed the models, not the .jpg document. It will soon be added.

OK, we continue at the same time with the definition of norms and the update of our respective folders, with the transcription, pdfs and XML ALTO versions.


Non-deterministic error: FieldDeclaration created instead of VariableDeclaration

The following C++ code is part of a test. In most cases it works, however sometimes and non-deterministically, the CPG represents foo as a FieldDeclaration of class Test, which is obviously wrong and fails the constant resolution.
class Test {
public:
 int call(int a) {
  return a + 1;
 }
};

int main() {
  int foo = 1;
  foo = (1,2,3,4,42);
  Test t;
  t.call(foo);
}

The attached pictures show two graphs created by two test runs of exactly the same code. The graph containing the (dark) green FieldDeclaration is wrong.

FYI contrary to the comment in the new unit test, this actually has nothing to do with variable (list) initialization but is rather just a use of the „comma operator“, i.e. a BinaryOperator with the op „,“ which evuluates all expressions in the parenthesis in order and assignees the last used expression to the operation itself.

cannot reproduce on my machine.
How often do you have to run the test?
Does sth like
for(int i = 0; i < 1000; i++) {
         testLocalVariables();
     }

always fail on your machine, or do I need to start separate tests?


session support

What problem does the new feature solve?
GreptimeDB lacks the session layer, which then makes tracking client's status/quotas impossible.
What does the feature do?
Adds a session layer to our db, so as to store client's status and quotas.
Implementation challenges
To start, stores the database in "USE" stmt in session. see #670

To start, stores the database in "USE" stmt in session.

We now have some context mods like QueryContext or UserInfo in session crate. This issue is too broad to track anything meaningful. We should create new issues for more specific demand.


Update example to use hosted library

Update the gist to use a hosted copy of wrapper.js: https://gist.github.com/jwildfire/9865b8e7761f28a8a1557622d93ffbde

Need to create a new chart-foundry gist


idea: fetch and parse sitemap xml (for example strapi)

Enable the ability to fetch an external XML sitemap for Data Sources and parse it, for example, in collaboration with https://github.com/boazpoolman/strapi-plugin-sitemap.
Currently, I am using my script maybe someone could use :
import { defineSitemapEventHandler } from '#imports'
import type {
  AlternativeEntry,
  SitemapUrlInput,
} from '@nuxtjs/sitemap/dist/runtime/types'
import { XMLParser } from 'fast-xml-parser'

const sectionMapping = new Map([
  ['/blog', 'blog'],
  ['/pages', 'pages'],
])

const findSection = (pathname: string) =>
  Array.from(sectionMapping).reduce(
    (r, [s, v]) => (pathname.includes(s) ? v : r),
    'pages'
  )
const parser = new XMLParser({
  ignoreAttributes: false,
  attributeNamePrefix: '',
})

export default defineSitemapEventHandler(async () => {
  let sitemapUrls: SitemapUrlInput[] = []

  try {
    const sitemapXml = await $fetch<string>(
      process.env.STRAPI_URL + '/api/sitemap/index.xml'
    )

    const { urlset } = parser.parse(sitemapXml)
    const urls = [].concat(urlset?.url || [])

    for (const item of urls) {
      const { lastmod = '', changefreq = '', priority = 0 } = item
      let { loc = '' } = item

      try {
        loc = new URL(loc).pathname
      } catch (e) {}

      if (!loc) continue

      const alt: AlternativeEntry[] = [].concat(item?.['xhtml:link'] || [])
      const _sitemap = findSection(loc)

      const alternatives = alt.map(({ hreflang, href }) => ({
        hreflang,
        href,
      }))

      sitemapUrls.push(
        asSitemapUrl({
          loc,
          lastmod,
          changefreq,
          priority,
          _sitemap,
          //_i18nTransform: false,
          alternatives,
        })
      )
    }
  } catch (error: any) {
    console.error(error?.message)
  }

  return [...sitemapUrls]
})

Thanks for sharing :) For the time being this isn't something I'll consider implementing as I'm not sure the overhead of adding in an extra package is worth it when most people won't use it.
Will keep open though, maybe someone else can use this code.


Similar tool for react-intl

Hey, great idea! Do you know any similar projects for react-intl? If not, I might try to create one based on this.

AFAIK, its unique.
https://stackoverflow.com/questions/49826875/how-to-extract-all-string-constants-from-html-or-jsx


Fix performance issue when applying change in language editor

If you edit a string in language editor and apply changes, it takes up to a minute to apply. This was caused by concatenating strings which is O(n^2) aka will take a long time. Replace the string concatenation with string builder fixed this issue.

LGTM, nice work. So much faster now!


Update PipelineRun and experimental dag template for pipeline version 3.9

Description
To make the AMR Heatmap more scientifically useful, I've submitted a PR in idseq-dag (#175) that would add total reads, reads per million, and depth per million to the results table for each resistance gene SRST2 identifies in a sample. The gene given in the ARG-ANNOT annotation is also added since this name is much more closely aligned with the CARD Ontology (>90%), as well as the NCBI GeneBank accession number for easy linking to detailed genome information.
This PR updates the dag template to take in account the new requirements for the srst2 step, and adds the new columns in the results to a pipeline run's amr_counts.
Tests

Ran a benchmark test sample and a giant AMR NOVA test sample on staging and local, hit the amr_heatmap/amr_counts.json endpoint to make sure the new data was being returned.

LGTM. Please coordinate this with the idseq_dag change.

Thanks! Someone does need to approve the PR in idseq_dag first though ;)


doesn't work with Airpod

Take out 1 piece of Airpod doesn't stop the music despite "Automatic Ear Detection" enabled.
Take out both pieces of Airpod make the Mac use the speaker, which is really annoying.

As stated in the repo description, this app works with physical buttons. No Touch Bar or Airpods are supported (but if you can add that functionality, I would assume you can pull request your updates).

Duplicate of #19

This is a behaviour of MacOS I cannot change :(


Replace Neo4jGraphFactory with CreateGraphFactory

Also removes Neo4j dependencies from okapi-testing

Scenario "Should add or subtract duration to or from date #3" uses floating point numbers as duration values. This worked before, when we used Neo4j for InitQuery since Neo4j converts such values. CAPS does not support this yet.


AppEngine standard version.basic_scaling.max_instances is capped at 20

What happened?
While trying to set the max_instances to 64 (upper limit is 200 as per the docs).
Steps to reproduce
gcp.appengine.StandardAppVersionBasicScalingArgs(
    max_instances=64
)

Expected Behavior
The version is deployed with 64 max instances.
Actual Behavior
 Diagnostics:
    gcp:appengine:StandardAppVersion (<service-name>):
      error: 1 error occurred:
      	* Error creating StandardAppVersion: googleapi: Error 400: version.basic_scaling.max_instances (64.0) must be in the range [1.0, 25.0].
      Details:
      [
        ***
          "@type": "type.googleapis.com/google.rpc.BadRequest",
          "fieldViolations": [
            ***
              "description": "version.basic_scaling.max_instances (64.0) must be in the range [1.0, 25.0].",
              "field": "version.basic_scaling.max_instances"
            ***
          ]
        ***
      ]

Output of pulumi about
CLI Version      3.46.0
Go Version   go1.19.2
Go Compiler  gc
Plugins
NAME    VERSION
docker  3.5.0
gcp     6.41.0
python  unknown
Host
OS       ubuntu
Version  22.04
Arch     x86_64
This project is written in python: executable='/usr/bin/python3' version='3.10.5
Additional context
No response
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

OK, looks like this is an issue in the docs/expectations.
See https://cloud.google.com/appengine/docs/standard/an-overview-of-app-engine#instances

So 200 is only valid for us-central1 region (I was doing a deployment in EU), but docs just mention 200.

Thanks for posting this, then following up! At your suggestion, I've made a PR to link to the instance limits table from the relevant fields in the API docs. I'm going to close this issue as "by design", since it was about the expectation set (which was misleading, hence the docs fix) rather than how it worked.


feat: add breadcrumbs component

What:

Why:
Add new component Breadcrumbs

How:
Created new component
Added documentation
Wrote tests
Media:

Issue:  #324

@nlopin I couldn't wrap the li with the a because of the structure I chose, it was easier to use padding to increase the area, and the result should be okay.


[Impeller] Check viability of Pixel 6 for device lab and local testing.

From the weekly sync. We are going to attempt to get these devices in the lab. @zanderso was going to reach out to the infra team to get these in the lab but @jonahwilliams wanted to make sure any device we added had the extensions we might realistically need.
We settled on Pixel 6.
I couldn't find Pixel 6 on go/impeller-android-devices but a verified Pixel 6a reports this. An unverified Pixel 6 reports this.
@jonahwilliams mentioned VK_ANDROID_external_memory_android_hardware_buffer which both seem to support. Not sure he was looking for anything else.

That is everything! If so this is good then

Cool. @zanderso should be unblocked from reaching out to the infra folks then. I suspect it will take a while with the move and all.


gcloud components install beta is required for sc add-gcp-broker

sc check should check if gcloud beta is ready. Also, sc add-gcp-broker print out the error message thatgcloud components install beta is required if it's not installed yet.

The only gcloud beta commands used in sc installer are gcloud beta iam, and gcloud iam is v1 now (see #125). Seems unnecessary to do the check any more.

Based on #125, we no longer need gcloud beta component. Closing the issue.


Fix link

          1 Error

:no_entry_sign:
Please provide a summary in the Pull Request description

          1 Warning

:warning:
Found 1 link issue, a project collaborator will take care of these, thanks :)

Link issue by awesome_bot

Line
Status
Link

251
451
https://github.com/lukakerr/feather

  Generated by :no_entry_sign: Danger

@hakantunc Thank you for your contribution! 👍


can not load strapdown.js

The script referenced by preview html
/home/wjzhou/.config/sublime-text-3/Installed%20Packages/Strapdown%20Markdown%20Preview.sublime-package/strapdown/strapdown.js is unaccessible from browser because this file is located in a .sublime-package file (not a dir).

You have the wrong repository.  This plugin doesn't use strapdown.


git-show show HEAD if no commit specified

If you enter head it achieves the same thing. I wouldn't want to have a null input result in valid output. Because there is an input required I think there should be a responsibility to enter which commit to show.
There are two alternatives I'm more comfortable with:

Change the placeholder of the input to make it clear that the default will be HEAD
Create a second command with the label 'Show HEAD' that won't show the input as a second step

Could you also add tests around what you add?

Actually now it just fails silently if nothing has entered(if you'll open dev tools console there's an error)

That's why I decided to make command execution most close as it is when you enter git show in console without adding any commit hash.
I'll add some tests.
Also not sure why do we need this code, as it's does nothing
https://github.com/akonwi/git-plus/blob/master/lib/models/git-show.coffee#L53

Yea understandable. Will you go the route of making it obvious in the placeholder that it will default to HEAD?
Feel free to remove line 53 as well

I've merged this


Returned image value from RunUint8Array function is not an actual image

Hi,
Please see the following in relation to performing the FaaS Face Detection via wasmedge-extensions.
Compiled the lib.rs as per this standard source code
Installed wasmedge-extensions on Ubuntu 20 and created the following environment to run the wasm file via NodeJs
// Import file system library
const fs = require('fs');

// Create wasmedge instance
const wasmedge = require("wasmedge-extensions");

// Load the wasm binary
const path = "/home/tpmccallum/wasm.wasm";
vm = new wasmedge.VM(path, { args:process.argv, env:process.env, preopens:{"/": "/tmp"} });

// Define an AOT path
aot_path = "/home/tpmccallum/wasm.so";

// Create an AOT binary
vm.Compile(aot_path);

// Instantiate VM using AOT mode
var vm_aot = new wasmedge.VM(aot_path, { EnableAOT:true, rgs:process.argv, env:process.env, preopens:{"/": "/tmp"} });

// Open image
var img_src = fs.readFileSync("/home/tpmccallum/solvay.jpg");

// Run function by passing in the image and calling the infer function
var return_value = vm_aot.RunUint8Array("infer", img_src);

// Write image to file
fs.writeFileSync("res.jpg", return_value);

The output from this is error free (no obvious errors or issue), however the res.jpg is not actually an image. Please find the following output for your convenience.
tpmccallum@tpmccallum:$ node tester.js
[2022-01-01 10:39:57.548] [info] compile start
[2022-01-01 10:39:57.619] [info] verify start
[2022-01-01 10:39:57.681] [info] optimize start
[2022-01-01 10:40:04.028] [info] codegen start
[2022-01-01 10:40:09.950] [info] output start
[2022-01-01 10:40:09.957] [info] compile done
[2022-01-01 10:40:09.964] [info] output start
Loaded image in ... 37.909333ms
2022-01-01 10:40:10.109754: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  SSE3 SSE4.1 SSE4.2 AVX AVX2 AVX512F FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
Parsed results in ... 533.284485ms
Drawing box: 30 results ...
Drawn on image in ... 582.29647ms

The Rust/Wasm is able to detect 30 faces which is correct, however for some reason the return value is not correct. Please see a snippet of the returned value in its raw form; just using vi (hope this helps).

The same issue exists if non AOT mode is used i.e. just run the .wasm file (instead of the .so file)
var return_value = vm.RunUint8Array("infer", img_src);

Thanks so much!

The same issue exists if non AOT mode is used i.e. just run the .wasm file (instead of the .so file)
var return_value = vm.RunUint8Array("infer", img_src);

Thanks so much!

It is most likely a wasm-bindgen implementation bug in our NAPI. I would prefer to wait for node.js support for wasmedge-bindgen and update all examples to use wasmedge-bindgen.

It is most likely a wasm-bindgen implementation bug in our NAPI. I would prefer to wait for node.js support for wasmedge-bindgen and update all examples to use wasmedge-bindgen.


Stop reporting/processing the number of mixing participants in DSSTATUSUPDATE

I'd prefer to move the deserialization of DSSTATUSUPDATE into its own message (e.g. CPrivateSendStatusUpdate and then also add protocol version handling code to completely omit nMsgEntriesCount when proto version is recent. This would later allow to completely remove that member.

Good idea! See f37f545.

Not sure how this fixes the issue addressed in 150d40deb4b786ac727fba158b09e7d2d5913c51

@PastaPastaPasta it doesn't address the one for the logic you implemented, it addresses a similar legacy one.


Validation should also check folder name

Brief description of your issue

If the YAML file is in a folder structure that does not match the publisher and application name the CLI validation test (winget validate <manifest>) will pass but when submitting to the repository it will fail if the naming isn't the same.
This can lead to unexpected failures in the PR which could have been caught locally/earlier.
Steps to reproduce

Create a YAML file for Publisher.AppName v1.0
put it in the folder '/Publisher/ApName' (Note that there is only one 'p')
Run the validation command on the file

Expected behavior

The process should validate that the folder structure does not match the expected values based on the contents of the YAML file and so may fail ingestion into the manifest repository.
(This could just be a warning, not a full-on failure.)
Actual behavior

Validation passes fine and the typo is only noticed when the PR is validated.
Environment
[winget --info]
Windows Package Manager v0.1.41331 Preview
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.18363.836
Package: Microsoft.DesktopAppInstaller v1.0.41331.0

@mrlacey the client validation is only looking at file contents.  The filename and path conventions are primarily used for submitting manifests to the GitHub community repository, and the structure may need to change in the future. I am wondering if you think just having a hint or note about the filename and path structure would be sufficient?
winget validate <manifest>
Manifest validation succeeded.
Please use "/manifests/<publisher>/<package>/<version>.yaml" for community submission

@denelon yes a hint would be fine.
The issue was that because I built a package that passed validation I was surprised when submitting to the package repo failed. Especially as it was a typo that broke a convention I wasn't totally clear about.
Having this extra check (and hint) could save others (and maybe myself again in the future) when possible mistakes are caught earlier.

@mrlacey, we've made substantial changes to the schema and the validation process. I'm going to go ahead and close this Issue as I believe it has been resolved. Thank you for submitting the Issue.


Release tracker - v0.5.2

This issue is to be used to track the roadmap of docTR for release v0.5.2, and collect feedback from users & contributors.
For the v0.5.1 roadmap, please see #788

Datasets

[x] #927
[x] #956

Models

[x] #902
[x] #960
[x] #964

IO

[x] #947
[x] #953

API

[ ] #847

Documentation

[x] #901
[x] #937
[x] #958

Demo

[x] #951

Build

[x] #932

Backlog from v0.5.1:

[ ] #802

@frgfm Lets finalize this next week i am sure #957 (requirements) will fix the docker issue and #802 is also finished (1 merge left) :hugs:

moved into #791


Potion NamespacedKey

Unlike the previous api change i had made a PR for this time it actually works and is now utilizing the namespacedkey system.

Sorry for closing and opening again, check https://github.com/pl3xgaming/Purpur/pull/754 for the updated PR


Use Earphones.

Translation
Good day. I remember I'm a rookie in this programming thing.
The program already works for me on the phone is noisy but that's the return.
Which setting should I change so that the sound is heard by the headphones only. ?
Thank you very much

https://github.com/googlesamples/android-audio-high-performance/tree/master/aaudio/hello-aaudio
it chooses various input/output device, could you check on that ( I think it is from Java side API to choose devices, I might be wrong )

https://github.com/googlesamples/android-audio-high-performance/tree/master/aaudio/hello-aaudio
it chooses various input/output device, could you check on that ( I think it is from Java side API to choose devices, I might be wrong )

Thank you. I don't understand google translation well, so I'm still going to check the link. Greetings from Venezuela

It's a translation.
I was able to understand his answer. It happened that I tried the application with a hands-free phone and it didn't work, then I switched to a headset and it was fine. What I noticed is that the delay effect of the echo is almost imperceptible. You could tell me where I can change it or point me to where I can research the subject.
Thank you before hand.

when you look at the hello-AAudio sample, it has functions to select devices. I was trying to say that you could try port that code ( device selection ) into your application, so you could choose the device ( or follow the logic there to hardcode to headphone ).
Sorry about the confusion.
The delay ( latency ) is when your run the echo app,  correct? is your headset is wireless/USB?
To adjust in code, you could try to make the buffer counts to be a smaller number. ( it has side effect: if it is too small, then it breaks -- as when play callback happens, if recording slightly missed the callback, then the total system breaks. So something need to be done around this area.  I do not know what could be done on your phone platform: what in there is in there, we could not change thing in that OS image anymore)

Don't apologize for the inconvenience, probably the confusion is me, I must first translate and then investigate what you have suggested.
However, I've already added the audio-echo program to the application I'm creating that I just want an echo in the order of 200 and 500 milliseconds, which is the time required to create an effect in relation to stuttering. That is to say, to provoke the chorus effect.
I take your suggestions 100% and I hope you will understand that I am a little slow in understanding your technical computer language, however, and that I investigate what I capture the idea translated.
I am using cable headphones to avoid complicating myself, due to my lack of computer experience, in the future I will add the activity for the wifi or bluetooth headset. My application is simple, it is only a complement to the series of exercises that help children overcome the condition of dysphemia or stuttering.
Thank you for your answers and thank you very much.

The cabled headphone is great: it is best way to use on Android at moment ( the other ways a way slow). The echo you experience should not be that long with cable headphone. Could you list the phone model and Android OS version here? thanks

I'm using a small earpiece. The echo does not work with the handsfree. My cell phone is a zte z812, Android 22. But as I explained I would like to know if you can use the application from version 9 onwards.
I've been testing and the echo delay time can work almost imperceptibly, but that delay can work. The idea is to create an effect on the stuttering child who initially feels that someone is accompanying his or her speech.

I will try to find the same phone you are using and check it out.  The echo should work for Android 9 ( and on wards ).  The latency might varies on different platforms ( hardware ): I did not aware there is any latency standard requirements for Android Phones. so the latency time would be different on different phones.

I'd be thrilled with your help.

Got a device of Z730, Android 4.3, API 18.  When running echo, the audio buffer size is:  512 samples, sample rate is 48KHz.  Echo will start after recording PLAY_KICKSTART_BUFFER_COUNT buffers ( which is 3 ).  Buffering itself incurs latency of 512 x 3 / 48K = 32 ms. yeah, I could feel the longer latency than running on Nexus phones.
When there is fast audio path, the audio buffer size is much smaller ( Nexus 9 is at 192 samples/buffer, I think ). if I decrease the buffering count to 2, echo breaks pretty quickly. To get low latency on this phone need to do some deep investigation ( may never be able to achieve the pro-audio standard )...
Now let us get into the same understanding:
do you want to get lower latency?
or you need 200ms -- 500 ms delay?
you could email me too at<EMAIL_ADDRESS>this might take more back and force chat.

clsoing down this as there is special communication channel set up concerning.


Prevent too many items.

This pull request includes a

[x] Bug fix
[ ] New feature
[ ] Translation

The following changes were made

When selecting a new item, the eventRelay will trigger the maximumSelected message if the maximumSelectionLength is reached. This will prevent the user from adding more than maximumSelectionLength items, in case he is holding ctrl or closeOnSelect is false.

This will fix these issues:
#3514
#3860

Fixed with tests in https://github.com/select2/select2/pull/5581.


Translation fixes + Updated French (fr_CH) translation

Added a missing translation string.
Fixed string reload to include missing strings
Updated French (fr_CH) translation.
Category
This change is exactly one of the following (please change [ ] to [x]) to indicate which:

[x] a bug fix (Fix #...)
[ ] a new Ripper
[ ] a refactoring
[ ] a style change/fix

Description
Please add details about your change here.
Testing
Required verification:

[x] I've verified that there are no regressions in mvn test (there are no new failures or errors).
[x] I've verified that this change works as intended.

[x] Downloads all relevant content.
[x] Downloads content from multiple pages (as necessary or appropriate).
[x] Saves content at reasonable file names (e.g. page titles or content IDs) to help easily browse downloaded content.

[x] I've verified that this change did not break existing functionality (especially in the Ripper I modified).

Optional but recommended:

[ ] I've added a unit test to cover my change.

Looks good to me


multicast_dns is giving socket exception and failing to provide interface listing on Android platform.

Error:-
D/libc-netbsd( 9156): [getaddrinfo]: hostname=<IP_ADDRESS>; servname=(null); netid=0; mark=0
D/libc-netbsd( 9156): [getaddrinfo]: ai_addrlen=0; ai_canonname=(null); ai_flags=1024; ai_family=0
E/flutter ( 9156): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: SocketException: Failed listing interfaces (OS Error: Listing interfaces is not supported on this platform)
E/flutter ( 9156): #0      _NativeSocket.listInterfaces.<anonymous closure> (dart:io/runtime/binsocket_patch.dart:414:9)
E/flutter ( 9156): #1      _rootRunUnary (dart:async/zone.dart:1132:38)
E/flutter ( 9156): #2      _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter ( 9156): #3      _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
E/flutter ( 9156): #4      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
E/flutter ( 9156): #5      Future._propagateToListeners (dart:async/future_impl.dart:668:32)
E/flutter ( 9156): #6      Future._completeWithValue (dart:async/future_impl.dart:483:5)
E/flutter ( 9156): #7      Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:513:7)
E/flutter ( 9156): #8      _rootRun (dart:async/zone.dart:1124:13)
E/flutter ( 9156): #9      _CustomZone.run (dart:async/zone.dart:1021:19)
E/flutter ( 9156): #10     _CustomZone.runGuarded (dart:async/zone.dart:923:7)
E/flutter ( 9156): #11     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:963:23)
E/flutter ( 9156): #12     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
E/flutter ( 9156): #13     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)

Flutter Doctor Output :-
 Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel dev, v1.2.0, on Linux, locale en_IN)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] Android Studio (version 3.3)
[!] VS Code (version 1.30.2)
    ✗ Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[✓] Connected device (1 available)

! Doctor found issues in 1 category.

Steps to reproduce:-

Import multicast_dns plugin
Use the multicast_resolve.dart code as provided in the example app (changing the .local domain to own)
run the app

Can that be done by me? Or the fix would be coming from your side?

Hey any resolution on this one?
I thought its an AndroidX issue. But even after successfully migrating to AndroidX, I still getting this:
main.dart.zip
Syncing files to device ONEPLUS A5000...
V/FA      (19647): Inactivity, disconnecting from the service
E/flutter (19647): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: type 'List<String>' is not a subtype of type 'ReactiveFeedsRepository' of 'feedsRepository'
E/flutter (19647): #0      _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:185:38)
E/flutter (19647): #1      _rootRun (dart:async/zone.dart:1124:13)
E/flutter (19647): #2      _CustomZone.run (dart:async/zone.dart:1021:19)
E/flutter (19647): #3      _runZoned (dart:async/zone.dart:1516:10)
E/flutter (19647): #4      runZoned (dart:async/zone.dart:1500:12)
E/flutter (19647): #5      _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:180:5)
E/flutter (19647): #6      _startIsolate.<anonymous closure> (dart:isolate/runtime/libisolate_patch.dart:300:19)
E/flutter (19647): #7      _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)
E/flutter (19647):

Dart doesn't support this plug-in yet on Android

Dart doesn't support this plug-in yet on Android

Can you please explain which plug-in. Because I was running this fine till yesterday.

multicast_dns calls a method that always throws on Android right now.

multicast_dns calls a method that always throws on Android right now.

Thanks for the reply.
Although I am not using multicast_dns but using many other things like crashlytics, path_provider, firebase_auth, firebase_messaging, cloud_firestore, redux etc. Is there a deterministic way to find out what is the root cause. Because i am not getting a breakpoint hit even at the first line of the main method.
For more details please see this issue

@dnfield is android implementation going to be fixed soon? I'm trying to decide which feature I should add next to my app. Thanks!

I don't have an estimate at this point in time.

class Helper {
  static Future getNetworkIP() async {
    String _networkInterface;
    await NetworkInterface.list(
            includeLoopback: false, type: InternetAddressType.any)
        .then((List<NetworkInterface> interfaces) {
      _networkInterface = "";
      interfaces.forEach((interface) {
        int i = 0;
        interface.addresses.forEach((address) {
          _networkInterface += "${address.address}";
        });
      });
    });
    return _networkInterface;
  }
}

when call await Helper.getNetworkIP(); on Android,failed,throw something like title issue

if u added the internet permission in Manifest file then check the internet connection on the your pc in emulator case and check the internet connection on the device your using in case you are using physical device

Dart has landed a fix for this upstream.  I'm not sure if or when it will roll into the Flutter framework, but it should be avialable on master sometime before long now.

@dnfield any updates on when this will be rolled in?

I'm not sure if this made the latest stable but it may have.  It should be available on dev otherwise

Unfortunately it seems it didn't make it in the last release. Will this work for all platforms? Would be really nice to have a simple solution to use service discovery.

Does this still crash on master?

@dnfield seems still crash on Android

@dnfield  just tested with current "beta" channel and it seems to work. So this should hopefully land soon in stable.

@bobatsar Are you sure you are on beta channel? I am on dev and I am still getting
`reusePort` not supported for Android.

@bobatsar Are you sure you are on beta channel? I am on dev and I am still getting
`reusePort` not supported for Android.

[✓] Flutter (Channel dev, v1.7.9, on Mac OS X 10.14.5 18F132, locale en-PL)

Same here.

@dnfield shall it be reopened?

I just run my test app and it works on stable channel.
[✓] Flutter (Channel stable, v1.7.8+hotfix.4, on Linux, locale de_DE.utf8)
multicast_dns:  version: "0.1.1"

When upgrading to multicast_dns 0.2.0 I get the same error.
Dart Socket ERROR: ../../third_party/dart/runtime/bin/socket_android.cc:110:reusePortnot supported for Android.

Same here in 0.2.2...

Same issue for me :/

Same
multicast_dns v0.2.2
Dart Socket ERROR: ../../third_party/dart/runtime/bin/socket_android.cc:114: reusePort not supported for Android

You have to provide your own RawDatagramSocketFactory to the client that doesn't try to reusePort.

same issue on v0.2.2 , it throws the exception then it finds the right IP!  so why this issue is closed, maybe mention in docs this does not currently support android

This issue has been opened since 1 year, Any update on this ?

Has anyone found any fix for this issue or workaround? I have tried using multiple other plugins. mdns2 was failing
D/MDNSPlugin( 5393): onStartDiscoveryFailed:
Same for MDNSPlugin
using multicast_dns plugin 0.1.1 and 0.2.2 version giving error
(12148): Dart Socket ERROR: ../../third_party/dart/runtime/bin/socket_android.cc:114: reusePort not supported for Android.

The issue is closed because it's fixed.  I commented about the reuse port issue here: https://github.com/flutter/flutter/issues/27346#issuecomment-560931996

can you example code of how to pass RawDatagramSocketFactory to the client @dnfield

var factory = (dynamic host, int port,
    {bool reuseAddress, bool reusePort, int ttl}) {
  return RawDatagramSocket.bind(host, port, reuseAddress: true, reusePort: false, ttl: tll);
};

var client = MDnsClient(rawDatagramSocketFactory: factory);

@dnfield It would be nice if you can reference the solution in the official examples for multicast_dns, that is, here: https://github.com/flutter/packages/tree/master/packages/multicast_dns/example


Tutorial (Do not modify) - Add species to NCPI Patient

A Patient in the NCPI FHIR model can represent either a human or an animal. In the forseable future, the clinical data that will be ingested into the NCPI FHIR server will only contain Patients that are either Homo sapiens (humans) or Canis lupus subspecies familiaris (domestic dogs).
The NCPI Patient StructureDefinition should be modified to include an attribute to capture it's species and that attribute should be restricted to the above two values. Details of the requested extension can be found here: <TBD - NCPI FHIR modeling spreadsheet link>
The following should be implemented to close this issue:

[ ] Species Extension
[ ] Species CodeSystem and ValueSet to capture snomedct codes for Homo sapiens and Canis lupus subspecies familiaris
[ ] Bind species extension to NCPI Patient StructureDefinition
[ ] Update the NCPI Patient example with a value for species

To better understand the best representation for this information, we need some more background and use cases for this field before we proceed with implementation.
For example, from KFDRC, we have a collaboration with KOMP2 to functionally test variants and resulting phenotypes. We would like to bring this information into the same FHIR server with the original human patients whose genomic/phenotypic data provide the hypothesis for this testing. So we would consider these mice as "patients" with their own set of phenotypic data.
There also exists an animal extension in HL7 that we might be able to leverage: https://www.hl7.org/fhir/extension-patient-animal.html.

I am going to leave this issue open for the time being - at least through the next larger FHIR WG meeting as an example but we will eventually close it out. If species is a real use case for the NCPI model (and it seems like it may be), then a separate ticket should be created.


LI-82: Simplify instrumentation wrapper code

Please note that many of these changes involve documentation or renaming. Apologies for the noise!

push it


Add offsets to bit flag comparisons for GTIndexEntryStatus

Are you sick of random minor pull requests from me yet? :-)
You'll note on line 81 of the same file that the flags_extended bit flag from libgit2 is shifted 16 bits left in order to combine it with the basic flags field into a single int. However, the comparisons were not shifted, and thus were improperly reporting statuses depending on the bits set in the NAMEMASK portion of the basic flags. This commit fixes the bug.
Incidentally, I have not come across any instances where the flags_extended are actually set (and it appears that they are not intended for external use, anyway). It might be worth considering deprecating this method to avoid confusion for future newbies to Objective-Git.

Huh, that's a good catch. Would you be able to write a test that exercises that?

That would be a trick, actually; I haven't been able to find any scenario in which the flags_extended field actually has any data in it, and I hesitate to write a test that assumes the check will fail (particularly since this method doesn't return a failure code, but improperly reports an existing flag by default).
If you know of a scenario where these are set, I'd be happy to help with a test, but so far as I can tell there's little reason to expose these methods in Objective-Git at all (the flags field only ever seems to have the NAMEMASK set, which I can't imagine is terribly useful for most applications anyway, and the staged flag never appears to be set, either; it's entirely possible that I'm just missing the applicability of them, of course, since my usage of Objective-Git has been fairly narrow so far).

Fair enough!


Can't compile and run example on ubuntu

Hi!. I have a problem. I'm using Ubuntu 16.04 and try to compile program with this library. I run "make -f ./Makefile" and then "make -f ./Makefile install" and after that I'll got this:
mkdir -p /usr/local/include/hiredis /usr/local/include/hiredis/adapters /usr/local/lib cp -pPR hiredis.h async.h read.h sds.h sslio.h /usr/local/include/hiredis cp -pPR adapters/*.h /usr/local/include/hiredis/adapters cp -pPR libhiredis.so /usr/local/lib/libhiredis.so.0.14 cd /usr/local/lib && ln -sf libhiredis.so.0.14 libhiredis.so cp -pPR libhiredis.a /usr/local/lib mkdir -p /usr/local/lib/pkgconfig cp -pPR hiredis.pc /usr/local/lib/pkgconfig
When I run test.sh all test is passed. When I try to compile example.c using command - "gcc ./example.c -o example", I'll get this error:
./example.c:5:21: fatal error: hiredis.h: No such file or directory  #include <hiredis.h>
After that I'll try to change "#include <hiredis.h>" to "#include <hiredis/hiredis.h>" and after compile I'll get:
sudo gcc ./example.c -o ./ex /tmp/ccpjyKVO.o: In function main: example.c:(.text+0xe0): undefined reference to redisConnectUnixWithTimeout example.c:(.text+0x100): undefined reference to redisConnectWithTimeout example.c:(.text+0x142): undefined reference to redisFree example.c:(.text+0x16e): undefined reference to redisCommand example.c:(.text+0x198): undefined reference to freeReplyObject example.c:(.text+0x1b8): undefined reference to redisCommand example.c:(.text+0x1e2): undefined reference to freeReplyObject example.c:(.text+0x20e): undefined reference to redisCommand example.c:(.text+0x238): undefined reference to freeReplyObject example.c:(.text+0x24e): undefined reference to redisCommand example.c:(.text+0x278): undefined reference to freeReplyObject example.c:(.text+0x28e): undefined reference to redisCommand example.c:(.text+0x2b8): undefined reference to reeReplyObject example.c:(.text+0x2ce): undefined reference to redisCommand example.c:(.text+0x2f8): undefined reference to freeReplyObject example.c:(.text+0x30e): undefined reference to redisCommand example.c:(.text+0x31e): undefined reference to freeReplyObject example.c:(.text+0x361): undefined reference to redisCommand example.c:(.text+0x371): undefined reference to freeReplyObject example.c:(.text+0x391): undefined reference to redisCommand example.c:(.text+0x3f6): undefined reference to reeReplyObject example.c:(.text+0x402): undefined reference to redisFree collect2: error: ld returned 1 exit status
What I doing wrong?

Hi, @ArtemLubimov,
It was kind of hard to follow the issue since it's kind of squished up linker errors, but I think I can help.
Try to do the following:
$ git clone https://github.com/redis/hiredis.git
$ make
$ sudo make install
$ make test

Once installed, save the following program to say hiredis-test.c
#include <stdio.h>
#include <hiredis/hiredis.h>

int main(void) {
    redisContext *context;
    redisReply *reply;

    context = redisConnect("<IP_ADDRESS>", 6379);
    if (!context) {
        fprintf(stderr, "Error:  Can't connect to Redis\n");
        return -1;
    }

    reply = redisCommand(context, "SET %s %s", "foo", "bar");
    if (!reply || context->err) {
        fprintf(stderr, "Error:  Can't send command to Redis\n");
        return -1;
    }

    freeReplyObject(reply);

    reply = redisCommand(context, "GET foo");
    if (!reply || context->err || reply->type != REDIS_REPLY_STRING) {
        fprintf(stderr, "Error:  Can't send command to Redis\n");
        return -1;
    }

    printf("foo = %s\n", reply->str);
    freeReplyObject(reply);

    return 0;
}

Then, see if you can compile and run it like so:
$ cc hiredis-example.c -o hiredis-test -lhiredis
./hiredis-test

Thank you very much, you save my time!) The main problem in my path was in this - "-lhiredis"

Glad you got it working!

@michael-grunder  not working for me.
compiling with -lhiredis is again throwing the same error

Hi, @ArtemLubimov,
It was kind of hard to follow the issue since it's kind of squished up linker errors, but I think I can help.
Try to do the following:
$ git clone https://github.com/redis/hiredis.git
$ cd hiredis
$ make
$ sudo make install
$ make test

Once installed, save the following program to say hiredis-test.c
#include <stdio.h>
#include <hiredis/hiredis.h>

int main(void) {
    redisContext *context;
    redisReply *reply;

    context = redisConnect("<IP_ADDRESS>", 6379);
    if (!context) {
        fprintf(stderr, "Error:  Can't connect to Redis\n");
        return -1;
    }

    reply = redisCommand(context, "SET %s %s", "foo", "bar");
    if (!reply || context->err) {
        fprintf(stderr, "Error:  Can't send command to Redis\n");
        return -1;
    }

    freeReplyObject(reply);

    reply = redisCommand(context, "GET foo");
    if (!reply || context->err || reply->type != REDIS_REPLY_STRING) {
        fprintf(stderr, "Error:  Can't send command to Redis\n");
        return -1;
    }

    printf("foo = %s\n", reply->str);
    freeReplyObject(reply);

    return 0;
}

Then, see if you can compile and run it like so:
$ cc hiredis-test.c -o hiredis-test -lhiredis
./hiredis-test

It's hard to say.  Can you paste the actual error you're getting?

yes sure, this is the error compilation throws:
example.c:4:10: fatal error: hiredis.h: No such file or directory
    4 | #include <hiredis.h>

If you want to answer it here: https://stackoverflow.com/questions/64771884/custom-redis-client-compilation-failing

#include <hiredis.h>

By default hiredis will store headers in /usr/local/include/hiredis/ so you'd need to include <hiredis/hiredis.h>.
I'm guessing this program will compile:
#include <hiredis/hiredis.h>

int main(void) {
    redisContext *c = redisConnect("localhost", 6379);
    return 0;
}

Your other option would be to add -I/usr/local/include/hiredis to your build command.
# As an example
$ cc -I/usr/local/include/hiredis your-program.c -lhiredis

thanks, got it working.

@ashwani29 It's hard to say without an example program.

This is the redis client file redis_client.c.txt, redis server is running in a runc container. I exported the docker redis image to a file system that a runc container can use.  see here https://chromium.googlesource.com/external/github.com/docker/containerd/+/refs/tags/v0.2.2/docs/bundle.md

The program runs just fine for me.
It did return NULL for the GET foo test but that's because it never SET foo to anything.
Here's a smaller program that just tries a SET and then a GET.
https://gist.github.com/michael-grunder/cf88b3217a794ca30a459743ac0974d7
You should also confirm that you can get and set keys via redis-cli as that also uses hiredis.

Thanks, May be the redis server running in the container is not able to save those entries in the database and btw, I used a while loop where the key was an integer and value was also an int. You sure, all that was working correctly.

@michael-grunder
Hello,I think I'm in trouble.The following is the error I encountered, please help me to see.Thinks very much.
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libMVSDK.so when searching for -lMVSDK /usr/bin/ld: skipping incompatible /lib/../lib/libMVSDK.so when searching for -lMVSDK /usr/bin/ld: skipping incompatible /usr/lib/../lib/libMVSDK.so when searching for -lMVSDK /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/9/../../../libMVSDK.so when searching for -lMVSDK /usr/bin/ld: skipping incompatible /lib/libMVSDK.so when searching for -lMVSDK /usr/bin/ld: skipping incompatible /usr/lib/libMVSDK.so when searching for -lMVSDK /usr/bin/ld: cannot find -lMVSDK collect2: error: ld returned 1 exit status make[2]: *** [CMakeFiles/HEU_Vision_2022_MDVS.dir/build.make:341: HEU_Vision_2022_MDVS] Error 1 make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/HEU_Vision_2022_MDVS.dir/all] Error 2 make: *** [Makefile:84: all] Error 2

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libMVSDK.so when searching for -lMVSDK
/usr/bin/ld: skipping incompatible /lib/../lib/libMVSDK.so when searching for -lMVSDK
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libMVSDK.so when searching for -lMVSDK
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/9/../../../libMVSDK.so when searching for -lMVSDK
/usr/bin/ld: skipping incompatible /lib/libMVSDK.so when searching for -lMVSDK
/usr/bin/ld: skipping incompatible /usr/lib/libMVSDK.so when searching for -lMVSDK
/usr/bin/ld: cannot find -lMVSDK
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/HEU_Vision_2022_MDVS.dir/build.make:341: HEU_Vision_2022_MDVS] Error 1
make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/HEU_Vision_2022_MDVS.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

I'm not sure honestly.  I'm not familiar with libMVSDK but hiredis doesn't use it.
Are you trying to build a different project that builds hiredis as a part of the build?   From the build log it looks like you may have the wrong version (e.g. ARM vs x86-64) of the library in your path?

I reinstalled a different version of MVSDK. Then, this problem was solved. Indeed, as you said, the version was wrong. Thank you. Looking forward to communicating with you next time.


thread 'main' panicked at 'assertion failed: (left == right)

I'm getting a bizarre error at runtime:
thread 'main' panicked at 'assertion failed: (left == right) (left:<PHONE_NUMBER>68944, right:<PHONE_NUMBER>69200)', /home/srwalter/.cargo/git/checkouts/futures-rs-a4f11d094efefb0a/master/src/lib.rs:208
If this is caused by an error in my program, I'm at a loss to understand what I'm doing wrong.  Attached is a test case that should reproduce the error.  At a high level I'm trying to adapt a socket into a Stream of messages.  From the backtrace it seems to be failing in read_exact() called by my poll() implementation, but I can't find anything that looks like the assertion printed.
main2.txt
Note that you'll need a listening socket at localhost:1234 for the program to connect to; I just used netcat: nc -l <IP_ADDRESS>:1234

Thanks for the report! This is a pretty poor panic message, and I should update that!
The problem here is that you're creating a TaskData<T> on one task and then accessing it on another. This is specifically done by TaskIo. You've got two calls to create tasks, one is lazy(|| { ... }).forget() and the other is ChunkStream::new(). ... .forget(). I think you can change this to lazy(|| { ... ; ChunkStream::new(...) }).forget() and it'll fix the problems. That is, spawn only one task instead of two.
Let me know if that doesn't work out though!

That got it!  Thanks!


Enable Benchmark Tests

you may want to disable it on the "Github builder"

@powderluv it's weird tho, seems to be passing for all the benchmark tests, but break at the very end:
https://github.com/nod-ai/SHARK/runs/6885863019?check_suite_focus=true#step:7:465

not worth benchmarking on a dual core VM instances that is over subscribed. It probably kills itself with an OOM or something

i pushed a commit when updating the macOS builder.


Configure quality tooling

[x] githooks:

[x] pre-commit: format
[ ] pre-push: run tests

[x] commitlint
[ ] automatic dependency updates
[ ] github actions ☝

Commitlinting configured here: https://github.com/melaniebrgr/react-chemdoodleweb/pull/37


(Chore) #1943 Use useOnPress hook everywhere

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
About #1943
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Checklist:

[x] PR title matches follow: (Feature|Bug|Chore) Task Name
[ ] My code follows the style guidelines of this project
[ ] I have followed all the instructions described in the initial task (check Definitions of Done)
[ ] I have performed a self-review of my own code
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I have added reference to a related issue in the repository
[ ] I have added a detailed description of the changes proposed in the pull request. I am as descriptive as possible, assisting reviewers as much as possible.
[ ] I have added screenshots related to my pull request (for frontend tasks)
[ ] I have pasted a gif showing the feature.
[x] @mentions of the person or team responsible for reviewing proposed changes

@serdiukov-o-nordwhale Please merge those changes to this PR (once you'll have some time available):
https://github.com/GoodDollar/GoodDAPP/pull/1958/files


Add Webhook delete command

Add webhook delete command: https://github.com/mattermost/mattermost-server/pull/9804
Remove 'sudo' prior to newly added commands for 5.6 for formatting consistency when merged into master.

I would prefer to cherry-pick the sudo removal from master to this branch, or leave it consistent, and solve the problem when it is merged. Looks weird that some commands needs sudo and others don't, actually, it give more "force" to the idea of the sudo is needed for that commands, which is not true.

After discussing with @jespino - I have taken a fresh copy of what is currently in master (with the updates to remove sudo as appropriate). I have updated with the commands that were previously approved and merged to 5.6 docs and added the webhook delete command.
Hoping this ensures we have the cleanest version with the least conflicts with changes currently reflecting in Master.


Dynamic topic names?

My application has an article editing page, and I want to implement a warning for users who are both on the same article's editing page (because their edits might conflict).
So I'd like them to be together on a topic named article/{id} where {id} is the id of the article.
On the backend side, how can I define a TopicHandler that will apply to a pattern of topic names, and create separate topics?

https://github.com/GeniusesOfSymfony/WebSocketBundle/blob/master/Resources/docs/TopicSetup.md#step-4--link-channel--topic-with-pubsub-router answered my question.


single host without exclude_ips sets ip_scope as a string

Inventory.cfg:
egrep "^targets|^exclude_ips" inventory.cfg
targets=<IP_ADDRESS>
exclude_ips=
main.py
       # exclude IPs from scope
        if exclude_ips:
            xops = ipop.IPOperations(exclude_ips)
            xscope = xops.sort_ip()
            ip_scope = set(scope) - set(xscope)
        else:
            ip_scope = []           #<<<<<<<<<<<<<<<
            ip_scope.append(scope)
            print "in exclude_ips, ip_scope:%s" %ip_scope

        if not ip_scope:
            msg = '[!] Empty IP address scope! Please, check target IP address[es].'
            print msg
            sys.exit()
        else:
            print "in else of not ip_scope:%s" %scope
            print type(scope)
            if len(ip_scope) == 1:
                print "len(ip_scope) is 1"
                q.put(ip_scope[0])
            else:
                print "In else for ip in ip_scope"
                for ip in ip_scope:
                    q.put(ip)

Hello, @davidgarvey
Can you please provide information about your Python version and OS. Because I can't reproduce the issue

Python 2.7.10 on mac osx.

@bearburger,
Your right, I checked out the latest and it works. Sorry...

look away, nothing to see here.


Update from upstream

Hey @urmilshroff,
Something went wrong with the build.
TravisCI finished with status errored, which means the build failed because of something unrelated to the tests, such as a problem with a dependency or the build process itself.
View build log
TravisBuddy Request Identifier: a0e7a5b0-b548-11ea-aae7-0b05fcc524af


Upgrade to React 18, including remote-ui deps

Background
Resolves https://github.com/Shopify/app-ui/issues/175
Solution
(Describe your solution, why this approach was chosen, and what the alternatives/impacts may be)
🎩

Checkout this branch
Run yarn build-consumer-spin web to get the changes into your spinstance
Run yarn build-consumer turkifier to get the changes to turkifier
Regression test that everything is working

Checklist

[ ] I have :tophat:'d these changes
[ ] I have updated relevant documentation

🎩 ed these changes in web & turkifier, looking good.


(WIP) Multiple datasets support

No. I will work on modifying PreferenceService, DataService, and UI
components to select datasets. I would also make the changes of formatX,
formatY  in a separate PR.
On Tue, Jun 30, 2020, 7:16 PM Jinseo Park<EMAIL_ADDRESS>wrote:

@64json commented on this pull request.
In src/datasets/user-wgn.dataset.ts
https://github.com/googleinterns/guide-doge/pull/46#discussion_r448078030
:

const query = (options: LineChartQueryOptions) => ([{

 points: rows.filter(xBetweenDates(...options.range)),

}]);

Okay, I'll refactor the create function in #45
https://github.com/googleinterns/guide-doge/pull/45. Are you planning
to make further updates to user-white-noise.dataset.ts in this PR?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/googleinterns/guide-doge/pull/46#discussion_r448078030,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQBLHFOR3EOO44IXIXX6QK3RZKMBBANCNFSM4OMAF4FQ
.


Feat: Newsletter form

Describe the feature
newsletter form submissions in the footer will help users to subscribe and be updated
@RamakrushnaBiswal please assign me this issue under level 2, gssoc-extd,hacktoberfest
Add ScreenShots
.
Record

[X] I agree to follow this project's Code of Conduct
[X] I have starred the repository
[X] I'm a gssoc-24-extd contributor
[X] I want to work on this issue

@meghanakn473 add here

@meghanakn473 add here

sure


Fix #102 / Better config support for array properties

Coverage increased (+0.4%) to 74.24% when pulling 523e20325a703d3c695da0a73247c32a2cbb701d on thiagobustamante:master into ace42fd94272ddffb092972177c2396efac82d75 on Leanty:master.


Bug 2058626: Fix CSIDriver fsGroupPolicy

Always apply fsGroup and don't depend on heuristics.
It's important when in-tree volume plugin provisions PVs with fsType: "" by default.
This fixes installation of OCP cluster with PVCs for Prometheus.

/close
We need to change also library-go to delete + re-create CSIDriver, because its' read-only after creation and it may have been created in 4.10.


loading s1.df without export/visualize the geometries

Hello, Panji! I hope you're doing well!
I've been working in some snappy scripts to preprocess S1 SLC products.
In the routine (a .py script), I want to detect the subswaths and the respective bursts in a automated way.
I'm using your solution to derive a geodataframe with the subswaths geometries. With this gdf I'm making a spatial join with my roi to verify the swaths and bursts I will use in TOPSAR split.
However, when I try to load the geometries (s1.df) directly in my code, this returns None. The s1.df is only generated after a call of export/visualization methods. So I have to call .visualize_webmap() to generate the gdf and use in my code, as a temporary solution for this. Here's a snippet of my code to illustrate this issue:

Note: Gambiarra is a brazilian slang for a temporary fix/solution.
I think that an option to generate the s1.df on the fly, without export/visualize the swaths/bursts geometries, would be nice.
Maybe something like .load_zip(create_geoms=True) or a proper method to solely generate the geometries like .create_geoms(), can do the job.
I'll try to implement/test these ideas myself and propose a PR to this issue.
Thanks for your work in this solution, it helps a lot!
Best regards,
Jales Bussinguer

Hi @JalesBussinguer! Yes, I think this would be a good feature. I didn't take into account users who want to use the dataframe only. Feel free to issue a PR regarding this and I can take a look at it.

Hi @JalesBussinguer, I had a thought about it, maybe a property getter can be implemented so that the workflow for the users will remain unchanged. Let me know what you think.
Something like this simple example:
class TopsSplitAnalyzer:

   def __init__(self):
      self._df = None

   # Getter method
   @property
   def df(self):
      if self._df is None:
         self._create_subswath_geometry()
      return self._df

Thus people can still use the existing STSA API without any changes needed in their workflows. In your case, it will load the geometry when you call s1.df as the first method in your code.

Hi @pbrotoisworo! I think we had similar ideas to adress this issue.
Your approach is very interesting because it indicates that a simple call of s1.df will bring the subswath geometries gdf. For me, it's an implicit way to do the job. Personally, I like this.
However, I thought that, with an explicit call of a method s1.get_subswath_geometries(), the users will know that something is happening behind the scenes to create the geometries. This kind of approach could be easier for beginner users to know what's happening in their code.
Here's an example:

With the addition of this method to the source code, I think the only affected users will be those whose interest is to use solely the gdf. The other ones can still use their workflows normally.
Both ideas solve the issue and have its merits. Let me know what you think about my approach.

I understand and agree with your point. Let me know if you want my collaboration on the code.
Thanks for your time, I'll stay tuned for the update. Keep up the good work!

@JalesBussinguer feel free to do a PR to fix this based on our discussion and I can look at it later. I'm very busy at the moment and I can only take a look at this maybe later next week.


As a user i would like to have consistent styling across browsers

Fixed with commits https://github.com/joshniemela/KU-courses/commit/aea2ad1f0dd59b51eb3af2df9586e1a0e3b475a4, f1c0f66b0ba223d2171ce64c9d565c10d3433463 f1c0f66b0ba223d2171ce64c9d565c10d3433463 f1c0f66b0ba223d2171ce64c9d565c10d3433463


Remove Openssl dependency by using ecies pure implementation.

Yeah I changed all lightspark SDKs to not use openssl when I tried to compile things on GH.
The downside for openssl is that it requires the host machine to have openssl installed, which might not work for all customers.


Set Firstorder Solver idtac.

Set Firstorder Solver idtac.
(*
There is no flag or option with this name: "Firstorder Solver idtac".
[unknown-option,option]
 *)

The problem is the current solution of trying to guess the option value's type is pretty fragile. A better solution would be to get a list of all options and their types from Coq, but neither the GetOptions XML command nor Print Options seems to include Firstorder Solver. Two potential workarounds are to hardcode special cases for options that take tactic arguments (are there others?), or pass the whole command with Add instead of SetOptions and let Coq figure it out.
I'll take a look at what CoqIDE and VsCoq do and try to address this in the next couple days.


Issue using nwdirectory field with node-webkit-builder

This is a pretty easy issue to repro. Pre-build, 'input type="file" nwdirectory /' works as expected. It returns a directory that you select from the directory browser. Post build, after you select a directory from the directory browser it returns all the files as opposed to the directory.
This is happening on Windows 8.1 using the nw.build method.

Revision: This looks like an issue with NWK v0.12. I don't see this happening on v0.11.5.


Adding Library configs using forRoot() and InjectionToken

I'm having trouble adding library configs using forRoot() and InjectionToken.
When passing in environment variables via forRoot(config), I can access the variables in the forRoot method, but they are not injecting into services.
I've added some comments in my sample code to show where things are breaking.
I originally generated my project using<EMAIL_ADDRESS>app.module.ts (App that uses Library)
@NgModule({
  declarations: [AppComponent],
  imports: [
    CoreModule.forRoot(environment) // {key: 'foobar'}
  ],
  providers: [...],
  bootstrap: [AppComponent],
})
export class AppModule { }

index.ts (Library)
import { NgModule, ModuleWithProviders } from '@angular/core';
import { CommonModule } from '@angular/common';
import { Config, LIB_CONFIG } from './config';
import { FooService } from './foo.service';

@NgModule({
  imports: [CommonModule],
  providers: [FooService],
})

export class CoreModule {
  static forRoot(config: Config): ModuleWithProviders {
    console.log(config); // prints:  `{key: 'foobar'}`
    return {
      ngModule: CoreModule,
      providers: [
        {provide: LIB_CONFIG, useValue: config} // If I hard code `useValue: {key: 'FooBar'}`, instead of using `config` it works... weird.
      ],
    };
  }
}

config.ts (Library)
import { InjectionToken } from '@angular/core';

export interface Config {
  key?: string;
}

export const LIB_CONFIG = new InjectionToken<Config>('LIB_CONFIG');

foo.service.ts (Library)
import { Inject, Injectable } from '@angular/core';

import { Config, LIB_CONFIG } from './config';

@Injectable()
export class FooService {
  private key: string;

  constructor(
    @Inject(WEB_CONFIG) private config: Config,
  ) {
    console.log(config); // prints: `undefined`
    this.key = config.key; // can't read property 'key' of undefined
  }

Hey, I've got exactly same issue but with one difference: this occurs only with -prod enabled

You mentioned that you get this bug only with -prod enabled, so I guess it has to do with AoT compiler and the statement cannot be parsed ahead. But there is a trick that worked for me by using the spread operator. You can try this in your provider definition:
providers: [
        ...[{provide: LIB_CONFIG, useValue: config}]
]

or if you wanna provide a default config as a fallback you can do this way:
        ...(config) ? [{provide: LIB_CONFIG, useValue: config}] : [{provide: LIB_CONFIG, useValue: new DefaultConfig()]

Thanks, @jotwea. That's interesting.
We abandoned this library and moved on to doing things a different way. I can't easily test to validate that it resolves the issue, but maybe @vonsko or @gkaran can speak to it.

Also I believe using console.log before the return statement in forRoot() static method causes issues with both AOT and JIT compilation . So please avoid it incase you encounter the exception Error during template compile of 'AppModule'   Function calls are not supported in decorators

This actually worked for me in a sample project. I use the following versions
`Angular CLI: 6.0.8
Node: 8.11.1
OS: darwin x64
Angular: 6.1.1
... common, compiler, compiler-cli, core, forms, http
... language-service, platform-browser, platform-browser-dynamic
... router
Package                           Version
@angular-devkit/architect         0.6.8
@angular-devkit/build-angular     0.6.8
@angular-devkit/build-optimizer   0.6.8
@angular-devkit/core              0.6.8
@angular-devkit/schematics        0.6.8
@angular/animations               6.1.3
@angular/cdk                      6.4.5
@angular/cli                      6.0.8
@angular/material                 6.4.5
@ngtools/webpack                  6.0.8
@schematics/angular               0.6.8
@schematics/update                0.6.8
rxjs                              6.2.2
typescript                        2.7.2
webpack                           4.8.3`

@brentchow hi, I have the error function calls are not supported in decorators but ... was called when i use --prod, can you give me a solution ?  thanks a lot.
@gkaran hi, Have you found a solution?

Sorry @deepthan nothing new to report as I too abandoned this and converted into an angular/cli library project

@vijayakumar-psg587  can you please share git repo location for sample project?

Hey @brentchow, could you share that "different way" of doing this? I'm facing similar problems. Thanks.

@brentchow hi, I have met the same error when I use --prod to build my consume project. could you please give me some advise?

any ideas how to use this approach within ngmodule?
You can inject provider value within a service like constructor(private http: Http, @Inject('env') private env)
But how would you do same thing within an export function ?
Say you pass the env value to your module like that:
@NgModule({
  exports: [ApolloModule, HttpLinkModule],
  providers: [
    {
      provide: APOLLO_OPTIONS,
      useFactory: createApollo,
      deps: [HttpLink, 'env']
    }
  ]
})

Now NgModule has an export function that depend on env:
export function createApollo(httpLink: HttpLink) {
  const link = ApolloLink.from([basic, auth, httpLink.create({ env })]);
}

ref: https://gitter.im/angular/angular?at=5de9d9196a85195b9e074327

Same issue here. Can't use 'of()' operator in the forRoot() when using prod build

ComponentLibraryModule.forRoot({
      appLinks: of(APP_LINKS)
    }),

Works and build OK in non prod. Prod build results in:
ERROR in src\app\app.module.ts(100,22): Error during template compile of 'AppModule'
Function calls are not supported in decorators but 'of' was called.

I realized a simple fix workaround for it is to wrap the observable within a function, ie:
export function appLinksFactory(): Observable<AppLinks[]> {
    of(APP_LINKS)
}

ComponentLibraryModule.forRoot({
        appLinks: appLinksFactory
    }),

You will obviously have to change your configuration object to match, but this works ok and builds in all environments

Any one noticed the use of LIB_CONFIG and WEB_CONFIG?


(#5) Completely refactored the Game into various Classes.

This change is

Yes, I really do review all of my own code.


[CouchDB] Remove CouchDB all_or_nothing option for bulk API

Fixes #11009
Superseeds https://github.com/dmwm/WMCore/pull/10780
Status
ready
Description
CouchDB all_or_nothing option is no longer available for bulk APIs. This PR stops using that option.
Note that if there is a conflict with one or more of the documents being updated, the conflict is only resolved if a callback function is passed over.
Is it backward compatible (if not, which system it affects?)
YES
Related PRs
Superseeds https://github.com/dmwm/WMCore/pull/10780
by adding a few extra checks in the tests and other minor improvements.
Many other changes have been provided in this PR: https://github.com/dmwm/WMCore/pull/11001
External dependencies / deployment changes
Requires CouchDB 3.x to be merged in cmsdist.

And there is nothing else to be done here, merging.


Any interests on helping me to recreate a new IO library?

https://github.com/expnkx/fast_io/blob/master/examples/0045.blizzard_authenticator/enroll.cc
I also implement the ryu algorithm like you did.
https://github.com/expnkx/fast_io/tree/master/include/fast_io_freestanding_impl/ryu

This requires C++20?

This requires C++20?

Yes!
C++ is awesome. No overhead of any abstraction. Easy to read code. Not much of template errors.

C++20 isn't even available yet, and once it is available there will not be any users. I prefer to require only C++11, otherwise not many people can use the lib.

C++20 isn't even available yet, and once it is available there will not be any users. I prefer to require only C++11, otherwise not many people can use the lib.

Nope. My library is designed for C++20. Or it is not possible. All its infrastructure is based on C++20 feature concepts to make all the templates overloading work.
It is a library for the future.
Here is a MinGW GCC 10 I compiled last month. It has the std header . You can try it with this amazing compiler :)
https://bitbucket.org/ejsvifq_mabmip/mingw-gcc/src/master/

Here are all the concepts this library defines.
https://github.com/expnkx/fast_io/blob/master/include/fast_io_core_impl/concept.h

Without C++20, it is not possible :)

There are plenty of libraries that have concepts / named requirements that only use C++11, they just don't use the C++20 syntax of concepts but SFINAE works just fine. Beast is one example, Asio is another. This seems like a gratuitous use of new language features at the expense of limiting who will be able to enjoy the library. If that's what you're into, fine, but I am not interested in that.

Without C++20, it is not possible :)

There are plenty of libraries that have concepts / named requirements that only use C++11, they just don't use the C++20 syntax of concepts but SFINAE works just fine. Beast is one example, Asio is another. This seems like a gratuitous use of new language features at the expense of limiting who will be able to enjoy the library. If that's what you're into, fine, but I am not interested in that.

SFINAE does not work fine.


Remove the legacy ServiceBusReceiveLinkProcessor, which uses Reactor-Core FluxProcessor deprecated in 3.5.0

Remove the legacy ServiceBusReceiveLinkProcessor, which uses Reactor-Core FluxProcessor deprecated in 3.5.0. Removal will be in favor of a reimplementation of receiver recovery using FluxOperator. Work has dependency on #33701, #33682

This MessageFlux type replacing ServiceBusReceiveLinkProcessor is implemented in the PR https://github.com/Azure/azure-sdk-for-java/pull/34854


Add methods to remove probe paths from resolver

I'm finding it necessary at runtime to remove probe paths from my remote resolver, particularly the application base path. This is to prevent loading dependent assemblies from the application base path if my remote assemblies depend on a different version of the same assembly (e.g. newer version of Common.Logging, etc.), which has caused a lot of issues with our plugin architecture. It's not possible to disable probing the application base path in this scenario as the base path needs to be probed to locate AppDomainToolkit itself.
Example usage with an instantiated app:
var appDomainContext =
   AppDomainContext.Create(new AppDomainSetup
   {
      ApplicationName = pluginName,
      ApplicationBase = basePath,
      CachePath = pluginDir,
      ConfigurationFile = configFile,
      PrivateBinPath = pluginDir
   }));

var loader = appDomainContext.RemoteResolver as PathBasedAssemblyResolver;
if (loader != null) loader.RemoveProbePath(basePath);
// Now safe to load our plugin without conflicts
appDomainContext.LoadAssemblyWithReferences(LoadMethod.LoadFile, pluginPath);

Also note that the diff is messy, it appears that this file must not have had normalized line endings prior to the addition of text=auto to the .gitattributes file. Changes start here.

That's a fun chicken/egg problem there. Thanks for the pull, I'll review soon.

@jduv Have you had any time to review? Thanks.

Apologies my friend, I have not. I will do this post haste tomorrow. Scout's honor.

No worries, thanks!

Bah this is a messy problem. Accepting your pull. Thanks!


can you add handling when viewController is closed

i need to handle the search closed or dismissed

I am looking the same, if you are able to do that, share it!
Please

how to handle the search closed or dismissed
or how to known when it is get dismissed


Opportunity to set min events height to 5 min.

I saw previous discussion about that issue, but maybe something new approach to resolve was founded ?
Currently I found cheat to calculate events height manually(just use createEvents method for it) but it stop works as soon as event should be "cut"(cause it take small part of two days but we can't control calculating of second part height)
Updates?)

Related(and Duplicate) of #563.

@skillforce
I don't get the idea of setting the minimum height of the event to 5 minutes. Isn't it too small? I wonder how you set the height manually though.
And yeah, we need to think again about how to set the minimum height of the event from the bottom line. Right now it's not on our priority list but some clever PR would always be welcome.

@adhrinae  if event totally in one day - just calculate height of event and set it in height property :
const duration= (moment(ToDateTime) - moment(FromDateTime)) / 60000
const height = (minLong / 14.4).toFixed(3)
in my case above I found that solution:
calendarRef.current.getInstance().setOptions({
template: {
time(event) {...*}
};
        ...* -  1)create empty array (will contain Id's of events);
                 2) on each iteration(rendering of new event) - write event Id's in that array and check if it duplicated;
                 3) if duplicated(it's mean that TUI cut the event) - check how many minutes left from start of end event day to event end date;
                 4) if it <30 min  than calculate certain amount of minutes and write it like data-attribute on event title;
                 5) via useEffect check all elements which contain that data-attribute and via js set height style of parent element :
                 const durationFromDataAttribute= elem.getAttribute('data-duration')
                 const height = (durationFromDataAttribute/ 14.4).toFixed(3)
                 elem.parentElement.parentElement.parentElement.style.height=`${height}%`

Sounds awesome but it would be great for others if you could use the code block syntax for the example code 😄
https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks

@adhrinae
@skillforce idea works for me. I'm working with a daily calendar.
first of all I had to increase the height of the calendar otherwise the 5 min slot is too small and makes it impossible to see the label.
file toastui-calendar.css
before
.toastui-calendar-timegrid { height:200%;..
after
.toastui-calendar-timegrid { height:300%;..
Then I worked in the html source code.
I also had to decrease the line height for the same reason in the html file:
<body style="line-height:1;">
I have declared an array of events
var MOARR_EVENTS = [];
You need to calculate the percentage_for_minutes  factor like this:
// [minutes displayed] : 100[%] = 1min : X
// so..
// x = (100 * 1) / [minutes displayed]
//
// in my case,
// HOURSTART=8;
// HOUREND=20;
// so..
// x = 100 / ((HOUREND - HOURSTART) * 60)
var percentage_for_minutes = 100.0 / (((HOUREND - 1) - HOURSTART) * 60.0)

then I added the event function in the calendar options:
calendar.setOptions({
	template: {
		time(event) {
			const duration = (event.end.d.d - event.start.d.d) / 60000;
			MOARR_EVENTS.push({
				evid: event.id,
				calid: event.calendarId,
				dur: duration,
			});
			return `<span style="color: cyan; white-space: normal;"><b>${FormatTimeFromDate(event.start.d.d)} - ${FormatTimeFromDate(event.end.d.d)}</b> ${event.title}</span>`;
		},
	},
});

In the return event I also added style="white-space: normal;" to ensure that the label text can wrap
Therefore, before adding events to the calendar, the MOARR_EVENTS array must be reset.
MOARR_EVENTS = [];
so right after adding the events, you have to force render the calendar to trigger the event function stored in the calendar's options.
calendar.render();
and then the last part: after the render call, you have to check all events stored in the list to set the real height of those that last less than 30 minutes.:
for (iloop = 0; iloop < MOARR_EVENTS.length; iloop++) {
	if (MOARR_EVENTS[iloop].dur < 30)	{
		let oitem = calendar.getElement(MOARR_EVENTS[iloop].evid, MOARR_EVENTS[iloop].calid);
		if (oitem != null) {
			const height = (MOARR_EVENTS[iloop].dur * percentage_for_minutes);
			oitem.style.height = "calc(" + height.toString() + "% - 2px)"
		}
	}
}

here you are ;)
I think I have not forgotten anything


Add ETag support

Hi @patrixr,
So I added basic support for conditional GETs using ETags. I've done some tests and it works as expected on my end.
As proposed, enableEtagSupport: true is used in the middleware settings to enable the feature.
I tried to follow the coding style as much as I could, let me know what you think!

@patrixr I'll add the tests today, just need to familiarize myself with the test procedure

@patrixr I'll add the tests today, just need to familiarize myself with the test procedure

Sure thing, the test setup was very quickly improvised, it's far from ideal and I do hope to rewrite them better one day

Sure thing, the test setup was very quickly improvised, it's far from ideal and I do hope to rewrite them better one day

@patrixr I added a couple tests to the cache.test.js file. Does it cover enough of the new feature in your opinion?

@patrixr I added a couple tests to the cache.test.js file. Does it cover enough of the new feature in your opinion?

@julesrenaud I think the tests overall could do with some improvements (not yours specifically), the whole thing was very improvised since the module started as a small unambitious side project.
I do plan on re-visiting them sooner than later. For the meantime I think your tests should at least smoke out some regressions. If you could fix the conflict then I'll merge the PR
(btw, I think we can bump version to 1.3.0, it's a significant improvement)
And thanks again for this !

@julesrenaud I think the tests overall could do with some improvements (not yours specifically), the whole thing was very improvised since the module started as a small unambitious side project.
I do plan on re-visiting them sooner than later. For the meantime I think your tests should at least smoke out some regressions. If you could fix the conflict then I'll merge the PR
(btw, I think we can bump version to 1.3.0, it's a significant improvement)
And thanks again for this !

(btw, I think we can bump version to 1.3.0, it's a significant improvement)

Of course, I erred on this one

(btw, I think we can bump version to 1.3.0, it's a significant improvement)

Of course, I erred on this one

@patrixr I think we should be good to go. I swapped double quotes for single quotes while merging cache.test.js (from the PR for caching headers)

@patrixr I think we should be good to go. I swapped double quotes for single quotes while merging cache.test.js (from the PR for caching headers)

@patrixr are you going to take care of updating the README.md file?

@patrixr are you going to take care of updating the README.md file?

Great, yes I'll merge/tag and update the readme today ! Thank you !

Great, yes I'll merge/tag and update the readme today ! Thank you !

@julesrenaud Version 1.3.0 is now available on NPM, cheers ! 👍

@julesrenaud Version 1.3.0 is now available on NPM, cheers ! 👍

@julesrenaud Version 1.3.0 is now available on NPM, cheers ! 👍

@patrixr glad I could help, thanks for the guidance!

@julesrenaud Version 1.3.0 is now available on NPM, cheers ! 👍

@patrixr glad I could help, thanks for the guidance!


Bug: After adding a student to a roster I am unable to add a new student to the students table

Upon program startup a global flag: globalTrigger.isTriggered is set to TRUE. This trigger is used in several places but the main place it is being used is in the db.cpp file in the function check_if_student_id_exists(). This function was modified to work from both adding a new student to the students table in the db AND add a student straight to a roster.
Somewhere in the code the globalTrigger.isTriggered flag is being set to FALSE after adding a new student to a roster.
So in the event that I want to add another student straight to the students table it doesnt work and the error is logged.
Steps taken to recreate bug:

Start program
From main menu go to manage roster menu(2)
From manage roster menu add a student to a roster(4)
Navigate to main menu
From main menu  go to add a student to db menu(3)
Enter 1 to add a new student.

This is where the bug Occurs. This process will be cut short once an ID has been assigned to the student. The student will NOT be added to the database. View error log to confirm.

Bump


Make basic auth optional in case of 401

It would be nice to be able to configure if restful should default to basic auth when aborting with a 401 status code.

duplicate of #398