OpenTelemetry support

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Summary 💡
Currently ent supports OpenCensus. Since the OpenCensus project merged with OpenTracing to form OpenTelemetry (OTEL), I'm wondering if there's a plan to migrate to OTEL in the mid or long run.
Motivation 🔦
Want to make sure that up-to-date deps are in use and current good practices are followed.

Hey @mhausenblas and thanks for raising up this issue.
Currently, ent supports opensouces using the ocsql package, and doesn't support OTEL  due to lack of database/sql integration (see https://github.com/open-telemetry/opentelemetry-go-contrib/issues/5).
However, in the near future, I plan to provide a tracing extension for ent (in a layer above database/sql) and it will support OTEL. Once https://github.com/open-telemetry/opentelemetry-go-contrib/issues/5 is addressed, we'll add it to our docs as well.

Thanks so much for the speedy follow-up @a8m that is much appreciated! Gotcha and lemme know please if I can facilitate things.

Hello @a8m, just to let you know, there is updates on the open-telemetry integration https://github.com/open-telemetry/opentelemetry-go-contrib/pull/505#issuecomment-800452510 but I don't know if it unblocks this issue.

They say they want to see broader usage before integrating the PR into contrib. ent has pretty damn broad usage, so including the work of @XSAM did in https://github.com/XSAM/otelsql can lead to it being accepted by opentelemetry/contrib eventually. At least if is what I think.

Is there an update on this issue? I'm unclear as to whether I can use https://github.com/XSAM/otelsql alongside entgo or whether it requires changes within the ent project?

I have tried this ent example with https://github.com/XSAM/otelsql. It works fine.
Here is the changes I made:
+ db, err := otelsql.Open("sqlite3", "file:ent?mode=memory&cache=shared&_fk=1")
+ if err != nil {
+ 	panic(err)
+ }
+
+ drv := entsql.OpenDB(dialect.SQLite, db)
+ client := ent.NewClient(ent.Driver(drv))
+
- client, err := ent.Open("sqlite3", "file:ent?mode=memory&cache=shared&_fk=1")
- if err != nil {
- 	log.Fatalf("failed opening connection to sqlite: %v", err)
- }

From the implementation perspective, as long as the ent interacts with a database through the database/sql with context, then the otelsql should work with ent.

Thanks for your work @XSAM 🙌
I just tried different instrumentation libraries and non would propagate from the http handler down to ent. I first suspected ent not using ...Context methods. then I found this issue and tried your package and it works flawlessly.
Just leaving this here if someone faces the same problem and stumbles across this issue suspecting it might be ent.

Hey @mhausenblas and thanks for raising up this issue.
Currently, ent supports opensouces using the ocsql package, and doesn't support OTEL due to lack of database/sql integration (see open-telemetry/opentelemetry-go-contrib#5).
However, in the near future, I plan to provide a tracing extension for ent (in a layer above database/sql) and it will support OTEL. Once open-telemetry/opentelemetry-go-contrib#5 is addressed, we'll add it to our docs as well.

Hey @a8m is there any plan to add support for OTEL ? I wish to contribute.


Route function should include nonce

GlacisRouter route function should include nonce as an output so that smart contracts can programmatically retry instead of relying on external tools to cache nonce.
   function route(
        uint256 chainId,
        bytes32 to,
        bytes memory payload,
        uint8[] memory gmps,
        uint256[] memory fees,
        address refundAddress,
        bool retriable
    ) public payable virtual returns (bytes32, uint256);

Agree!

Addressing in https://github.com/glacislabs/v1-core/pull/11

Addressed with https://github.com/glacislabs/v1-core/pull/11


Added usage of sas_token to perform authentication

This scenario will happen only when sas_token is specified and other auth parameters are
not provided (account_key, client_secret)

@hayesgb - as you the last committer. My PR is currently failing that check with weird error, not sure what has caused it - my change is pretty simple and straight-forward:
An unexpected error has occurred: CalledProcessError: command: ('/usr/share/miniconda/bin/python', '-mvirtualenv', '/home/vsts/.cache/pre-commit/repo100q35nt/py_env-python3.7', '-p', 'python3.7')
return code: 1
expected return code: 0
stdout:
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.7'
Any suggestions?

Looks like there was a change to the way ADO handles environments in a pre-commit.  I've updated the pre-commit-config.yaml and it passed, so you should be able to pull the latest changes into master and then resubmit the PR.

Thanks a lot @hayesgb !


[release-v1.9] Set consumer and consumergroups finalizers when creating them

It is possible that a deleted consumer or consumergroup might be reconciled and never finalized when it is deleted before the finalizer is set.
This happens because the Knative generated reconciler uses patch (as opposed to using update) for setting the finalizer and patch doesn't have any optimistic concurrency controls.

So we logically chain them (e.g Source -> ConsumerGroup -> Consumer(s))
Why didn't we set those before, just to understand? Oversight? or new problem exposed due to updated/different tests?

So we logically chain them (e.g Source -> ConsumerGroup -> Consumer(s)) Why didn't we set those before, just to understand? Oversight? or new problem exposed due to updated/different tests?

It's a problem in the Knative generated reconcilers, see PR description

/cherry-pick release-v1.10

/cherry-pick release-v1.11

It's a problem in the Knative generated reconcilers, see PR description, so it's a new bug discovered

I saw the description. But was wondering more if there is here a specific.
But seems like a general issue! Which ... never hit us (that badly) before?


At Chrome run Tensorflow.js.

Use the square layer tf.layers.conv2d, This file prompts a run error.
webgl_util.js
Error: Failed to compile fragment shader.

@blcyzycc
The issue posted  looks like related to Tensorflow/tfjs repo. Could you please post this issue in that repo. Hence there is a big community to support for tfjs issues. Thanks

This error does not always appear, it can run normally on Edge, and this error will not appear.

@blcyzycc
Please check these issues: link,link2 in case the issue still exist please create an issue @ this repo and move this to closed status.


lmql run not working for llama models even though same script works in playground and also for openai models

In short: A very simple script works on both playground and command line when it's using OpenAI models, but when using llama.cpp it works only on playground but not on the command line.
filename: test_llama.lmql
sample(1, 0.2)
    """Hello! my name is [NAME]."""
from
    lmql.model("llama.cpp:D:\models\llama-2-7b.Q4_0.gguf",trust_remote_code=True, endpoint="<IP_ADDRESS>:8080")

This works on playground but not on the command line (i.e lmql run test_llama.lmql)
filename: test_openai.lmql
sample(1, 0.2)
    """Hello! my name is [NAME]."""
from
    "chatgpt"

This works on both.
Trace
None of PyTorch, TensorFlow >= 2.0, or Flax have been found. Models won't be available and only tokenizers, configuration and file/data utilities can be used.
Exception in thread Thread-1 (load):
Traceback (most recent call last):
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/huggingface_hub/utils/_errors.py", line 304, in hf_raise_for_status
    response.raise_for_status()
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/requests/models.py", line 1021, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://huggingface.co/tokenizer.model/resolve/main/tokenizer_config.json

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/transformers/utils/hub.py", line 398, in cached_file
    resolved_file = hf_hub_download(
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 119, in _inner_fn
    return fn(*args, **kwargs)
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 1403, in hf_hub_download
    raise head_call_error
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 1261, in hf_hub_download
    metadata = get_hf_file_metadata(
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 119, in _inner_fn
    return fn(*args, **kwargs)
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 1674, in get_hf_file_metadata
    r = _request_wrapper(
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 369, in _request_wrapper
    response = _request_wrapper(
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 393, in _request_wrapper
    hf_raise_for_status(response)
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/huggingface_hub/utils/_errors.py", line 352, in hf_raise_for_status
    raise RepositoryNotFoundError(message, response) from e
huggingface_hub.utils._errors.RepositoryNotFoundError: 404 Client Error. (Request ID: Root=1-6602f667-65af9e757de6bc72081ec15d;a84ddd00-5a5c-44a9-9a9a-000e2938e73e)

Repository Not Found for url: https://huggingface.co/tokenizer.model/resolve/main/tokenizer_config.json.
Please make sure you specified the correct `repo_id` and `repo_type`.
If you are trying to access a private or gated repo, make sure you are authenticated.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/runtime/tokenizer.py", line 43, in load
    t = loader()
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/runtime/tokenizer.py", line 349, in loader
    t = TransformersTokenizer.from_pretrained(model_identifier, **kwargs)
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/runtime/tokenizers/hf_tokenizer.py", line 28, in from_pretrained
    tokenizer = AutoTokenizer.from_pretrained(model_identifier, **kwargs)
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/transformers/models/auto/tokenization_auto.py", line 779, in from_pretrained
    tokenizer_config = get_tokenizer_config(pretrained_model_name_or_path, **kwargs)
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/transformers/models/auto/tokenization_auto.py", line 612, in get_tokenizer_config
    resolved_config_file = cached_file(
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/transformers/utils/hub.py", line 421, in cached_file
    raise EnvironmentError(
OSError: tokenizer.model is not a local folder and is not a valid model identifier listed on 'https://huggingface.co/models'
If this is a private repository, make sure to pass a token having permission to this repo either by logging in with `huggingface-cli login` or by passing `token=<your_token>`
Traceback (most recent call last):
  File "/Users/username/miniconda3/envs/py310/bin/lmql", line 8, in <module>
    sys.exit(main())
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/cli.py", line 260, in main
    command[0]()
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/cli.py", line 71, in cmd_run
    results = asyncio.run(lmql.run_file(absolute_path, **kwargs))
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
    return future.result()
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/api/run.py", line 9, in run_file
    return await q(*args, **kwargs)
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/runtime/lmql_runtime.py", line 230, in __acall__
    results = await interpreter.run(self.fct, **query_kwargs)
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/runtime/tracing/tracer.py", line 240, in wrapper
    return await fct(*args, **kwargs)
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/runtime/interpreter.py", line 955, in run
    self.root_state = await self.advance(self.root_state)
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/runtime/interpreter.py", line 385, in advance
    await continue_for_more_prompt_stmts()
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/runtime/interpreter.py", line 365, in continue_for_more_prompt_stmts
    await query_head.continue_()
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/runtime/multi_head_interpretation.py", line 140, in continue_
    await self.handle_current_arg()
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/runtime/multi_head_interpretation.py", line 112, in handle_current_arg
    await self.advance(res)
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/runtime/multi_head_interpretation.py", line 89, in advance
    await self.handle_current_arg()
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/runtime/multi_head_interpretation.py", line 111, in handle_current_arg
    res = await fct(*self.current_args[1], **self.current_args[2])
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/runtime/interpreter.py", line 166, in set_model
    self.interpreter.set_model(model_name)
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/runtime/interpreter.py", line 323, in set_model
    VocabularyMatcher.init(model_handle.get_tokenizer())
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/ops/token_set.py", line 42, in init
    if tokenizer.name in VocabularyMatcher._instances:
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/runtime/tokenizer.py", line 88, in name
    return self.tokenizer_impl.name
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/runtime/tokenizer.py", line 83, in tokenizer_impl
    tokenizer_not_found_error(self.model_identifier)
  File "/Users/username/miniconda3/envs/py310/lib/python3.10/site-packages/lmql/runtime/tokenizer.py", line 366, in tokenizer_not_found_error
    raise TokenizerNotAvailableError("Failed to locate a suitable tokenizer implementation for '{}' (Make sure your current environment provides a tokenizer backend like 'transformers', 'tiktoken' or 'llama.cpp' for this model)".format(model_identifier))
lmql.runtime.tokenizer.TokenizerNotAvailableError: Failed to locate a suitable tokenizer implementation for 'tokenizer.model' (Make sure your current environment provides a tokenizer backend like 'transformers', 'tiktoken' or 'llama.cpp' for this model)

Another detail, this was working up to relaese v0.7b3 then it breaks on v.07
Version v0.7b3 works
pip install --force-reinstall lmql==v0.7b3
lmql run test_query.lmql

result: prompt executes and prints result
Version v0.7 breaks
pip install --force-reinstall lmql==v0.7
lmql run test_query.lmql

result: error, same trace as above


How to trigger by a /

How to manually trigger search only by frist typing /, otherwise it can be used as normal text field?

Hello @lucasjinreal, Thanks for filing the issue. SearchField allows you to show suggestions based  on custom logic using onSearchTextChanged callback. This callback is triggered everytime the text in searchfield changes. This callback expects you to return the filtered suggestions
I think you should be able to achieve it by doing something like this,
onSearchTextChanged: (query) {
      List<String> filter = [];
      if (query.startsWith('/')) {
        filter = suggestions;
      }
      return filter
          .map((e) => SearchFieldListItem<String>(e,
              child: Padding(
                padding: const EdgeInsets.symmetric(vertical: 4.0),
                child: Text(e,
                    style: TextStyle(fontSize: 24, color: Colors.red)),
              )))
          .toList();

Let me know if that doesn't work.

You may also refer this complete code sample in the example app.

@maheshmnj thanks for your kindly demo.
the onSearchTextChanged's params query would be always whole text users input right? I want the pop window suggest only when first / pressed, if later more / typed, it will be ignored, will it handle this ?

the onSearchTextChanged's params query would be always whole text users input right? I want the pop window suggest only when first / pressed, if later more / typed, it will be ignored, will it handle this ?

@lucasjinreal Yes, the query parameter gives the entire text present in the searchfield. That callback is invoked everytime the text input changes in the searchfield meaning if a user types / or // it will be triggered with respective text in the searchfield.
If you want to show suggestions only when text input has first / then you could write your own logic or also use regular expression. The callback only expects you to return a list (an empty list would mean no suggestions)

@maheshmnj  the query of this should be from textController right? So if i want it only detects / at first input, it should clear textController input right? which means, my ExtendedTextField (it shows span for certain text pattern) should not using span pattern start with /

@maheshmnj  Hello, I have a customized TextField , how to using along with my customized TextField,
And seems it can not controlled by arrowUp key on Desktop.
I want using arrowUp key to select suggestions on Desktop.

@lucasjinreal At this point It is not possible to use your own textfield to get the searchfield features and there not plans to do so in the future. May I know what customization you are referring to that is in Textfield but not in searchfield?

I want using arrowUp key to select suggestions on Desktop.

This is being tracked here https://github.com/maheshmnj/searchfield/issues/7

@lucasjinreal Keyboard support has been added to Searchfield, Now you should be able to navigate suggestions using the arrow keys, Please use the latest version 0.9.9

How to manually trigger search only by first typing /, otherwise it can be used as a normal text field.

@lucasjinreal I filed an issue to track trigger-based search where the search suggestion will be shown only when you enter a specific pattern. Please follow up on this issue https://github.com/maheshmnj/searchfield/issues/116


Using a standard prefix for the CSS variables defined by this theme

From @bollwyvl in https://github.com/pandas-dev/pydata-sphinx-theme/pull/273:

I still really recommend doing a CSS variable prefix, e.g. --pst-

(I think you mentioned that in the original PR that added the CSS variables as well, but at that point I didn't get what you meant ;))
That indeed sounds like a good idea (and good practice) to do.

100% - it would be great if we did this after the next release, because it'll take downstreams a while to re-adjust any CSS they might be over-riding

100% - it would be great if we did this after the next release, because it'll take downstreams a while to re-adjust any CSS they might be over-riding

I don't fully understand the "after the next release" part. I was actually thinking: we need to do this before doing a release, because otherwise renaming those variables gives a breaking change for those who start to use them?

I don't fully understand the "after the next release" part. I was actually thinking: we need to do this before doing a release, because otherwise renaming those variables gives a breaking change for those who start to use them?

Ah, or maybe you were thinking about prefixing CSS classes we use in the templates / CSS? That's indeed also something we should clean-up, rationalize and standardize as well, for sure! (-> https://github.com/pandas-dev/pydata-sphinx-theme/issues/37) But so here I was specifically talking about the variables ("properties"), which are new in master, and we can still change without breaking users (except if you were using master).
Now, for the classes, when we would rename them, I am not fully sure what the best workflow would be to change them that is easiest for downstream projects. Probably just a hard break and clear release notes / docs about it?

Ah, or maybe you were thinking about prefixing CSS classes we use in the templates / CSS? That's indeed also something we should clean-up, rationalize and standardize as well, for sure! (-> https://github.com/pandas-dev/pydata-sphinx-theme/issues/37) But so here I was specifically talking about the variables ("properties"), which are new in master, and we can still change without breaking users (except if you were using master).
Now, for the classes, when we would rename them, I am not fully sure what the best workflow would be to change them that is easiest for downstream projects. Probably just a hard break and clear release notes / docs about it?

ahhh yes - you are correct, I was misunderstanding you...I meant classes :-)

ahhh yes - you are correct, I was misunderstanding you...I meant classes :-)


Add docker-image to release-deployment

After 0.6.0 has been released and #118 is ready, the docker image should be added to the release-artifacts that are uploaded to the github release page.
docker save redlinkgmbh/smarti | gzip --best > "dist/target/smarti-$(mvn -B -q -N exec:exec -Dexec.executable=echo -Dexec.args='${project.version}').docker.tar.gz"

Is the issue (https://github.com/redlink-gmbh/smarti/commit/506882149ca92b3b5fcf53a9b531b14ce8fe0d90) related to cloud sync:
also part of the packaging  docker.tar.gz?

not in 0.6.1-RC1, but it will be in RC2.

docker-image is uploaded to the release-page, see Smarti 0.6.1-RC1.


Add workout home page. Connect opening page to exercise portion.

Demo Merge
:recycle: Current situation & Problem
This should taek in several other branches merge to one and connect them in the UI.
:gear: Release Notes
Add a bullet point list summary of the feature and possible migration guides if this is a breaking change so this section can be added to the release notes.
Include code snippets that provide examples of the feature implemented or links to the documentation if it appends or changes the public interface.
:books: Documentation
Please ensure that you properly document any additions in conformance to Spezi Documentation Guide.
You can use this section to describe your solution, but we encourage contributors to document your reasoning and changes using in-line documentation.
:white_check_mark: Testing
Please ensure that the PR meets the testing requirements set by CodeCov and that new functionality is appropriately tested.
This section describes important information about the tests and why some elements might not be testable.
:pencil: Code of Conduct & Contributing Guidelines
By submitting creating this pull request, you agree to follow our Code of Conduct and Contributing Guidelines:

[ ] I agree to follow the Code of Conduct and Contributing Guidelines.

Don't merge/finish pull request until we get the remaining other branches.


Fix default sort by behavior when list.sort_by points to a field with a table reference for :sortable

On a list page, when a sort param is not specified, the current version of rails admin defaults to appending the list.sort_by to the model table. This causes list.sort_by to always  be treated as a string when a sort param is not present. This changes the behavior to lookup the field specified in list.sort_by rather than treating it as a string.
This also updates the dummy gemfile to point to devise's main branch, as they changed the master branch to the name main.
For example, if we have the following:
RailsAdmin.config('Player') do
    base do
      field :name do
        sortable :'teams.name'
      end
    end

    list do
      sort_by :name
    end
 end

the query would be generated with a sort by players.name, when we actually want to sort by teams.name.

Coverage remained the same at 91.159% when pulling 6b3244281afa1762aa6fc8fd246991cae1683e64 on aaronlifton:fix-default-sort-by into e5bb7ba712a00ede56ffc8a547b36b13bd72a9ee on railsadminteam:master.

Agreed, thanks!


Changed AI Kit references

Description
Removed "oneAPI" from the AI Kit name. Used the name in namesdb.intel.com "Intel(R) AI Analytics Toolkit"
Changes proposed in this pull request:

remove "oneAPI" from the AI Kit brand name to match what is in namesdb.intel.com

This PR satisfies DOC-10220

@bdmoore1 I can merge this PR, or do you need another approve from someone within Intel?

@bdmoore1 I can merge this PR, or do you need another approve from someone within Intel?

Thank you for the offer, but I should probably get someone else from Intel to review.
@PivovarA can you merge this PR?

@PivovarA can you please merge this PR?


Add Zynq-7000 Series Package Devices Pinoput Files from Xilinx

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Would like to see -r option for Xilinx Zynq-7000 SoC Package Files
Describe alternatives you've considered
manually edited the csv file to be imported generic
Additional context
nothing to add

Have you looked in the Xilinx libraries here? Maybe the part you need is already available.

Hi @devbisme
thanks for the tip.
the fact that i found the symbol in the lib you linked made me try again with kipart.
So when i extract only the chip I need from zip i downloaded at xilinx this gives me an empty library.
kipart -r xilinx7 xc7z020clg484pkg.txt
Writing xc7z020clg484pkg.lib 0

But when i insert the whole zip, I get all of them
kipart -r xilinx7 z7all.zip
Writing z7all.lib 22

So the xilinx7 option kinda works for z7 chips as well.


WIP PSX

Trying to move some files around but allow both n64/psx splitting to occur.
PSX asm is still WIP, so this PR is just to get some feedback, do you want segments.common.* or should the common code just go into segments.*?

common.* is great. awesome! I'll take a further look at this later today

If you merge master in, the mypy thing should stop failing.


C-Like Single Line Comment Regex Matches Double Slash in Strings

The single line comment pattern /(^|[^\\:])\/\/.*/ incorrectly matches the double slash in the string:
final String rcal = "ejb:jboss-ejb-multi-server-app-main/ejb//" + ("MainAppBean") + "!" + MainApp.class.getName();

https://www.regexpal.com/?fam=102376

Hi! Thanks for reporting. I don't reproduce the issue on the test page. Can you make sure you're using the last version of Prism please?

I will update to make sure. I couldn't replicate it on the test page either. When I compared the new version with my version (which is older), the comment regex for "clike" was identical, so it appeared--to me at least--like this was still an issue.
Thanks for helping out. I'll update and test to make sure it was just me!

The key difference would probably be the addition of the greedy key on the string pattern, rather than a change in the comment pattern. Please keep us informed if the issue is fixed.

@Golmote that was the issue. Thanks for the heads up!


[WIP] Experimental RangeBounds use

Fixes #2910
PR checklist:

[ ] make succeeds (on *nix)
[ ] make reftests succeeds
[ ] tested examples with the following backends:
[ ] rustfmt run on changed code

Missing backends: dx11, dx12, metal

I tried to prototype quickly and see if this works. The ergonomic suffers because, again, we can't set the default range type for cases where no buffers are involved. Wins are quite arguable. All in all, it doesn't seem to be worth it exploring.
Thoughts?

thanks @Gankro for the link to https://github.com/rust-lang/rust/issues/27336 explaining why we can't have nice things

hmmm.. that looks quite unergonomic. We can even support different ranges types when it comes to arrays I guess? I'm still wondering if exposing a !0 constant would have been easier..

I'm still wondering if exposing a !0 constant would have been easier..

I think it would be slightly better than what we have today.
Given 2 thumbs down so far, I think this can be closed.


Support ASP.NET

Currently, our SDK does not support ASP.NET as a platform. It would appear that there are a few people who are attempting to currently use our SDK in ASP.NET platforms (see #117), so we should probably eventually support this.
This issue will track our roadmap and remaining issues for ASP.NET support, as I continue investigating into that front.
If you would like to help, please leave a comment on this issue, and I can help you find an appropriate sized piece of work related to this issue.

Argh... NOW I've just read this... ARGH.
Is this still the case?
Any chance someone out there has sample code for a website using the parse .net SDK?

Hi, has any progress been done regarding this issue? If not, what would be a suitable approach or starting point to have some sort of support with ASP.NET? The biggest issue is the one mentioned in issue #269 referenced above, where pretty much any static classes and variables relating to ParseUser do not work as expected in server-client environment

I picked this issue up for further evaluation of ASP.NET support using the latest version.
I'll close this issue for now and invite anyone to reopen it if any further information was gained regarding ASP.NET.

ASP.NET Core is now fully supported; see the readme section on server-side use. Essentially, ParseClient is now instantiable and hosts the entire internal service pipeline used by SDK operations. This pipeline can be configured via the ParseClient constructors using the IServiceHubMutator interface; the SDK includes one which makes it so that the ICurrentUserController hosted in the service hub does not use a real file-backed cache and when clones of ParseClient.Instance are made, it does not carry over any information about the currently authenticated user, so ParseClient can be dependency-injected with ease and the SDK can be used to manage multiple concurrently-authenticated users.

@TheFanatr Thank you for your fast response and clarification. I'll take this up anyway to evaluate creating an sample to use it with ASP.NET to get users started in the future.

@TobiasPott You can try to use my Server-Side Blazor sample or just use it as a reference to make another one. If it doesn’t work, let me know and I’ll fix it.


[Feature Request]: Debug mode

Description
A new debug configuration, that when enabled, with log important bits to the console. Should be pretty.

I'm gonna open a pull request on this later

@Janisbtw It's gonna require some planning so, appreciate the help, but you should hold it off for a bit

Forgot to close this


Improve Button support

It is necessary to run the following example with accuracy:
package ev3dev.sensors;

public class ButtonExample2 {

    public static void main(final String[] args){
        System.out.println("Extended Button Example");

        System.out.println("Press UP");
        Button.UP.waitForPress();
        System.out.println("Pressed UP");

        System.out.println("Press DOWN");
        Button.DOWN.waitForPress();
        System.out.println("Pressed DOWN");

        System.out.println("Press LEFT");
        Button.LEFT.waitForPress();
        System.out.println("Pressed LEFT");

        System.out.println("Press RIGHT");
        Button.RIGHT.waitForPress();
        System.out.println("Pressed RIGHT");

        System.out.println("Press ESCAPE");
        Button.ESCAPE.waitForPress();
        System.out.println("Pressed ESCAPE");

        System.out.println("Press ENTER");
        Button.ENTER.waitForPress();
        System.out.println("Pressed ENTER");

    }
}

Related issue:
https://github.com/ev3dev-lang-java/ev3dev-lang-java/issues/273

@jartu, Many thanks for the contribution. This issues was fixed.

No problem, happy to contribute 😁

Linked with this example:
https://github.com/ev3dev-lang-java/examples/pull/1
To use this new feature, it is necessary this SNAPSHOT:
https://jitpack.io/#ev3dev-lang-java/ev3dev-lang-java/0.7.1-SNAPSHOT


Add fallback in case remote codelists are inaccessible

5427afc7363d95b7ed704397d6e3133c21168694 fixed several bugs, by caching codelists in-memory for a day.
However, if a remote URL is inaccessible, then an error is raised.
We could implement a fallback, where the codelists are also written to disk. Whenever the in-memory cache expires, the code attempts to retrieve the codelist. If it succeeds, it compares checksums and updates the file on disk if changed. If it fails, then it logs a warning and reads from disk.
When reading/writing to disk, we can use file locking (if the file is shared between workers).
In terms of where to write the file, https://docs.docker.com/storage/tmpfs/ might be appropriate. Alternately, we can write the files to the host (via a mount), so that the on-disk cache survives any worker restarts, and so that Salt can install initial copies of the codelists, to bootstrap this fallback method.

Noting that this does come up in practice.


OpenAI key is exposed in Jupyter Notebook

thanks for the heads up...
No worries though,
That API key was disabled a long time ago...:)
I guess I should remove it from the notebook so as not to raise eyebrows, but it's just not very high on my priority list:)

removed so it wont raise an eyebrow anymore


Updating with updated_at column triggers some weird behaviour

Closes #1720
The initial PR on laravel/framework that broke things: https://github.com/laravel/framework/issues/27791
I decided to revert the changes and fix PHPUnit 7.5 void hints.

@rennokki, this changes has here

Lovely. Then I'll close this PR :D


Vim9: no error for passing argument with wrong type to lambda used in map()

If we pass an argument with a wrong type to a lambda, an error is given at compile time:
vim9script
def Func()
    ((s: string) => 0)(123)
enddef
defcompile

E1013: Argument 1: type mismatch, expected string but got number

But if we pass the same argument with the same wrong type to a lambda which is run by a higher order function such as map(), no error is given:
vim9script
def Func()
    [123]->map((_, s: string) => 0)
enddef
defcompile

no error

We need to wait until runtime:
vim9script
def Func()
    [123]->map((_, s: string) => 0)
enddef
Func()

E1013: Argument 2: type mismatch, expected string but got number

Could we give an error earlier (i.e. at compile time) when passing wrong arguments to a lambda which is used by map(), filter(), ... ?

If we pass an argument with a wrong type to a lambda, an error is
given at compile time:
vim9script
def Func()
    ((s: string) => 0)(123)
enddef
defcompile

E1013: Argument 1: type mismatch, expected string but got number

But if we pass the same argument with the same wrong type to a lambda which is run by a higher order function such as map(), no error is given:
vim9script
def Func()
    [123]->map((_, s: string) => 0)
enddef
defcompile

no error

We need to wait until runtime:
vim9script
def Func()
    [123]->map((_, s: string) => 0)
enddef
Func()

E1013: Argument 2: type mismatch, expected string but got number

Could we give an error earlier (i.e. at compile time) when passing
wrong arguments to a lambda which is used by map(), filter(), ...

I looked into this, and for the specific example it's not so easy, since
this is not a list with a declared type, it may end up being a list of
strings, e.g. if there was another map in between.
We can do a better check for a declared type, thus if [123] was assigned
to a variable:
var l = [123]
 	l->map((_, s: string) => 0)

We can also check the first argument matches the type, for a list it
must be a number and for a dictionary a string.
--
hundred-and-one symptoms of being an internet addict:
83. Batteries in the TV remote now last for months.
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

In the case of a variable, the issue has been fixed for a list:
vim9script
def Func()
    var s = ['a', 'b', 'c']
    s->map((_, v: number) => '')
enddef
defcompile

E1013: Argument 2: type mismatch, expected func(?number, ?string): string but got func(any, number): string

but not for a string:
vim9script
def Func()
    var s = 'abc'
    s->map((_, v: number) => '')
enddef
defcompile

no error

We can map and filter a string since the patch 8.2.3818.

In the case of a variable, the issue has been fixed for a list:
vim9script
def Func()
    var s = ['a', 'b', 'c']
    s->map((_, v: number) => '')
enddef
defcompile

E1013: Argument 2: type mismatch, expected func(?number, ?string): string but got func(any, number): string

but not for a string:
vim9script
def Func()
    var s = 'abc'
    s->map((_, v: number) => '')
enddef
defcompile

no error

We can map and filter a string since the patch 8.2.3818.

I'll check string and blob too.
I also discovered this didn't work:
0z1234->map()
That should work, just like it does for a string:
'abc'->map()
--
hundred-and-one symptoms of being an internet addict:
85. Choice between paying Compuserve bill and paying for kids education
is a no brainer -- although a bit painful for your kids.
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

I'm closing the issue because we can't do much more for map().  But the issue persists for other functions which accept a lambda as argument, such as filter():
vim9script
def Func()
    [123]->filter((_, s: string) => true)
enddef
defcompile

no error

Or sort():
vim9script
def Func()
    [12, 34]->sort((a: string, b: blob) => 0)
enddef
defcompile

no error

Or setqflist():
vim9script
def Func()
    setqflist([], ' ', {lines: v:oldfiles, efm: '%f', quickfixtextfunc: (info: job) => ''})
    cwindow
enddef
defcompile

no error

I'll try to open separate issues later.

I have done filter() and sort().  We can probably do more checks at compile time, but it's quite a bit of work to implement and write tests.  Feel free to open an issue for specific functions, give examples of what should work and what should fail.


If RdRand is supported, it is fully trusted

The system reseeds every time from RdRand in case RdRand is available, and does not use urandom at all, which typically uses multiple sources of randomness. This means that the RdRand by Intel is fully trusted, /dev/urandom will not play a part. It would be possible to use urandom for seeding&generation and then XOR in RdRand, whitening the output. The security should only improve, and time spent would be essentially the same. Affected code:
int s2n_drbg_generate(struct s2n_drbg *drbg, struct s2n_blob *blob)
{
    uint8_t all_zeros[32] = { 0 };
    struct s2n_blob zeros = {.data = all_zeros,.size = sizeof(all_zeros) };
    if (blob->size > S2N_DRBG_GENERATE_LIMIT) {
        S2N_ERROR(S2N_ERR_DRBG_REQUEST_SIZE);
    }

    /* If either the entropy generator is set, for prediction resistance,
     * or if we reach the definitely-need-to-reseed limit, then reseed.
     */
    if (drbg->entropy_generator || drbg->bytes_used + blob->size + S2N_DRBG_BLOCK_SIZE >= S2N_DRBG_RESEED_LIMIT) {
        GUARD(s2n_drbg_seed(drbg, &zeros));
    }

    GUARD(s2n_drbg_bits(drbg, blob));
    GUARD(s2n_drbg_update(drbg, &zeros));

    return 0;
}

Instantiate will always set entropy_generator if RdRand is available:
int s2n_drbg_instantiate(struct s2n_drbg *drbg, struct s2n_blob *personalization_string)
{
    [...]
    /* After initial seeding, pivot to RDRAND if available and not overridden */
    if (drbg->entropy_generator == NULL && s2n_cpu_supports_rdrand()) {
        drbg->entropy_generator = s2n_get_rdrand_data;
    }
    return 0;
}

I believe this was known behavior at the time of the PR (See: https://github.com/awslabs/s2n/pull/248#r69379424) @SalusaSecondus can you comment on this?

urandom is used in all cases for instantiation and generation, and then we pivot to rdrand() for reseeding. We could do a XOR construction, and the latest NIST NRBG constructions do define those ... but here we're confirming to the DRBG spec which is to reseed. We do want to conform to a published specification, as we are formally verifying our implementations.
One of the interesting things about a simple XOR construction is that it's the construction that's easiest to attack if the hardware isn't trusted ( https://blog.cr.yp.to/20140205-entropy.html ). It requires the attacker to no extra work, they can fully control the output bit-for-bit. With the DRBG reseed construction, an attacker who controls entropy is forced to do at least as much as work as AES_CTR to control or predict the final output.  That said, the difference is only quantitative not qualitative; any attacker who controls your source of entropy essentially controls the whole stack.

@colmmacc beat me to much of this, but to provide my independently reasoned response :-)
I disagree with the statement that RDRAND is fully trusted and believe that we take reasonable precautions against issues with it.

The initial seed (384 bits) is from /dev/urandom. This, by itself, is sufficient entropy for the DRBG to run  for an extremely long time without security issues.
RDRAND is not directly XORed into the DRBG, but is instead mixed in according to the NIST specification. This means that it (at worse) will add no entropy, rather than any chance to lower entropy or steer the DRBG into a known (and thus compromised) state
RDRAND is not directly exposed to the callers, which means that even if it is not trustworthy (and/or backdoored) s2n is protected against it by the masking provided by the DRBG.

So, absolute worse case, we lose prediction resistance, but maintain a DRBG based on 384 bits of entropy. Personally, I think this scenario is so unlikely as to be essentially impossible. (Not that I fully trust RDRAND, but the various ways in which it might be untrustworthy are still likely to introduce entropy with the weaknesses mitigated by this construction.) That's not too bad. Have you actually measured the time difference to ensure that it would be negligible?

I was wrong in my analysis, you first seed it with data from urandom then change the entropy source to RdRand, so you do get 256 bits of entropy first (32B * 8b=256b, I can't seem to find the 384b):
/* Seed / update the DRBG */
    GUARD(s2n_drbg_seed(drbg, &ps));

    /* After initial seeding, pivot to RDRAND if available and not overridden */
    if (drbg->entropy_generator == NULL && s2n_cpu_supports_rdrand()) {
        drbg->entropy_generator = s2n_get_rdrand_data;
    }

However, this 256b is collected at the "worst" time: at startup, which for an isolated system (e.g. virtual machine just spinned up with minimal interfaces) may not have much entorpy. Which begs the question... in case RdRand is not available, do you only add new entropy after<PHONE_NUMBER>8 bytes have been produced? That's kinda scary, I'd think. Again, this 256b of urandom data could be right after startup that you use for so long.

I was also wrong, it is 256b, not 384b. (I've been reading the specs for the AES-CTR-DRBG based on AES-256, which uses 384b of entropy, unlike the 256b of entropy used by the AES-128 form used in s2n.)
As for lack of prediction resistance when RDRAND isn't present, you are correct. We originally had it however it was removed in 0819910d3538cfc36c65af69927bbcb9fcd3f02c due to performance issues.

So would adding support for the getrandom() syscall if the OS supports it address everyone's concerns?
From the link:

The other feature provided by this new system call is the ability to
request randomness from the /dev/urandom entropy pool, but to block
until at least 128 bits of entropy has been accumulated in the
/dev/urandom entropy pool.

We already have an open issue for adding the syscall here: https://github.com/awslabs/s2n/issues/17

@alexw91 That sounds reasonable. Any chance we can benchmark it?
@colmmacc , do you have input on this?

@alexw91 I would be very weary of blocking calls. You'll have plenty of entries with "system hangs on s2e call" in the issue tracker. That's not the solution, I think. Instead, entropy pools (a la Fortuna https://www.schneier.com/academic/fortuna/ ) is I think the right solution. It should call urandom (i.e. non-blocking), but Fortuna has pools that are used to re-seed at different (exponentially different) intervals. That fixes the issue of "when to reseed" -- because too soon means not enough entropy has been accumulated, and too late means too much randomness has been used already that leaked information/was insecure. Take a look at its design, it's really very well-done (and designed by one of the best in the field).
PS: an advantage to having a blocking call would be that we'd get feedback on how many times it blocks on virtual or embedded systems. I'm afraid it won't be too glorious a feedback, but it would be a very good data point.

To boot, getrandom() is only available on the the most bleeding-edge glibc :/


Create admin page and add API support to add/remove repositories

It's just as the title says! I've also added logout functionality.

Mobile support for the admin page is quite bad currently, but that will be fixed in the future.

Mobile support for the admin page is quite bad currently, but that will be fixed in the future.


Build-And-Deploy-Tenant-K8s-resources failed

Hi there!
I'm following the silo-tenant instructions and i am hitting this...

...any ideas?

i followed the instructions here and it works:  https://github.com/aws-samples/aws-saas-factory-eks-reference-architecture

@cfregly there are two distinct repos here. This is the workshop for EKS SaaS, and while loosely related related to the EKS SaaS reference architecture, it is different. The narrative (and all directions) for this workshop can be found here. So you're good to go now?

Yup, I’m good, but still wondering why the workshop didn’t work for me.  Any known issues?
Let me know if I can provide any more info.  Otherwise, we can chalk this up to user error and close this.
Thanks!


Hello There

Hello, we seem to have had almost the same idea.
Here is my project called Zodios that i created three month ago.
I just focused on the frontend part for now, but your separate contract is giving me ideas on the next move for me to add backend shared definition..
So maybe you can also steal some ideas from zodios.
Implementation wise, we have internally completely different beasts. I wanted aliasing to be an option to allow those who prefer to see the endpoint in their code. This turned my implementation to need a lot more typescript magic than what you did.
I defined the api definition as plain objects, i though it would be easier to read and allow for autocompletion when creating definitions. I also tied my impl more deeply into zod to allow parameters and response transformation in the definition.
I also added a complete plugin system.
So all this might inspire your impl.
i like what you have done so far. keep the good work.

I just looked through Zodios, love it! We've definitely diverged slightly, primarily as I've tried to remain open for different validators!
Your implementation is definitely more mature, loving the plugin support already! I think one part I've tried to emphasise as the USP is the Nest/Express integration on the back, aiming to give end-to-end type safety even with Nest (which isn't the easiest compared to more functional frameworks like express)
I'm sure we'll take lots of inspiration from each other, see you around 👋


An unknown error occurs when sending a file and invalid pragma 'async'.

There is a solution to the invalid pragma 'async' by changing the nim version above v1.0.6.
If you were to update your Nim version to at least Nim v1.2.0 the invalid pragma issue is gone and an unknown error occurs when you send a file.

This commit fixes the issue:
https://github.com/krisppurg/dimscord/commit/82cf717470caa1f8bf4d5bdc49a0ca877b79a78a


playlist toggle button

An optional playlist toggle button would be a great feature for this.

Enter a optional parameter so that you could choose between circular playlist or only to the last element


4ps on GTX 1080 Ti

I am checking the segmentation on my Nvidia gtx 1080 ti but am getting a 4 fps. We are running the following command for test - python main.py --load_config=unet_shufflenet_test.yaml test Train UNetShuffleNet. Inference in the place of test doesnt work.

First you have to use inference mode this will call test_inference method in train/train.py. Second the most efficient architecture we used is SkipNet ShuffleNet not UNet that provides 143 fps on TITANX Pascal with the optimization. If you wanna use the UNet it will mean much more computations as for each downsampling stage you have a corresponding upsampling stage, and it works in the feature space. So transposed conv is applied on features with large nchannels . Third if u want the best performance u also need to run ./optimize.sh after saving the graph.pb.

Thanks for the suggestion, I will try with SkipNet ShuffleNet. I have a few more queries though. There was an exit(1) on line 897 in train.py inside test_inference function. I commented it out and got the following exception. Hence I timed the feed forward code in the test method. Also, could you tell me the content of optimize.sh? There seems to be no file with that name in the repository.
`  0%|                                                                                | 0/8 [00:00<?, ?it/s]Traceback (most recent call last):
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1327, in _do_call
return fn(*args)
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1306, in _run_fn
status, run_metadata)
File "/home/software-team/anaconda3/lib64/python3.6/contextlib.py", line 88, in exit
next(self.gen)
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/framework/errors_impl.py", line 466, in raise_exception_on_not_ok_status
pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: You must feed a value for placeholder tensor 'network/input/Placeholder_2' with dtype bool
[[Node: network/input/Placeholder_2 = Placeholderdtype=DT_BOOL, shape=, _device="/job:localhost/replica:0/task:0/gpu:0"]]
[[Node: network/input/Placeholder_2/_5709 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/cpu:0", send_device="/job:localhost/replica:0/task:0/gpu:0", send_device_incarnation=1, tensor_name="edge_794_network/input/Placeholder_2", tensor_type=DT_BOOL, _device="/job:localhost/replica:0/task:0/cpu:0"]]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "main.py", line 19, in
main()
File "main.py", line 15, in main
agent.run()
File "/home/software-team/Raghu/TFSegmentation/utils/misc.py", line 18, in timed
result = f(*args, **kwargs)
File "/home/software-team/Raghu/TFSegmentation/agent.py", line 100, in run
self.inference()
File "/home/software-team/Raghu/TFSegmentation/agent.py", line 165, in inference
self.operator.test_inference()
File "/home/software-team/Raghu/TFSegmentation/train/train.py", line 935, in test_inference
feed_dict=feed_dict)
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 895, in run
run_metadata_ptr)
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1124, in _run
feed_dict_tensor, options, run_metadata)
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1321, in _do_run
options, run_metadata)
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1340, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: You must feed a value for placeholder tensor 'network/input/Placeholder_2' with dtype bool
[[Node: network/input/Placeholder_2 = Placeholderdtype=DT_BOOL, shape=, _device="/job:localhost/replica:0/task:0/gpu:0"]]
[[Node: network/input/Placeholder_2/_5709 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/cpu:0", send_device="/job:localhost/replica:0/task:0/gpu:0", send_device_incarnation=1, tensor_name="edge_794_network/input/Placeholder_2", tensor_type=DT_BOOL, _device="/job:localhost/replica:0/task:0/cpu:0"]]
Caused by op 'network/input/Placeholder_2', defined at:
File "main.py", line 19, in
main()
File "main.py", line 15, in main
agent.run()
File "/home/software-team/Raghu/TFSegmentation/utils/misc.py", line 18, in timed
result = f(*args, **kwargs)
File "/home/software-team/Raghu/TFSegmentation/agent.py", line 85, in run
self.build_model()
File "/home/software-team/Raghu/TFSegmentation/utils/misc.py", line 18, in timed
result = f(*args, **kwargs)
File "/home/software-team/Raghu/TFSegmentation/agent.py", line 64, in build_model
self.model.build()
File "/home/software-team/Raghu/TFSegmentation/models/unet_shufflenet.py", line 16, in build
self.init_input()
File "/home/software-team/Raghu/TFSegmentation/models/basic/basic_model.py", line 116, in init_input
self.is_training = tf.placeholder(tf.bool)
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/ops/array_ops.py", line 1548, in placeholder
return gen_array_ops._placeholder(dtype=dtype, shape=shape, name=name)
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/ops/gen_array_ops.py", line 2094, in _placeholder
name=name)
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 767, in apply_op
op_def=op_def)
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 2630, in create_op
original_op=self._default_original_op, op_def=op_def)
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1204, in init
self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access
InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'network/input/Placeholder_2' with dtype bool
[[Node: network/input/Placeholder_2 = Placeholderdtype=DT_BOOL, shape=, _device="/job:localhost/replica:0/task:0/gpu:0"]]
[[Node: network/input/Placeholder_2/_5709 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/cpu:0", send_device="/job:localhost/replica:0/task:0/gpu:0", send_device_incarnation=1, tensor_name="edge_794_network/input/Placeholder_2", tensor_type=DT_BOOL, _device="/job:localhost/replica:0/task:0/cpu:0"]]
`

I tried with skipnet shufflenet but I am still getting 5fps of speed. I used ran the following code:
python main.py --load_config=fcn8s_shufflenet_test.yaml test Train FCN8sShuffleNet

In order to run the inference mode. Just uncomment line 919, which is setting is_training placeholder to false. It was commented because I removed this variable when I was doing optimization and didnt want it in graph.pb. As for optimize.sh its in branch optimize_inference.

I tried as you suggested and now it has given me a significant improvement of 25 fps. However, the sh optimize.sh code is not improving the performance any further, I am getting around 25 fps after running that.
I running the following sequence of codes:
python main.py --load_config=fcn8s_shufflenet_test.yaml inference Train FCN8sShuffleNet
sh optimize.sh
python main.py --load_config=fcn8s_shufflenet_test.yaml inference Train FCN8sShuffleNet
Could you please tell me where I might me going wrong?

Thats still very slow on 1080 Ti! Probably you're using a higher image resolution than what we were measuring with. Regardless please refer to this issue for further help on what to do:
Issue20

Now I am running the sequence of codes as mentioned in issue 20. However, when I am running python infer_optimize.py --graph graph_optimized.pb, I getting the following exception. Could you help me out with debugging this?
0%|                                                                                | 0/1000 [00:00<?, ?it/s]
Traceback (most recent call last):
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1327, in _do_call
return fn(*args)
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1306, in _run_fn
status, run_metadata)
File "/home/software-team/anaconda3/lib64/python3.6/contextlib.py", line 88, in exit
next(self.gen)
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/framework/errors_impl.py", line 466, in raise_exception_on_not_ok_status
pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: You must feed a value for placeholder tensor 'import/network/input/Placeholder_2' with dtype bool
[[Node: import/network/input/Placeholder_2 = Placeholderdtype=DT_BOOL, shape=, _device="/job:localhost/replica:0/task:0/cpu:0"]]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "infer_optimize.py", line 38, in
out = sess.run(y, feed_dict={x: img})
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 895, in run
run_metadata_ptr)
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1124, in _run
feed_dict_tensor, options, run_metadata)
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1321, in _do_run
options, run_metadata)
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1340, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: You must feed a value for placeholder tensor 'import/network/input/Placeholder_2' with dtype bool
[[Node: import/network/input/Placeholder_2 = Placeholderdtype=DT_BOOL, shape=, _device="/job:localhost/replica:0/task:0/cpu:0"]]
Caused by op 'import/network/input/Placeholder_2', defined at:
File "infer_optimize.py", line 26, in
y, = tf.import_graph_def(graph_def, return_elements=['network/output/ArgMax:0'])
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/framework/importer.py", line 313, in import_graph_def
op_def=op_def)
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 2630, in create_op
original_op=self._default_original_op, op_def=op_def)
File "/home/software-team/Raghu/TFSegmentation/tfenv/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1204, in init
self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access
InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'import/network/input/Placeholder_2' with dtype bool
[[Node: import/network/input/Placeholder_2 = Placeholderdtype=DT_BOOL, shape=, _device="/job:localhost/replica:0/task:0/cpu:0"]]

I added this line in infer_optimize.py:
is_training = G.get_tensor_by_name('import/network/input/Placeholder_2:0'),
below:
x = G.get_tensor_by_name('import/network/input/Placeholder:0')
and added is_training: False after x: img in sess.run(...).

@anusrees
I got the FPS. Thank you so much! ! ! !
But why I get the 37FPS with images of size 360x640 in  branch optimize_inference, and I get the 34FPS with the same size picture in branch master?  There is no big difference between them. I test it on NVIDIA 1050 Ti.
In branch master  it is too fast, I just run this code:
python main.py --load_config=fcn8s_shufflenet_test.yaml inference Train FCN8sShuffleNet

@MMY1994 @MSiam
Hi,
Even I am getting a difference of 8 fps between optimize_inference branch and the master branch with the optimize_inference branch being faster, not sure why. My initial image size is 704x576.

@anusrees
I got it! Thank you for your reply.

@MMY1994
Have you been able to figure out why there is a difference?

@anusrees as a expose in another issue I'm having troubles with running python3 main.py --load_config=fcn8s_shufflenet_test.yaml inference Train FCN8sShuffleNet because some .npy do not exist (X_test.npy, etc.). But, if I modify the name of some others .npy so that I can fake the data I need and overcome that errors, a Keyerror explained in the issue #61
What I discovered is that if I modify the train.py code like this from line 906 downward:
x_batch = self.test_data['X'][idx:idx + 1]
# y_batch = self.test_data['Y'][idx:idx + 1]
        # update idx of mini_batch
        idx += 1

        # Feed this variables to the network
        if self.args.random_cropping:
            feed_dict = {self.test_model.x_pl_before: x_batch
                      #   self.test_model.y_pl_before: y_batch
                         #self.test_model.is_training: False
                         }
        else:
            feed_dict = {self.test_model.x_pl: x_batch
                      #   self.test_model.y_pl: y_batch
                         #self.test_model.is_training: False
                         }

        # calculate the time of one inference
        start = time.time()

        # run the feed_forward
        _ = self.sess.run(
            [self.test_model.out_argmax],
            feed_dict=feed_dict)

I get  a very similar error as you expose:
0%|                                                                                | 0/2975 [00:00<?, ?it/s]Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1327, in _do_call
return fn(*args)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1306, in _run_fn
status, run_metadata)
File "/usr/lib/python3.5/contextlib.py", line 66, in exit
next(self.gen)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/errors_impl.py", line 466, in raise_exception_on_not_ok_status
pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: You must feed a value for placeholder tensor 'network/input/Placeholder_2' with dtype bool
[[Node: network/input/Placeholder_2 = Placeholderdtype=DT_BOOL, shape=, _device="/job:localhost/replica:0/task:0/cpu:0"]]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "main.py", line 19, in
main()
File "main.py", line 15, in main
agent.run()
File "/home/alejandro/Segmentation/TFSegmentation/utils/misc.py", line 18, in timed
result = f(*args, **kwargs)
File "/home/alejandro/Segmentation/TFSegmentation/agent.py", line 100, in run
self.inference()
File "/home/alejandro/Segmentation/TFSegmentation/agent.py", line 165, in inference
self.operator.test_inference()
File "/home/alejandro/Segmentation/TFSegmentation/train/train.py", line 930, in test_inference
feed_dict=feed_dict)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 895, in run
run_metadata_ptr)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1124, in _run
feed_dict_tensor, options, run_metadata)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1321, in _do_run
options, run_metadata)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1340, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: You must feed a value for placeholder tensor 'network/input/Placeholder_2' with dtype bool
[[Node: network/input/Placeholder_2 = Placeholderdtype=DT_BOOL, shape=, _device="/job:localhost/replica:0/task:0/cpu:0"]]
Caused by op 'network/input/Placeholder_2', defined at:
File "main.py", line 19, in
main()
File "main.py", line 15, in main
agent.run()
File "/home/alejandro/Segmentation/TFSegmentation/utils/misc.py", line 18, in timed
result = f(*args, **kwargs)
File "/home/alejandro/Segmentation/TFSegmentation/agent.py", line 85, in run
self.build_model()
File "/home/alejandro/Segmentation/TFSegmentation/utils/misc.py", line 18, in timed
result = f(*args, **kwargs)
File "/home/alejandro/Segmentation/TFSegmentation/agent.py", line 64, in build_model
self.model.build()
File "/home/alejandro/Segmentation/TFSegmentation/models/fcn8s_shufflenet.py", line 22, in build
self.init_input()
File "/home/alejandro/Segmentation/TFSegmentation/models/basic/basic_model.py", line 116, in init_input
self.is_training = tf.placeholder(tf.bool)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/ops/array_ops.py", line 1548, in placeholder
return gen_array_ops._placeholder(dtype=dtype, shape=shape, name=name)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/ops/gen_array_ops.py", line 2094, in _placeholder
name=name)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/op_def_library.py", line 767, in apply_op
op_def=op_def)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 2630, in create_op
original_op=self._default_original_op, op_def=op_def)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 1204, in init
self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access
InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'network/input/Placeholder_2' with dtype bool
[[Node: network/input/Placeholder_2 = Placeholderdtype=DT_BOOL, shape=, _device="/job:localhost/replica:0/task:0/cpu:0"]]
Could you please tell me how you resolve this problem so that the program could run completely? I assume you solve it because in your next comment you show the output of the program. If you have any clue about why I'm having the previous errors that force me to do modifications to the code it would be also very helpful. If @MSiam has any idea to solve the problems it would be also great.
Thank you in advance

@Zitzo
this is how my code looks like:
`x_batch = self.test_data['X'][idx:idx + 1]
y_batch = self.test_data['Y'][idx:idx + 1]
        # update idx of mini_batch
        idx += 1

        # Feed this variables to the network
        if self.args.random_cropping:
            feed_dict = {self.test_model.x_pl_before: x_batch,
                         self.test_model.y_pl_before: y_batch,
                         self.test_model.is_training: False
                         }
        else:
            feed_dict = {self.test_model.x_pl: x_batch,
                         self.test_model.y_pl: y_batch,
                         self.test_model.is_training: False
                         }

        # calculate the time of one inference
        start = time.time()

        # run the feed_forward
        _ = self.sess.run(
            [self.test_model.out_argmax],
            feed_dict=feed_dict)

`


WebDriverWait is not working for DialogFragment

Problem statement here - http://stackoverflow.com/questions/27807675/webdriverwait-is-not-working-c-appium

Ok! I have tried to reproduce the problem but I couldn't.
I have read your logs and I copied them to a gist here: https://gist.github.com/TikhomirovSergey/ea7750d9522e6146614d
I don't like this string: https://gist.github.com/TikhomirovSergey/ea7750d9522e6146614d#file-gistfile1-txt-L420
It looks like there is a problem on the server side. So I advice you to report a bug here: https://github.com/appium/appium/issues. Please attach your code samples to a new ticket. If you don't mind you can attach your built *.apk too. Please describe your environment. As I can see you use 5.0.1 Android plapform. I don't know how current Appium version is friendly to this platform. :(

As a workaround for now I recommend you to use:

driver.Manage().TimeOuts().ImplicitlyWait(TimeSpan.FromSeconds(10)); //it can be invoked once

Ok. This is not .Net client issue. The root cause descriptions are below:
https://github.com/appium/appium/pull/4252
https://github.com/appium/appium/issues/4368
Please anybody close this ticket.


Invalid URLs 'post_data_dict' and 'target_dir' followed by post access errors

Hey! That last fix to allow for nonetype worked perfectly, thanks. I am now able to download all image and text posts, but when we get to the posts that contain vimeo links I'm then greeted by some errors.
Image file: https://www.patreon.com/posts/XXXX
Text_Only: https://www.patreon.com/posts/XXXX
[generic] Extracting URL: post_data_dict
ERROR: [generic] None: 'post_data_dict' is not a valid URL. Set --default-search "ytsearch" (or run  yt-dlp "ytsearch:post_data_dict" ) to search YouTube
[generic] Extracting URL: target_dir
ERROR: [generic] None: 'target_dir' is not a valid URL. Set --default-search "ytsearch" (or run  yt-dlp "ytsearch:target_dir" ) to search YouTube
[Patreon] Extracting URL: https://www.patreon.com/posts/XXXX
[Patreon] 83591385: Downloading API JSON
ERROR: [Patreon] 83591385: You do not have access to this post
[Patreon] Extracting URL: https://www.patreon.com/posts/XXXX
[Patreon] Sleeping 1 seconds ...
[Patreon] 83426444: Downloading API JSON
ERROR: [Patreon] 83426444: You do not have access to this post
[Patreon] Extracting URL: https://www.patreon.com/posts/XXXX
[Patreon] Sleeping 1 seconds ...
[Patreon] 83203892: Downloading API JSON

I did not run the line those first errors offered, as it appears to me that they are variable names accidentally being passed as data. (And the videos are vimeo not YouTube). If this is wrong and I should run those commands to fix them, then... fair enough lol.
I am hoping that is also the cause of the access issues (which continue to repeat for each video post). I have tried with different sleep timer intervals and this is always the exact same spot it gets stuck at. These errors repeat for different posts until the script ends
Let me know if you need any further debug info or testing :)

For the last two, this is almost certainly https://github.com/yt-dlp/yt-dlp/pull/6897 where some cookies are coming back empty (for Patreon the session_id cookie). I do not think I am using the yt-dlp API incorrectly here.
Could you do the following?

Clone this version of yt-dlp and get it to run (make virtualenv, install, etc).
Run (with that version of yt-dlp) yt-dlp --cookies-from-browser chrome PATREON_URL. Let me know if this works or if you still get You do not have access to this post.

I thought this issue was due to a configuration issue on my system (like something set in chrome://flags) so it might be on your end as well? You are the second one to report this issue.
Regarding my code's use of the YoutubeDL API I don't think it is incorrect. You can see how to use the YoutubeDL class programmatically in the yt-dlp readme.
And regarding the first two erroneous strings being passed to yt-dlp I need to look into it. It's probably something simple.


carceration, epilepsies (logical-conflict)

This pull request was generated by the 'mq' tool

/trunk merge


Is there a way to autorun an app made with Coder after auth?

I would like to run one of my apps (made with Coder) after user's authentication on the auth screen. What should I modify? Thanks!

Interesting... well, you could actually edit the auth program itself, and have it forward to /app/your_app instead of the /app/coder.  "auth" is a normal coder app (just like almost everything in coder), but it's hidden from view on the home screen.
After logging in, if you go to /app/editor/edit/auth, it should open the auth program for editing. Look in the node tab, somewhere around line 122, there's a method called exports.index_handler. Inside, you'll find a line that looks like:
res.redirect('/app/coder' + firstuse);

Comment that one out, copy it, and change it with your app id:
//res.redirect('/app/coder' + firstuse);
res.redirect('/app/your_app' + firstuse);

You'll want to tread lightly, obviously, because you wouldn't want to break how the auth program works and lock yourself out accidentally. :)
Once you've saved, you should be bounced to that url after logging in, instead of the /app/coder url.

Hi! Thanks.
I tried it (in fact I have edited that file before posting my question, only that I did it with nano using SSH). Something seems to not be working, since I'm still redirected to coder. Now I went to https://<IP_ADDRESS>/app/editor/edit/auth, edited it in the Node tab and reseted the RasPi (just in case). Here is my code, maybe I'm still missing something:
exports.index_handler = function( req, res ) {
var firstuse = "?firstuse";
if ( typeof( req.param('firstuse') ) === 'undefined' ) {
    firstuse = "";
}

if ( !exports.isConfigured() ) {
    res.redirect('/app/auth/configure?firstuse');
} else if ( !exports.hasPassword() ) {
    res.redirect('/app/auth/addpassword?firstuse');
} else if ( !exports.isAuthenticated(req) ) {
    res.redirect('/app/auth/login' + firstuse);
} else {
    //res.redirect('/app/coder' + firstuse);
    res.redirect('/app/thingscoder_v0_52' + firstuse);
}

};

Oh right - this fixes half the problem (if you go to / and you are logged in, it should take you to your app now). The other half is the javascript handler for when the login button is clicked.
Look in the JS tab in the auth app. Around line 244 of the loginClick function, you'll see this:
window.location.href="/app/coder" + firstuse;

You'll just want to do the same thing with that one.

Thank you! It worked!


Version  0.6.6 bluetooth track not working

After update , the bluetooth tracking don't work in version 0.6.6 (the sensor xiami they work).
Return 0.6.5  RESTART.
For return work the bluetooth tracking on 0.6.5.  i have unistall,  reboot ha , reinstall 0.6.5 .
After work perfect.
Nothing error.
For information i have hassio on VM

In version 0.6.6, compared with 0.6.5, there are no changes in the reception of data that can affect the operation of third-party components. I suspect this is a coincidence. As described in our FAQ, the reliable operation of this component jointly with other bt-components (provided that one bt-interface is used) is practically impossible, it all depends on which component will gain access to the interface faster during HA launch. This is almost a lottery. The only thing you can experiment within this situation is the periodicity of the components (the period option for our component and a similar option for a third-party component, if any).

The problem is that the 0.6.6 component is interfering with the HA system's bluetooth scan.
Blocking the detection of other bluetooth devices.
With 0.6.5 it works without problems.
I haven't changed anything in my configuration ...
Thanks for your work and support.

Perhaps I did not put it very clearly. Do you read the FAQ on the link that I gave above?
The bottom line is that this component has always interfered with others using the same bluetooth interface. You are lucky that it worked for you earlier.
In version 0.6.6 there are no changes in operation with the bluetooth subsystem.

Perhaps I did not put it very clearly. Do you read the FAQ on the link that I gave above?
The bottom line is that this component has always interfered with others using the same bluetooth interface. You are lucky that it worked for you earlier.
In version 0.6.6 there are no changes in operation with the bluetooth subsystem.

@Magalex2x14, I have a slightly connected question (sorry for the off):
I use your plugin for a LYWSDCGQ and a LYWSD02 2 weeks ago without any problems - I love it, thank you! :slightly_smiling_face:
Unfortunately, the clock of my LYWSD02 is always hurrying, therefore I decided to reset the clock every midnight with https://github.com/h4/lywsd02 library. But now I read your previous comment and I'm afraid of that. Can I run my script once a day? Should I restart something after the run? Or should I count with exceptions, freezes, ...? - You know, I would like to avoid buying a second dongle for this small task :confused:

@andras-tim I think you should try it. The problem with my component and trackers is that they both work continuously and periodically change the bt-interface mode, interfering with each other's work. From what I managed to find out about this problem, I assume that starting a third-party component once a day may go unnoticed for my component - I assume that the maximum that you can lose is data for one period (60 seconds by default) in whole or in part.
In general, try it. And in any case, please keep me informed - create a separate issue when you do it.

Perhaps I did not put it very clearly. Do you read the FAQ on the link that I gave above?
The bottom line is that this component has always interfered with others using the same bluetooth interface. You are lucky that it worked for you earlier.
In version 0.6.6 there are no changes in operation with the bluetooth subsystem.

Are you telling me that the component does not work in Has bluetooth for normal tracking?
Because I repeat, sorry, but with the 0.6.5. it is working too
bluetooth tracking of home assistant.
I don't think it's a coincidence. Or am I wrong ?

Are you telling me that the component does not work in Home Assistant bluetooth for normal tracking?

If you mean the simultaneous work of my component and bluetooth_tracker, then yes, unfortunately, in all cases I knew of, normal simultaneous work of these components could not be achieved. And so it was from the very beginning. And this comes from the principles of operation of both components. Take a look at this question: #23.
Perhaps there is some dependence on the model of the bt adapter used (during the collection of information about the problem, I read that there are chips that allow simultaneous scanning and connection). But on my two systems, I was not able to achieve normal operation - either my component or tracker worked, and never together.

I don't think it's a coincidence. Or am I wrong?

We are all human and prone to mistakes. But, I repeat, version 0.6.6 does not contain any changes in working with the bluetooth subsystem. And I really see no reason why updating a component has such an effect on your system. I assume that it depends on the specific moment the components are launched, and I have no way to influence this.
If you are technically savvy enough and ready to tackle this problem, then to shed light on your situation, you need to do some research:

it’s worth starting with your configuration - post here the config lines related to the tracker and my component;
carefully check the logs for any errors when working with version 0.6.6;
roll back to version 0.6.5 and write down the debug and btmon log as described in our FAQ, in the DEBUG section;
install 0.6.6 and write down the same debug and btmon logs as in the previous paragraph, and put both here;

Only after I have enough detailed information I can make some conclusions about your situation. Until then, I suggest you stay on version 0.6.5 if you do not experience any problems with it.
I should also note that the forum has a lot of complaints about the work of the bluetooth tracker. Many people solve these problems using an external device (ESP32, for example, with ESPHome firmware) or switch to tracking via WiFi, which works more stably and has a larger coverage area.

With 0.6.7beta bluetooth track
Work perfect....
Many thanks


Currency updates for CSI 2.12

Update version to CSI 2.12
GO version update
CSI spec update

Closing this issue as currency updates are done on CSI 2.12.


Grapploct doesn't exist in the damage calc sections and Clobbapus has the wrong base stats

Describe the bug
Grapploct cannot be searched for in the damage calc section of the website, and its pre-evolution Clobbapus has the incorrect base stats (it has the stats that Grapploct should have)
To Reproduce
Steps to reproduce the behavior:

Go to https://www.pikalytics.com/calc
Using the select pokemon dropdown, search for "Grapploct". This yields no results, with the message "No matches found".
Using the select pokemon dropdown, search for "Clobbapus". Select Clobbapus and identify that the pokemon has incorrectly listed base stats (https://pokemondb.net/pokedex/clobbopus)

Expected behavior

Grapploct should be available to select for damage calcs
Clobbapus should have the correct base stats

Screenshots
Screenshot of searching for Grapploct

Screenshot of searching for Clobbapus, and it's base stats

Desktop (please complete the following information):

OS: Windows 10
Browser Google Chrome
Version 93.0.4577.82

how can I contribute?

This was previously fixed shortly after this issue was opened. The resolution commit can be found here:
https://github.com/pikalytics/pikalytics-calc/commit/0819725eabb339b613661377bdca50319a7188d7


status 400 instead of 500 on XML/JSON parsing error

Sorry for the multiple commits, it was a mistake due to my very recent use of merges. Only look at the modified files.

Unclean PR, to be replaced by another one


Modify wenet.utils.cmvn

In the _load_kaldi_cmvn function, mudule logging and sys have not imported, this PR fix this bug.

too  many conflicts, please fix it.


Lags(several seconds) while editing .ignore

whole project: 42 194 Files, 14 386 Folders (excluded and ignored /target has 37 643 Files, 13 964 Folders)

https://www.dropbox.com/s/xclle0gzpy4fg38/threadDumps-20150321-152824-IU-141.175.rar?dl=0

Please verify if everything is fine with release v1.1.


[API] Improve HeronSubmitter

This PR aims the following changes:

Current writing topology definition to OutputStream has been refactored with try-with-resources statement so explicit flush and close method calls have been removed.
Redundant directory check has been removed.
Added UT coverages for the following cases:

Success case (by submitting valid topology)
4 negative cases

If Tmp Directory is not set,
If Tmp Directory is set as empty path,
If Tmp Directory is set as invalid path,
submitJar is not supported yet

Javadocs have been added.

Also: new added UT cases execution time is as follows:
//heron/api/tests/java:HeronSubmitterTest      PASSED in 3.8s

@erenavsarogullari - can you resolve the conflicts?

@kramasamy @nwangtw Thanks again for the reviews.

Last comment has been addressed.
Merge conflict has been fixed.
So PR is ready for final review / merge.

thanks @erenavsarogullari - once it finishes the CI we can merge it.


Add help center page about navigating one's @-mentions

We should add a help center page to document the @-mention reading experience:
Page: View your mentions (?)
Section: Reading messages, perhaps just above "Star a message"
Things to document:

@-mentions tab (deskop and mobile)
@ indicator for unread @-mentions in the left sidebar [topics only, not PMs]
@ indicator for unread @-mentions in Recent conversations [topics only, not PMs]
@ indicator for unread @-mentions in Inbox view on mobile  [I think it's topics only, but worth checking.]

@drrosa Let me know if you have any questions about this one.


Update api-reference.md

update with typo fixes.
At the API Reference page  update small typo
from "compatibale" to "compatible"

Hello, I am a PR summary agent on flows.network.
It could take a few minutes for me to analyze this PR. Relax, grab a cup of coffee and check back later. Thanks!


Updated app with all necessary components post review

PR Details

Description

Related Issue

Checklist

[ ] Changes follows the best practices from the given docs.
[ ] Updated CHANGELOG.md.
[ ] Ran unit tests locally.
[ ] Updated screenshots/sample logs if any.

LGTM


Add metadata for google

should show up at top of the list

might be possible to get sitelinks pointing to the various subdomains too


Login error Gigya

Are we supposed to still use the same Electrolux account or are there any changes in that regards concerning the switch to gigya?
~ $ python3 -m purei9_unofficial -d -o json cloud -v3 -c "MyElectroluxUsername:MyElectroluxPassword" status
2024-10-09 10:57:03,527 - purei9_unofficial.util - DEBUG - HTTP POST https://socialize.us1.gigya.com/socialize.getIDs
2024-10-09 10:57:03,538 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): socialize.us1.gigya.com:443
2024-10-09 10:57:03,776 - urllib3.connectionpool - DEBUG - https://socialize.us1.gigya.com:443 "POST /socialize.getIDs HTTP/11" 200 365
2024-10-09 10:57:03,779 - purei9_unofficial.util - DEBUG - HTTP 200 <Response [200]> (sensitive data not shown)
2024-10-09 10:57:03,780 - purei9_unofficial.util - DEBUG - HTTP POST https://accounts.us1.gigya.com/accounts.login
2024-10-09 10:57:03,787 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): accounts.us1.gigya.com:443
2024-10-09 10:57:04,228 - urllib3.connectionpool - DEBUG - https://accounts.us1.gigya.com:443 "POST /accounts.login HTTP/11" 200 211
2024-10-09 10:57:04,230 - purei9_unofficial.util - DEBUG - HTTP 200 <Response [200]> {
  "callId": "1e18a241e0224f899c58c0e397a107e3",
  "errorCode": 403042,
  "errorDetails": "invalid loginID or password",
  "errorMessage": "Invalid LoginID",
  "apiVersion": 2,
  "statusCode": 403,
  "statusReason": "Forbidden",
  "time": "2024-10-09T08:57:04.167Z"
}
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/lib/python3.12/site-packages/purei9_unofficial/__main__.py", line 164, in <module>
    robots = client.getRobots()
             ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/purei9_unofficial/cloudv3.py", line 251, in getRobots
    r = do_http("GET", self.apiurl + "/appliances", headers=self._getHeaders())
                                                            ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/purei9_unofficial/cloudv3.py", line 224, in _getHeaders
    idToken, countryCode = gigya_login(self.username, self.password)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/purei9_unofficial/cloudv3_gigya.py", line 127, in gigya_login
    gigya_country = data["profile"]["country"]
                    ~~~~^^^^^^^^^^^
KeyError: 'profile'

It should be the same, for me it worked without doing anything in homeassistant.
But there might be differences depending on the region where your account is registered and/or if it's supposed to be an AEG or Electrolux account. I mostly just copied the requests which the app did in my case.

One thing you can do without breaking the official app's TLS connection is looking if the requests are also going to the "us1.gigya.com" domain. This information should be contained in the TLS handshakes in plaintext of you sniff on the network while logging into the account with the app. Maybe they are using different zones, i.e. for users based in Europe vs. US, because of privacy protection regulation and stuff like that.

This information should be contained in the TLS handshakes in plaintext of you sniff on the network while logging into the account with the app.

When I am logging into the Electrolux app (with an Electrolux account) from Sweden (EU) on a iPhone one is now asked to "continue with" either Google, Apple, or Email (all represented by symbols). When choosing the Email symbol the app asks for the account email and once given sends a 6 digit code to the email address. This code is then used to log in. It never requests the account password. The TLS Client Hello is sent to ws.eu.ocp.electrolux.one. Seems to be quite a different login procedure over all to what you have in the US.

A bit too quick in my note. There are also TLS Client Hellos to socialize.eu1.gigya.com and accounts.eu1.gigya.com, so maybe it is not so different after all.

Also, just to confirm, I get the same error message as @techillin. Changing all us1 to eu1 in cloudv3_gigya.py results in
2024-10-21 19:41:51,021 - purei9_unofficial.util - DEBUG - HTTP 200 <Response [200]> {
  "callId": "c5d4c2a2e39d47aea0cd1c722a96d4a5",
  "errorCode": 301001,
  "errorDetails": "This API key is served by another data center.",
  "errorMessage": "Invalid data center",
  "apiVersion": 2,
  "statusCode": 301,
  "statusReason": "Moved Permanently",
  "time": "2024-10-21T17:41:51.001Z",
  "apiDomain": "us1.gigya.com",
  "location": "https://accounts.us1.gigya.com/accounts.login"
}

If you could let me know how to figure out the API key I could help test an "EU solution" to this issue.

Fixed in version 0.0.16. The country needs to be passed seperately.


V0.9.0

@dabit3 Please review. Thanks.

Refer to this for release notes.

Refer to this for release notes.


Update Skinsrestorer.

I really think this tag should actually be deleted. Skins restorer really shouldn't have much use anymore because skins are shown. People who still use it probably have offline mode off instead of on without floodgate. (Even then if they had floodgate they probably still have offline mode off) In that case also Geyser Skin Manager shows the skins regardless now (Not for persona I dont think)
(if it doesn't get deleted atleast change the tag to say that floodgate now works with skins)

I rarely see this tag used so I would be in favour of just deleting it honestly

I rarely see this tag used so I would be in favour of just deleting it honestly

I 100% agree on this decision!


Add note that IPv6 is not supported

Note added about ipv6 not supported for cloud services/device-gateway.
QA: linter, linkcheck, and viewed rendered HTML. No issues noted.
This commit addresses FFTK-2459, "Add note that IPv6 is not supported"
PR Template and Checklist
Please complete as much as possible to speed up the reviewing process.
Readiness and adding reviewers as appropriate is required.
All PRs should be reviewed by a technical writer/documentation team and a peer.
If effecting customers—which is a majority of content changes—a member of Customer Success must also review.
Readiness

[x] Merge (pending reviews)
[ ] Merge after date or event
[ ] Draft

Checklist

[x] Run spelling and grammar check, preferably with linter.
[x] Avoid changing any header associated with a link/reference.
[ ] Step through instructions (or ask someone to do so).
[x] Review for wordiness
[x] Match tone and style of page/section.
[x] Run make linkcheck.
[x] View HTML in a browser to check rendering.
[x] Use semantic newlines.
[x] follow best practices for commits.

[x] Descriptive title written in the imperative.
[x] Include brief overview of QA steps taken.
[x] Mention any related issues numbers.
[x] End message with sign off/DCO line (-s, --signoff).
[x] Sign commit with your gpg key (-S, --gpg-sign).
[x] Squash commits if needed.

[x] Request PR review by a technical writer and at least one peer.

Comments
Working through older issues with quick fixes.

Docs for 9aff0975dd0c134630407e757d2b0886148c3547 are browsable at: https://ci.foundries.io/projects/fio-docs/builds/2799/docs/artifacts/html/index.html


Fix autotest build

Limit rake on older rubies
Limit i18n below 1.9.3
Ensure updated rubygems

Anyone care to review @rspec/owners ?

LGTM


TLS Cert deprecation warning

I1013 22:56:12.213179       5 logs.go:41] warning: ignoring ServerName for user-provided CA for backwards compatibility is deprecated

Are you working on a fix?

Looks like this is just a bump. https://github.com/coreos/etcd/issues/7647

Actually, I still see this in apiserver logs, even on clusters where the etcd cluster is v3.2.0.

Just to clarify, etcd v3.2.0 does remove the warning, but this issue was filed about the log line from the apiserver. which is still present.


[DO NOT MERGE] Run Android & iOS tests every time like Rust ones

[And do not review]
I am doing some tests on tests for now.

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

Project coverage is 89.64%. Comparing base (f8e1840) to head (746c706).

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #960      +/-   ##
============================================
+ Coverage     86.29%   89.64%   +3.35%
============================================
  Files           168       86      -82
  Lines         19294    15499    -3795
  Branches       1086        0    -1086
============================================
- Hits          16649    13894    -2755
+ Misses         2315     1605     -710
+ Partials        330        0     -330

Flag
Coverage Δ

uitests
?

uitests-android
?

unittests
89.64% <ø> (+4.08%)
:arrow_up:

unittests-android
?

unittests-ios
?

unittests-rust
89.64% <ø> (ø)

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

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