Change default font to core.test.DEFAULT_FONT

Partial rebase of #2412 without the setting function. Closes #2412

It's a bit tricky, I also played with a fix but gave up at the time :P. See this thread for some of the pitfalls, and possible solutions: https://github.com/kivy/kivy/pull/2319.
The main benefit of setting a default font would be to not have to ship/load the font files provided by kivy, but if we must customize it by importing kivy.core.text, it's already too late because the module loads the default ones on import.
Setting/reading the default font from Config may be the only practical route at this time. That would involve declaring the font name and 4 paths, and finding a syntax which doesn't offend anyone. 😁
Here is one possible version:
Config.set('kivy', 'default_font', '<Name>,<path_regular>,<path_italic>,<path_bold>,<path_bolditalic>')

A similar syntax is used already for some of the config options, but the comma could cause issues with certain paths.

Config seems to me like the was as even fullscreen is set this way. It's a default value, it should be fetched from config, right?
Also, what's the problem with commas as separator? In the worst case we can do this:
Config.set('kivy', 'default_font', '[<Name>,<path_regular>,<path_italic>,<path_bold>,<path_bolditalic>]')

and call Python's ast this way:
ast.literal_eval('[<Name>,<path_regular>,<path_italic>,<path_bold>,<path_bolditalic>]')

which will return a list and is quite safe.

@dessant re the pitfalls, override it like this:
Config.set(...)
Config.write()

and the config.ini is overwritten, therefore on the next run of the app the font is properly changed.

I think this is now a decent way of solving it, if someone doesn't object until tomorrow, we can merge it.

However, there might be a problem with a need of local config:
Config.read(<path to local .ini>)
Config.set(...)
Config.write()

Config somehow skips the local configuration and goes for .kivy/config.ini, but I think it's a bug in Config, not a problem of this PR.

Yep, was a config thing. Unfortunatelly, kivy/__init__.py sets it by default. It's nice though, because if prohibits dirty tricks ^^
import os
from os.path import dirname, abspath, join, exists
local_config = join(dirname(abspath(__file__)), 'local_kivy')
os.environ['KIVY_HOME'] = local_config

if not exists(os.environ['KIVY_HOME']):
    os.mkdir(local_config)

from kivy.config import Config
Config.set('kivy', 'default_font', [
    'Arial',
    local_config + '\\..\\arial.ttf',
    local_config + '\\..\\arial.ttf',
    local_config + '\\..\\arial.ttf',
    local_config + '\\..\\arial.ttf',
])
Config.write()

from kivy.lang import Builder
from kivy.base import runTouchApp
runTouchApp(Builder.load_string('''
Button:
    text: 'blaaaaaaaaaaaaa'
'''))

First run is still "cached", because Config isn't reloaded, but even after import kivy and some other stuff I tried, it was still the default font until the app was killed and ran for the second time, when the local config was finally read.
Any ideas how to restart Config after Config.write()?
ref #4826

@KeyWeeUsr, super, it works well with my simple test.
from kivy.config import Config
Config.set('kivy', 'default_font', [
    'AveriaSansLibre',
    'AveriaSansLibre-Regular.ttf',
    'AveriaSansLibre-Italic.ttf',
    'AveriaSansLibre-Bold.ttf',
    'AveriaSansLibre-BoldItalic.ttf',
])

from kivy.app import App
from kivy.lang import Builder

kv = """
Label:
    font_size: dp(30)
    text: "I feel pretty,\\nOh, so pretty,"
"""

class TestApp(App):
    def build(self):
        return Builder.load_string(kv)

if __name__ == '__main__':
    TestApp().run()

Il do a small change, mainly for allowing to skip italic, bold and bolditalic.
If someone has an idea for a different config value syntax, please share.


Using common types

ARM (Control Plane) API Specification Update Pull Request

[!TIP]
Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

Purpose of this PR
What's the purpose of this PR? Check the specific option that applies. This is mandatory!

[ ] New resource provider.
[ ] New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[ ] Update existing version to fix OpenAPI spec quality issues in S360.
[ ] Other, please clarify:

edit this with your clarification

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[ ] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
[ ] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.

Additional information

 Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.

Getting help

First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
For help with ARM review (PR workflow diagram Step 2), see https://aka.ms/azsdk/pr-arm-review.
If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

@pjohari-ms Looks good so far, I think you'll just want to merge latest main into your source branch, and use your own definition of the configuration name that provides a pattern constraint, if you have one.

/azp run

Please fill out the Purpose of this PR and Due diligence checklist

/azp run

@pjohari-ms I don't see any interesting lintDiff errors here yet, but looks like examples need fixing for ModelValidation errors.


implement MAV_CMD_NAV_LOITER_TO_ALT and general mission cleanup

This PR implements MAV_CMD_NAV_LOITER_TO_ALT and has some general mavlink mission cleanup that I came across while implementing and testing.
The mavlink mission handling had some holes and was difficult to follow and extend so I refactored it to only handle what we actually implement. I can split that off into another PR if desired.

Looks good from sifting through it. But I need another pass to check line by line.

Some additional testing from other developers might be prudent here. I did a few tests of creating/loading/retrieving random missions and diffed what QGC received. I didn't test MC or VTOL.

@sanderux @tumbili Can you cross test here?

FYI I've been flying this SITL, HIL, and outside for the past week. Typical FW missions with takeoff, loiter, waypoint, jump, loiter_to_alt, land.

That changes things considerably. Let me have another pass.

Rebased and applied, thanks!


OpenZwave Beta DanFoss TRV Heating element missing in Home assistant auto detect.

OpenZWave 4.01
Home Assistant 0.111.0
All my Danfoss TRV`s arent showing the heat set point inside Home assitant but are viewable on the Openzwave app.

Hi there @hossface,
The issue you are reporting is related to the Home Assistant OpenZWave beta integration. Please report your issue with the Home Assistant Core project.
https://github.com/home-assistant/core/issues
Thanks 👍


[SPARK-35198][CONNECT][CORE][PYTHON][SQL] Add support for calling debugCodegen from Python & Java

Add support for calling debugCodegen from Python & Java

What changes were proposed in this pull request?

Adds debugCodegen to the Dataset APIs core and connector
Adds debugCodegen to the pyspark dataframe API
Removes the implicit debugCodegen from sql/core/src/main/scala/org/apache/spark/sql/execution/debug/package.scala as it is public now.

Why are the changes needed?

To add a direct method to get debugCodegen state for Java & Python users of Dataframes.
Does this PR introduce any user-facing change?

debugCodegen is now accessible from all Scala, python and Java APIs. See usage below.
How was this patch tested?

Added tests in:

sql/core/src/test/scala/org/apache/spark/sql/DebugCodegenSuite.scala.
connector/connect/client/jvm/src/test/scala/org/apache/spark/sql/ClientE2ETestSuite.scala

Local testing:
scala> spark.sql("SELECT 1").debugCodegen
Found 1 WholeStageCodegen subtrees.
== Subtree 1 / 1 (maxMethodCodeSize:55; maxConstantPoolSize:99(0.15% used); numInnerClasses:0) ==
*(1) Project [1 AS 1#0]
+- *(1) Scan OneRowRelation[]
...

>>> spark.sql("select 1").debugCodegen()
Found 1 WholeStageCodegen subtrees.
== Subtree 1 / 1 (maxMethodCodeSize:55; maxConstantPoolSize:99(0.15% used); numInnerClasses:0) ==
*(1) Project [1 AS 1#0]
+- *(1) Scan OneRowRelation[]
...

@holdenk @MaxGekk

LGTM +1

@HyukjinKwon Changed the implementation to df.explain("codegen") and added it to the connector

Hi @HyukjinKwon Does the PR approach make sense to you?

Hey @HyukjinKwon @MaxGekk @holdenk, I created this PR a while ago... I would appreciate if you have the chance to review it.
Thanks!

LGTM for 4.0, can you update the version tags and then we'll merge to the dev branch?

LGTM for 4.0, can you update the version tags and then we'll merge to the dev branch?

Thanks @holdenk. Updated the version tags  to 4.0.0 but the bot closed the PR first. If should show up when you reopen the PR.

LGTM for 4.0, can you update the version tags and then we'll merge to the dev branch?

Thanks @holdenk. Updated the version tags to 4.0.0 but the bot closed the PR first. It should show up when you reopen the PR.

LGTM

@holdenk Should this PR be reopened? Related to https://issues.apache.org/jira/browse/SPARK-35198


Reopen with GB2312 encoding is very slow

VSCode Version: 1.20.0
OS Version: Windows 10.0.16299.192 x64

Steps to Reproduce:

Open a 9MB file that is encoded in GB2312 (or GBK or GB18030)
Use command palette to choose "Change File Encoding", then "Reopen with Encoding", then "GB 2312".

I takes several minutes for the operation to complete. And it prompts "Application Not Responding" several times during the operations. Need to select "Keep Waiting" for the operation to complete.

Does this issue occur when all extensions are disabled?: Yes/No

The same problem with Windows 1251 encoding.

It would be great if you can share the data to help troubleshoot.

test.log
This is a small 1Mb file. When i reopen in win1251 - it takes 2-3 seconds.
Real log file size over 10Mb - reopen them around 1-2 minutes.

test.txt
You can easily make a test file by copying/pasting same block of text several times. The file content doesn't matter.

Shared the same root cause as https://github.com/Microsoft/vscode/issues/41184 and it's fixed in master.


use webContents.openDevTools for quick start guide

mainWindow.openDevTools() has been deprecated in favor of mainWindow.webContents.openDevTools() (see https://github.com/atom/electron/issues/3125#issuecomment-148975593). This change should be reflected in the quick start guide.

Looks good to me, thanks!


std::complex multiply in kernel produces wrong result

Running complex.cxx, which does multiply on std::complex array elements in a kernel, with hipSYCL on AMD RX 570, results in garbage results:
$ make -f Makefile.hipsycl
$ ./build-hipsycl/complex gpu
[GPU  ] Device 67df {AMD}
0: (0,0) * (0,0) = (5.51054e+84,3.92651e-261)
1: (1,-1) * (1,1) = (4.88846e-20,8.07758e-276)
2: (2,-2) * (2,2) = (5.51054e+84,3.92651e-261)
3: (3,-3) * (3,3) = (4.88844e-20,8.07758e-276)
4: (4,-4) * (4,4) = (5.51054e+84,3.92651e-261)
5: (5,-5) * (5,5) = (4.88846e-20,8.07758e-276)
6: (6,-6) * (6,6) = (5.51054e+84,3.92651e-261)
7: (7,-7) * (7,7) = (4.88846e-20,8.07758e-276)
8: (8,-8) * (8,8) = (5.51054e+84,3.92651e-261)
9: (9,-9) * (9,9) = (4.88846e-20,8.07758e-276)
10: (10,-10) * (10,10) = (5.51054e+84,3.92651e-261)
11: (11,-11) * (11,11) = (4.88846e-20,8.07758e-276)
12: (12,-12) * (12,12) = (5.51054e+84,3.92651e-261)
13: (13,-13) * (13,13) = (4.88846e-20,8.07758e-276)
14: (14,-14) * (14,14) = (5.51054e+84,3.92651e-261)
15: (15,-15) * (15,15) = (4.88846e-20,8.07758e-276)

Addition on the other hand produces the correct result. I built b4d2e1185a86f6fc6ce58828bd9856d120eeb9b7 from source, against ROCm 3.8.0 on Ubuntu 18.04.
Aside: my other simple examples, including a usm test, are working using the ROCm backend. I have not yet been able to get CUDA or CPU backends to work on my test machine.

Well, officially SYCL doesn't support std::complex inside kernel code (or any other std:: stuff really, with only a few exceptions). In general, std:: code might work, or might not work inside kernels with hipSYCL.
The reason why we cannot really make guarantees about such code is because it depends on the implementation of the standard library. There are restrictions inside SYCL kernels that any kernel code must obey. STL code might violate these restrictions. For example, a simple assert() may be enough to cause problems because assert() might call std::terminate() which is unavailable on device. Or code might make other assumptions that are only true on the host.
gfx80x support in ROCm is shaky in general, independently of hipSYCL. There have been numerous reports of people having encountered compiler bugs with that hardware generation. hipSYCL doesn't touch code generation at all (it mainly does an additional AST pass to make sure that everything required by a kernel is treated as HIP/CUDA __host__ __device__), so whatever happens usually happens because of the clang HIP compiler..
I don't see how we could fix this - likely it's either caused by the STL implementation or a bug in clang HIP or the amdgpu LLVM backend (potentially for gfx80x generation specifically). You could try a different clang version.
If feasible I would also recommend using a custom complex implementation which would also be in line with the SYCL specification. With that said, I think there should at least be a sycl::complex in the specification for users who need complex numbers.

+1 for a sycl::complex in the specification, I've been pushing for something like that: https://github.com/intel/llvm/issues/2061. std::complex works with Intel's implementation with the -device-math-lib=fp32,fp64 option and ComputeCPP with -ffast-math, but using sycl namespace is probably a cleaner way to standardize this.
I see what you mean regarding HIP support - it seems to work on some machines and not others depending on the C library implementation. My gtensor HIP backend happens to be working with complex numbers on my test machines, but I guess I just got lucky. For CUDA, using thrust::complex works well, std::complex not so much. Which is fine because thrust::complex is included with all recent cuda distributions and with type aliasing I can bring it in to whatever namespace is convenient (gtensor does this with gt::complex).

What I could offer you if you are interested in sycl::complex is that we add that class in hipSYCL. In general it's always a good idea for standardization if you can point to an implementation that has already successfully prototyped a feature and it might be an incentive for other implementations to follow.
Of course the fastest way to add this would be if you create a PR, otherwise I can work on it at some undetermined point in the future when I have time for it ;)

I guess NVIDIA had solved this with their C++ core library.
Perhaps their implementation can be used here? @brycelelbach

Oh Ronan :). You do love asking me questions I cannot answer.
std::complex, the class template, is the easy part -  at least functionally. The challenging part is associated math library functions. Fortunately CUDA has an excellent math library team.

For CUDA, using thrust::complex works well, std::complex not so much.

Stay tuned. Everything is std::, including complex, is coming to an NVIDIA GPU near you soon. And I do mean everything.

My guess would be that the problem here is a miscompile, NOT an issue with std::complex. Multiply is fairly "boring". The common standard libraries (including libc++, which my team uses) do typically implement multiply with some intrinsics, but I see no reason why this code or code like it would not work. The fact that the code compiled means that the relevant builtins exist, or at least the compiler is aware of them. It's possible they are defined wrong. Try turning off device code optimizations and see if it repros.

Ouch! :-(

I believe that is the extent to which I can provide assistance in this regard, given my current employer and line of work.

Thanks for the hints at least, my dear coopetitor! :-)
Since most of the code is open-source, we can probably layer or retarget a lot of things by playing with (inline) namespaces and so on. No need to reimplement things just for the sake of reimplementing things...

For CUDA, using thrust::complex works well, std::complex not so much.

Stay tuned. Everything is std::, including complex, is coming to an NVIDIA GPU near you soon. And I do mean everything.

You said "everything"... My secret plan is to accelerate all the FPGA bitstream generation by x1000 by using GPU. This is "just" C++ using the STL, right? :-)

I've just had a look at the LLVM IR that comes out, and I can see nothing that would be a problem on device.
The code also runs fine and produces correct results for me with current hipSYCL and clang 10 on my Radeon VII (with ROCm 3.8) as well as GTX 1080 (with CUDA 11.0). I agree that it is probably a miscompile - likely a bug in the amdgpu LLVM backend for that particular chip.

What I could offer you if you are interested in sycl::complex is that we add that class in hipSYCL. In general it's always a good idea for standardization if you can point to an implementation that has already successfully prototyped a feature and it might be an incentive for other implementations to follow.
Of course the fastest way to add this would be if you create a PR, otherwise I can work on it at some undetermined point in the future when I have time for it ;)

This is a great idea thank you! I am interested to try implementing it, although not sure how soon I will have time (will see who gets to it first I guess? Will let you know before starting work so we don't duplicate effort). I think just implementing conj /norm/plus/minus/multiply/divide is almost trivial, like @brycelelbach said it's all the math functions that get complicated. We could start simple and expand. For the Fusion code I am working on porting to different GPUs, we are actually only using the basic operations - I think that covers a non-trivial number of use cases.

My complex.cxx example works on Ubuntu 20.04 with same version of hipSYCL and ROCm, same GPU RX 570 (gfx 803) (in a different chroot). It appears to be an issue with Ubuntu 18.04 and ROCm 3.8 packages, perhaps with gcc7 version of std lib.
I'm going to go ahead an close the issue, and create a new feature request re sycl:complex prototype. In my experience std::complex support is inconsistent and fragile in SYCL implementations, which is a real problem for the application I am working on.


Support Spark NLP ?

There is a pre-release for Spark NLP on Spark 3.0.0
This might it possible to use it with Geni ?
https://github.com/JohnSnowLabs/spark-nlp/releases/tag/3.0.0-rc8

I am interested in this too.

Hi @behrica! Thanks for the tip! Looks like it could be possible! Unfortunately I currently have the bandwidth to work on it :( Any sort of contributions here would be greatly appreciated!

@anthony-khong is working with Geni usually a matter of mapping out/wrapping the scala interop?

@samrose apologies, I just saw this comment. Yes, it's a matter of wrapping with a nice idiomatic layer, because usually interop code tends not to play nice with, say, the REPL.


Deploy ECMWF PVnet

Deploying PVnet in the UK with ECMWF data
Linked with https://github.com/openclimatefix/pvnet_app/issues/50

Done with new model


Android JitsiMeetingListener onClosed not called

On Android the onClosed callback of JitsiMeetingListener is not called when you close the picture in picture video call.
It is call correctly when not using picture in picture.

onClose is called when the native Jitsi Meet view got closed. However, when you close the PiP view (using the X in the upper right corner) then the call does not terminate, and thus the native view does not close. This is different to the jitsi_meet package. If you want to get notified when the conference is terminated, then you can use onConferenceTerminated callback.

onConferenceTerminated and onClose are never fired
I have some set of operation I want to carry out once a user closes or terminate the meeting but unfortunately nor of this work
am not doing PiP, how do I make it trigger the command in the onConferenceTerminated and onClose block

I'm sorry, but it works on my end. Would be great if you could supply an example and tell the Devices + OS versions for which it is not working.

Pls, I would love to end a meeting pragmatically.
Can you please make this happen ?

As said in #25 I will try to implement this as fast as possible, but my time is limited.

Closing this because of inactivity. Feel free to reopen when required.


Stop tests on push

Issue

When a PR is created, the git workflow runs tests on all the pull requests, but once the tests are run on pull requests they run again during push

When was the issue discovered?

The issue was discovered on 18th August 2022 during a hangout call while trying to merge PRs.

Files that might be creating this

.github/workflows/test.yml

Screenshot of the Problem

Hey @RitikJaiswal75 can you assign this issue to me?

Hey, I think it's good that the tests are run after every commit. It gives us an idea of which commits made the tests fail.

Hey, I think it's good that the tests are run after every commit. It gives us an idea of which commits made the tests fail.

This can be done locally as well, if TDD is followed.

Hey, I think it's good that the tests are run after every commit. It gives us an idea of which commits made the tests fail.

This can be done locally as well, if TDD is followed.

Yes, But what if developer didn't fix the tests which are breaking or didn't run tests locally? how will reviewer know whether there are breaking changes or not?


Updated [GR]/lessons/Basics/Enum.md file

I added some more information about the functions Enum.min/2 and Enum.max/2

Thank you @dodosiz!  @gemantzu care to take a peek at this?

Thnx @dodosiz ! TBH I have mixed feelings over this, but it's not @dodosiz 's fault. I checked on the original and I find it very confsing as a non-native english speaker. I believe we should change the original to be more clear, and then let @dodosiz reiterate over this in the Greek version. @Kosmas could you comment on this as well?

@dodosiz @gemantzu I think it would be better to replace the
αυθαίρετη
with
προεπιλεγμένη
everything else looks fine.

@kosmas sure about the replacement, but what I found weird (it may be just me though) was the μέσω μιας ανώνυμης συνάρτησης, which I think is not accurate to what actually happens in the function. And I believe that the culprit is the original English version. What I suggest is that we change the original in something like this:
min/2 does the same, but allows us to specify the original / starting / initial value to the anonymous function that we pass:
and translate accordingly. This way we make the lesson more clear to someone that is just starting out.
Sorry if I've dragged this more than I should, I just stated something that bugged me out.

@gemantzu I think I see your point.
Maybe the description in max/2 is a little bit better and can be used in min/2 (in the English text)

Tbh I don't like it as well. They way they are both written indicates that Enum is an entity itself and the min / max functions do something to that entity, while in FP functions are the entity, modules are just an enclosure, a package, nothing more. At least that is my point of view from things in these last 8 months or so of doing FP.

I proposed a PR ( #984  ) that will clear this up. With a small change, @dodosiz 's translation will be perfect and in place (let's see if the PR is accepted first).

@gemantzu your PR is merged, thanks for the suggestion!  After @dodosiz incorporates your changes we need to make sure this branch is rebased, looks like there's some other changes in this PR now.

Thnx @doomspork . @dodosiz go ahead and retranslate this (and don't forget to rebase as @doomspork proposed).

I will do a recheck on the whole lesson to see what has changed since then and do a new PR when I find some time, unless ofc @dodosiz comes back and rebases his PR.

Thank you @gemantzu!  Hope all is well 😁

so @dodosiz doesn't seem responsive, so I went ahead and updated the lesson (Enum.md). I don't know about the other changes though, should they be included?

@gemantzu your call.  We can close this PR if you want and when they're available they can re-open it.

I guess you should close it then and if it is needed, it will come up again.


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1647 ms

Resolved: Bofrost.at performance has improved in fbb4770.


No spaces in search

This makes it so that any spaces (extra or none) that a user enters in the search bar on the toxicity form in Slim Mode are ignored and returns values either way. (Ex: "bonemarrow", "bone marrow" and "    bone    ma rrow" all give a result of "bone marrow"). This does not change the search bar on the context panel in Full Mode. I will make a separate Jira item for that.

This looks good! Nice job


[pyupgrade] Replace str,Enum with StrEnum UP042

Disclaimer: I am first time contributor to Ruff, relatively new to Rust. Doing this to learn the language, study how ruff project is structured and to pay back for using my favourite python tool :)
Summary
Add new rule pyupgrade - UP042 (I picked next available number).
Closes https://github.com/astral-sh/ruff/discussions/3867
Closes https://github.com/astral-sh/ruff/issues/9569
It should warn + provide a fix class A(str, Enum) -> class A(StrEnum) for py311+.
Test Plan
Added UP042.py test.
Notes
I did not find a way to call remove_argument 2 times consecutively, so the automatic fixing works only for classes that inherit exactly str, Enum (regardless of the order).
I also plan to extend this rule to support IntEnum in next PR.

Anyone?

I’ll take a look today :)

This is great! I made some changes to the documentation and rule messages just to better align with our style elsewhere.

Left a few clarifying comments on changes that I made, but please ask questions if you'd like.


DefaultVFS sometime output .class file content to log

MyBatis version
3.5.10
Database vendor and version
No related
Test case or example project
Any project import  log4j2
Steps to reproduce
run any mybatis project with log level DEBUG
Expected result
The DefaultVFS print files it enters
Actual result
Sometime the DefaultVFS print messy code

It looks like issues #1319.But this messy code is not caused by the Chinese filename, and it is also independent of the character set.
Before outputting to the log, it does not check whether the current resource is a directory, so it incorrectly outputs part of the file content sometime. In fact, if the current resource is a file, its contents should not be output to the log, which is independent of any encoding.
org.apache.ibatis.io.DefaultVFS.list (DefaultVFS.java:101)
After testing, the garbled code is actually the first few bytes of the .class file that are output to the log in text mode

Hello @loliconRoot ,
You wrote "any project", but I couldn't reproduce it with those projects.
Please create and share a demo project so that we can verify the problem on our end.
And what do you mean "sometimes"?
Is it random?

It seems that any project not packaged as a jar (run directly during development or testing),mybatis will use DefultVFS to handle some things. At this time, DefultVFS will not check if this file is a directory before outputting it.

Hello @loliconRoot ,
We need the exact steps to reproduce the issue.
Thank you!

https://github.com/loliconRoot/BaseTest
This is a simple example to reproduce the problem. I used IDEA to run this example directly and saw the output of the PartOutput.txt file.

Here is a comment in the DefaultVFS.

Some servlet containers allow reading from directory resources like a
text file, listing the child resources one per line. However, there is no
way to differentiate between directory and file resources just by reading
them. To work around that, as each line is read, try to look it up via
the class loader as a child of the current resource. If any line fails
then we assume the current resource is not a directory.

So, the garbled output you are referring to seems to be the expected output.
It provides the information about the internal operation for debugging purpose.

Yes, the intent of this output is to make us aware of the classes loaded by VFS through the filenames.
Also, the reason for the garbled code is that VFS outputs the fetched content before checking if the resource is a directory, and bytecode is not any kind of human-readable text content.
The comment and code show that when the current resource is a file, it call lines.clear() and break, so it is clear that VFS expects to get the content as a file name or a directory name, so I think the garbled code should not be the expected output of VFS.
Also based on the variable name lines and the comment:

listing the child resources one per line

I think VFS expects to get the name of the resource rather than the content

I think you are misunderstanding something.
The comment says "there is no way to differentiate between directory and file resources just by reading them".
So, the code is checking if the url is a directory or a file by reading its content.
Simply put,

if the line contains a file name, url is a directory.
if the line does not contain a file name, url is a file.

In your PartOutput.txt, here is the part checking a directory. And this part is checking a file.
By seeing the output, the developer who is debugging DefaultVFS can follow the determination process.
I will close this issue as the current code does exactly what it should do.


Example app - Angular2 - Angular-Cli

I know this might not be the kind of issue you're expecting.
But if someone manage to build an angular2 app built with angular-cli, that'd be awesome and I'd be glad to ear about it !
Cheers

I don't think we need the angular-cli involved but I am planning to use splittable on my Angular-closure compiler example this week.

Let me know how that goes!
On Sun, Feb 5, 2017 at 5:47 PM, Alex Eagle<EMAIL_ADDRESS>wrote:

I don't think we need the angular-cli involved but I am planning to use
splittable on my Angular-closure compiler example this week.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cramforce/splittable/issues/23#issuecomment-277569082,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAFeTwLn92I52OFkHkkWnE1HPdBNDdYbks5rZnu4gaJpZM4K8O3v
.

First issue: Angular's closure-friendly ES6 distro uses ES modules, currently fails to produce the module deps graph:
SyntaxError: 'import' and 'export' may appear only with 'sourceType: module' (8:0)
    at Parser.pp$4.raise (/Users/alexeagle/Projects/closure-compiler-angular-bundling/node_modules/detective/node_modules/acorn/dist/acorn.js:2221:15)

I think we need module-deps to run detective with some config options (or use precinct which seems to be a multi-detective wrapper?

Is this a splittable invocation? Any way for me to reproduce?

yes:
$ git clone git@github.com:alexeagle/closure-compiler-angular-bundling.git
$ git checkout splittable
$ npm install && npm run build
$ ./node_modules/.bin/splittable built/bootstrap.js
Compilation failed:  Parsing file<EMAIL_ADDRESS>'import' and 'export' may appear only with 'sourceType: module' (8:0)

I can workaround by locally modifying module-deps:
https://github.com/substack/module-deps/blob/3b240bb25cf0229558b4c9d0395c2c3e3555376a/index.js#L451
It calls detective with no second argument (the opts). Workaround is:
detective(src, {parse: {sourceType: 'module'}})
I'm not sure if this is a bug in module-deps. For now I'll try getting further.

Next problem: the graph produced by splittable.js#getGraph is incomplete. It does not seem to walk transitive imports - only ESModules directly imported by sources in the app are included in the graph.
Here's a smaller repro:
yarn init
yarn add splittable angular/platform-browser-builds#master-es2015
cat > bootstrap.js
import { platformBrowser } from '@angular/platform-browser/index';
./node_modules/.bin/splittable bootstrap.js

Compilation failed:  Closure compiler compilation of bundles failed.

java -jar /Users/alexeagle/node_modules/splittable/third_party/closure-compiler/closure-compiler-1.0-SNAPSHOT.jar --apply_input_source_maps true --compilation_level ADVANCED --create_source_map %outname%.map --externs /Users/alexeagle/node_modules/splittable/splittable.extern.js --jscomp_off accessControls --jscomp_off globalThis --jscomp_off misplacedTypeAnnotation --jscomp_off nonStandardJsDocs --jscomp_off suspiciousCode --jscomp_off uselessCode --language_in ES6 --language_out ES5 --module_output_path_prefix out/ --new_type_inf true --parse_inline_source_maps true --process_common_js_modules true --rewrite_polyfills true --source_map_location_mapping splittable-build/transformed/|/ --source_map_location_mapping splittable-build/browser/|/ --source_map_location_mapping |/ --js<EMAIL_ADDRESS>--js node_modules/splittable/base.js --js<EMAIL_ADDRESS>--js ./splittable-build/transformed/bootstrap.js --module bootstrap:4 --module_wrapper bootstrap:self.global=self;%s
//# sourceMappingURL=%basename%.map
 --js_module_root ./splittable-build/transformed/ --js_module_root ./splittable-build/browser/ --js_module_root ./

WARNING - Failed to load module "./src/platform-browser.js"

WARNING - Failed to load module<EMAIL_ADDRESS>
./splittable-build/transformed/bootstrap.js:1: ERROR - required "module$$angular$platform_browser$index" namespace never provided
import { platformBrowser } from '@angular/platform-browser/index';
^

node_modules/@angular/platform-browser/index.js:13: ERROR - required "module$node_modules$$angular$platform_browser$src$platform_browser" namespace never provided
export { BrowserModule, platformBrowser, Meta, Title, disableDebugTools, enableDebugTools, AnimationDriver, By, NgProbeToken, DOCUMENT, EVENT_MANAGER_PLUGINS, EventManager, HAMMER_GESTURE_CONFIG, HammerGestureConfig, DomSanitizer, VERSION, __platform_browser_private__ } from './src/platform-browser';
^

2 error(s), 2 warning(s)

Looking in the graph, I see
{
  "entryModules": [
    "built/bootstrap.js"
  ],
  "depOf": {
    "built/bootstrap.js": {
      "built/bootstrap.js": true,
<EMAIL_ADDRESS>true
    }
  },
  "deps": {
<EMAIL_ADDRESS>[],
    "built/bootstrap.js": [
<EMAIL_ADDRESS>    ]
  },
  "sorted": [
<EMAIL_ADDRESS>    "built/bootstrap.js"
  ],
  "bundles": {
    "built/bootstrap.js": {
      "isBase": false,
      "name": "built/bootstrap.js",
      "modules": [
<EMAIL_ADDRESS>        "built/bootstrap.js"
      ]
    }
  },
  "packages": {
<EMAIL_ADDRESS>true
  },
  "transformed": {
    "built/bootstrap.js": "./splittable-build/transformed/built/bootstrap.js"
  },
  "browserMask": {}
}

Clearly the files referenced by<EMAIL_ADDRESS>need to be included in the graph. That file contains:
export { BrowserModule, platformBrowser, Meta, Title, disableDebugTools, enableDebugTools, AnimationDriver, By, NgProbeToken, DOCUMENT, EVENT_MANAGER_PLUGINS, EventManager, HAMMER_GESTURE_CONFIG, HammerGestureConfig, DomSanitizer, VERSION, __platform_browser_private__ } from './src/platform-browser';

I'll try to take a look on Sunday or Monday!
On Feb 17, 2017 5:12 PM, "Alex Eagle"<EMAIL_ADDRESS>wrote:

Next problem: the graph produced by splittable.js#getGraph is incomplete.
It does not seem to walk transitive imports - only ESModules directly
imported by sources in the app are included in the graph.
Here's a smaller repro:
yarn init
yarn add splittable angular/platform-browser-builds#master-es2015
cat > bootstrap.js
import { platformBrowser } from '@angular/platform-browser/index';
./node_modules/.bin/splittable bootstrap.js
Compilation failed:  Closure compiler compilation of bundles failed.
java -jar /Users/alexeagle/node_modules/splittable/third_party/closure-compiler/closure-compiler-1.0-SNAPSHOT.jar --apply_input_source_maps true --compilation_level ADVANCED --create_source_map %outname%.map --externs /Users/alexeagle/node_modules/splittable/splittable.extern.js --jscomp_off accessControls --jscomp_off globalThis --jscomp_off misplacedTypeAnnotation --jscomp_off nonStandardJsDocs --jscomp_off suspiciousCode --jscomp_off uselessCode --language_in ES6 --language_out ES5 --module_output_path_prefix out/ --new_type_inf true --parse_inline_source_maps true --process_common_js_modules true --rewrite_polyfills true --source_map_location_mapping splittable-build/transformed/|/ --source_map_location_mapping splittable-build/browser/|/ --source_map_location_mapping |/ --js<EMAIL_ADDRESS>--js node_modules/splittable/base.js --js<EMAIL_ADDRESS>--js ./splittable-build/transformed/bootstrap.js --module bootstrap:4 --module_wrapper bootstrap:self.global=self;%s
//# sourceMappingURL=%basename%.map
--js_module_root ./splittable-build/transformed/ --js_module_root ./splittable-build/browser/ --js_module_root ./
WARNING - Failed to load module "./src/platform-browser.js"
WARNING - Failed to load module<EMAIL_ADDRESS>./splittable-build/transformed/bootstrap.js:1: ERROR - required "module$$angular$platform_browser$index" namespace never provided
import { platformBrowser } from '@angular/platform-browser/index';
^
node_modules/@angular/platform-browser/index.js:13: ERROR - required "module$node_modules$$angular$platform_browser$src$platform_browser" namespace never provided
export { BrowserModule, platformBrowser, Meta, Title, disableDebugTools, enableDebugTools, AnimationDriver, By, NgProbeToken, DOCUMENT, EVENT_MANAGER_PLUGINS, EventManager, HAMMER_GESTURE_CONFIG, HammerGestureConfig, DomSanitizer, VERSION, platform_browser_private } from './src/platform-browser';
^
2 error(s), 2 warning(s)
Looking in the graph, I see
{
"entryModules": [
"built/bootstrap.js"
],
"depOf": {
"built/bootstrap.js": {
"built/bootstrap.js": true,
<EMAIL_ADDRESS>true
}
},
"deps": {
<EMAIL_ADDRESS>[],
"built/bootstrap.js": [
<EMAIL_ADDRESS>]
},
"sorted": [
<EMAIL_ADDRESS>"built/bootstrap.js"
],
"bundles": {
"built/bootstrap.js": {
"isBase": false,
"name": "built/bootstrap.js",
"modules": [
<EMAIL_ADDRESS>"built/bootstrap.js"
]
}
},
"packages": {
<EMAIL_ADDRESS>true
},
"transformed": {
"built/bootstrap.js": "./splittable-build/transformed/built/bootstrap.js"
},
"browserMask": {}
}
Clearly the files referenced by node_modules/@angular/
platform-browser/index.js need to be included in the graph. That file
contains:
export { BrowserModule, platformBrowser, Meta, Title, disableDebugTools,
enableDebugTools, AnimationDriver, By, NgProbeToken, DOCUMENT,
EVENT_MANAGER_PLUGINS, EventManager, HAMMER_GESTURE_CONFIG,
HammerGestureConfig, DomSanitizer, VERSION, platform_browser_private }
from './src/platform-browser';
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cramforce/splittable/issues/23#issuecomment-280808307,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAFeT07jf61BcfJF1elBj5fKSM_2Nvs8ks5rdkV8gaJpZM4K8O3v
.

I made some significant progress in #47
The reason for the incomplete graph was that babel did not run on node_modules.
 I might need to upgrade closure compiler to have a chance at fixing that. I've been putting this off for a while. They fixed the npm module resolve algorithm, but that will require a lot of work in splittable to adapt.

Note, @mlaval got Angular + Closure + lazy-loading working by hacking some bits from splittable:
https://github.com/mlaval/optimize-angular-app/commit/9a1158392d30dcfd8e59cc344e2ae03474babb09
so we know it's possible. Just need to make the dev tooling easy enough for most ppl to be able to set it up.


data used.

Hello, which data are you people going to work on?

@uarif We are using https://gml.noaa.gov/aftp/data/trace_gases/co2/flask/surface/txt/co2_avi_surface-flask_1_ccgg_month.txt


Please use [actions/setup-node] Release v4

There has been a major update for actions/setup-node: https://github.com/actions/setup-node/releases/tag/v4.0.0
So please use v4 instead of old v3.
As a proof of concept you can see in my repo that it works:
Workflow file uses v4 instead of v3 and the run is ok 👍🏼

Wow, that was… fast…! 🌬 Thank you.


Version 1.0.1 is incompatible with OSGi

The release 1.0.1 is not OSGi compatible. The release candidates for version 2 are OSGi compatible.
Because the package declaration was changed in version 2, bundles of that version are incompatible with any library which rely on the javax.inject package served directly from older JDKs.
The following feature branch already exists in this repository, which seems to add the maven-bundle-plugin to generate OSGi-relevant metadata. Please provide a new version e.g., 1.0.2, with those changes applied to enable OSGi compatibility even for the version 1 library.
https://github.com/eclipse-ee4j/injection-api/tree/ee8
Thx!

A 1.0.2 release has been created


Unknown data almost everywhere

Hello, i will try this as best as I can.
I got the OpenAPI credentials, installed the plugin, put the information in and I can see 3 devices listed:

My name - Station
SerialNumber - Residential Inverter
Power Sensor - Power Sensor

If I click in the device Station, I can see information such as Total Current Day Energy with values that matches the app, so that one works good.
If I click in any of the other devices, lets say the inversor, all variables are set as unknown (Active power, GridAB voltage.....)
I already installed the plugin and uninstalled it,  also waitted a couple of hours before opening a ticket to see if it was because it was still fetching information or something like that but its still happening.
I enabled the logs and I have this information:
FusionSolarOpenAPIDeviceRealKpiType Skipped call due to rate limiting. Wait for 189.0 seconds. 0/2 FusionSolarOpenAPIDeviceRealKpiType Skipped call due to rate limiting. Wait for 126.0 seconds. 1/2 FusionSolarOpenAPIDeviceRealKpiType Skipped call due to rate limiting. Wait for 63.0 seconds. 2/2
I've checked the closed tickets and seems somewhat similar to issue #29 but i don't know.
Is there anything I can do, or that I am doing wrong?
I would apreciate the help, and also, thanks a lot for creating this addon!

First of all: the warning in the logs is just so you know you have hit the rate limiting.

Feel free to send your OpenAPI credentials to me (fusionsolar [at] Verkoyen.eu)

Yeah, im sure, the credentials were sent to me this morning by the company that did the installation of the pannels and I've only requested it for using it on your plugin.
I've just emailed the info, thanks in advance!!

@agm15 the problem is that there is no data returned for your residential inverter.
In essence the following call:
curl --location --request POST 'https://eu5.fusionsolar.huawei.com/thirdData/getDevRealKpi' \
--header 'XSRF-TOKEN: x-REDACTED' \
--header 'Content-Type: application/json' \
--data-raw '{
  "devIds": "XXXX",
  "devTypeId": "38"
}'

Return the following data:
{
    "data": [
        {
            "devId": XXXX,
            "dataItemMap": {}
        }
    ],
    "failCode": 0,
    "message": null,
    "params": {
        "currentTime":<PHONE_NUMBER>224,
        "devIds": "XXXX",
        "devTypeId": 38
    },
    "success": true
}

Where it should look like:
{
    "data": [
        {
            "devId": XXX,
            "dataItemMap": {
                "pv1_u": 0.0,
                "pv2_u": 0.0,
                "pv3_u": 0.0,
                "pv4_u": 0.0,
                "pv5_u": 0.0,
                "pv6_u": 0.0,
                "power_factor": 0.0,
                "pv7_u": 0.0,
                "pv8_u": 0.0,
                "inverter_state": 40960.0,
                "open_time":<PHONE_NUMBER>000,
                "a_i": 0.0,
                "total_cap": 6177.93,
                "c_i": 0.0,
                "b_i": 0.0,
                "mppt_3_cap": 0.0,
                "a_u": 0.0,
                "reactive_power": 0.0,
                "c_u": 0.0,
                "temperature": 24.9,
                "b_u": 0.0,
                "bc_u": 0.0,
                "elec_freq": 0.0,
                "mppt_4_cap": 0.0,
                "efficiency": 0.0,
                "day_cap": 0.72,
                "mppt_power": 0.0,
                "run_state": 1,
                "close_time":<PHONE_NUMBER>000,
                "mppt_1_cap": 6376.98,
                "pv1_i": 0.0,
                "pv2_i": 0.0,
                "pv3_i": 0.0,
                "pv4_i": 0.0,
                "mppt_2_cap": 0.0,
                "active_power": 0.0,
                "pv5_i": 0.0,
                "ca_u": 0.0,
                "ab_u": 0.0,
                "pv6_i": 0.0,
                "pv7_i": 0.0,
                "pv8_i": 0.0
            }
        }
    ],
    "failCode": 0,
    "message": null,
    "params": {
        "currentTime":<PHONE_NUMBER>381,
        "devIds": "XXXX",
        "devTypeId": 38
    },
    "success": true
}

I don't have installer access, but from what I found in docs and screenshots I think you should ask your installer to enable "Real-time plant data"

Thank you so much for the answer, I've just emailed the company asking them
to check the permissions they've given me, hopefully it will be that stupid
thing!
Thanks a lot for taking your time responding me, I will make sure to update
the issue once I have it all working!!!
El mar, 10 ene 2023 a las 16:55, Tijs Verkoyen @.***>)
escribió:

@agm15 https://github.com/agm15 the problem is that there is no data
returned for your residential inverter.
In essence the following call:
curl --location --request POST 'https://eu5.fusionsolar.huawei.com/thirdData/getDevRealKpi'
--header 'XSRF-TOKEN: x-REDACTED'
--header 'Content-Type: application/json'
--data-raw '{  "devIds": "XXXX",  "devTypeId": "38"}'
Return the following data:
{
"data": [
{
"devId": XXXX,
"dataItemMap": {}
}
],
"failCode": 0,
"message": null,
"params": {
"currentTime":<PHONE_NUMBER>224,
"devIds": "XXXX",
"devTypeId": 38
},
"success": true
}
Where it should look like:
{
"data": [
{
"devId": XXX,
"dataItemMap": {
"pv1_u": 0.0,
"pv2_u": 0.0,
"pv3_u": 0.0,
"pv4_u": 0.0,
"pv5_u": 0.0,
"pv6_u": 0.0,
"power_factor": 0.0,
"pv7_u": 0.0,
"pv8_u": 0.0,
"inverter_state": 40960.0,
"open_time":<PHONE_NUMBER>000,
"a_i": 0.0,
"total_cap": 6177.93,
"c_i": 0.0,
"b_i": 0.0,
"mppt_3_cap": 0.0,
"a_u": 0.0,
"reactive_power": 0.0,
"c_u": 0.0,
"temperature": 24.9,
"b_u": 0.0,
"bc_u": 0.0,
"elec_freq": 0.0,
"mppt_4_cap": 0.0,
"efficiency": 0.0,
"day_cap": 0.72,
"mppt_power": 0.0,
"run_state": 1,
"close_time":<PHONE_NUMBER>000,
"mppt_1_cap": 6376.98,
"pv1_i": 0.0,
"pv2_i": 0.0,
"pv3_i": 0.0,
"pv4_i": 0.0,
"mppt_2_cap": 0.0,
"active_power": 0.0,
"pv5_i": 0.0,
"ca_u": 0.0,
"ab_u": 0.0,
"pv6_i": 0.0,
"pv7_i": 0.0,
"pv8_i": 0.0
}
}
],
"failCode": 0,
"message": null,
"params": {
"currentTime":<PHONE_NUMBER>381,
"devIds": "XXXX",
"devTypeId": 38
},
"success": true
}
I don't have installer access, but from what I found in docs and
screenshots I think you should ask your installer to enable "Real-time
plant data"
[image:
Cursor_and_2022FSV8001_Create_API_account_on_FusionSolar_Server__only_Company_Admin____pdf]
https://user-images.githubusercontent.com/250042/211599267-9bc6e4f7-39d0-44a1-927d-3049a7748045.png
—
Reply to this email directly, view it on GitHub
https://github.com/tijsverkoyen/HomeAssistant-FusionSolar/issues/36#issuecomment-1377482140,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACTUNE4DQFFYR4YAGSHOLVDWRWBA5ANCNFSM6AAAAAATW3FGOA
.
You are receiving this because you were mentioned.Message ID:
@.***>

I've talked to the company and they are assuring me that all the checks for the permisions are enabled and that I should have access to everything.

I rechecked, and the data is still empty. There is not much I can do at this point.
I think it would be best to contact Fusion Solar Support<EMAIL_ADDRESS>and explain them that there is no data returned for your residential inverter<PHONE_NUMBER>152004) when calling the /thirdData/getDevRealKpi endpoint.

Hello,
You can close the issue, I've submitted everything to huawei support, pictures of the permissions and everything and they have fixed the issue, i'm now receiving information correctly!
Thanks a lot!

Thx for the update!
Glad it has been resolved


Implementing first pass of veAllocate schema, handlers, and test cove…

PR is WIP (not ready for merging)

Tracer bullet for veAllocate
Submitting this so we can track work + iterate towards a working subgraph

DoD:
[x] - Designed gql schema
[x] Implemented event handlers
[x] Implemented getters & basic functionality
[ ] Implement tx,block,ts to create & update events
[ ] Implement & validate tests
[ ] Sign off on schema and handler design/implementation
Identified issues outside current design scope:
See veAllocate.test.ts
[ ] veAllocate objects & interfaces inside of oceanprotocol/lib
[ ] implementing veAllocate + other functionality inside of contracts repo => deploy_pool_template.js. We need to add vyper dependencies + vyper compile steps into deploy_docker.sh and any other places required to deploy contracts via barge or other CI/CD workflows.

since ocean-contracts:dfve is not released as a npm package, for ve+df contracts we need to use artifacts exported by barge
This is fine for testing, will update once everything is done

Ok, the basic implementation for this is completed.

dfpy veSetAllocation CHAINID amount exchangeId

ocean-subgraph:

handles setAllocation + removeAllocation
rolling totals for user, exchangeId, and each combination thereof works
you can also see the Set/Remove events
verified that tests that do not expect provider/aquarius are working
verified that the data is looking correct

Queries
{
  veAllocations(first: 1000) {
    id
    allocationUser {
      id
    }
    allocationId{
      id
    }
    allocatedTotal
  }
}

{
  veAllocateUsers(first: 1000) {
    id
    allocatedTotal
  }
}

{
  veAllocateIds(first: 1000) {
    id
    allocatedTotal
  }
}

{
  veAllocationUpdates(first: 1000) {
    id
    veAllocation {
      id
      allocationUser{
        id
        allocatedTotal
      }
      allocationId {
        id
        allocatedTotal
      }
    }
    type
    allocatedTotal
  }
}

Recommendation - Allocation Id:
The only thing I don't like about this, is that we need to do a bunch of offchain ingestion/calculations/mappings to understand which exchangeId + chainid the user is interacting with. It's not obvious by just looking at the data.
Consideration: Perhaps it might be a good idea if veAllocate keeps track of exchangeId + chainId, and can return that in the events. This way, we could use that information (exchangeId + chainId) in the subgraph. This would make the mapping a lot easier.

Recommendation - veAllocation
Add a cost to allocate.  Make the fee from this go back to veOcean/farmers.

Fixed conflict.
New version of ocean-contract module has to be deployed so CI/CD can pass.


Erroneous py_err message being sent?

I'm trying to debug recent breakage in Sublime-IJulia and am seeing a weird ordering of messages. I'm not sure if this is a valid message order that I need to handle in Sublime-IJulia or if something is buggy in IJulia. One thing to note is that I only start seeing this message order after a session has "started" (basically I start a kernel, then send Base.banner(), then put a prompt for input).
Once the prompt is up, I type using Distributions, a package I don't have installed on this machine
Here is the resulting messages sent back from the kernel

status: with "execution_state":"busy" content
pyin: with content {"using Distributions\n","execution_count":2}
then the weird part
pyerr, followed by <IDS|MSG>, then immediately
stderr, followed by <IDS|MSG>, <IDS|MSG>, with content {"name":"stderr","data":"WARNING: int(x) is deprecated, use Int(x) instead.\n"}

I'm not sure where the stderr messaging is coming from because it should be a pyerr message with content something like {"name":"pyerr","data":"ERROR: ArgumentError: Distributions not found in path"}.
Any ideas?

Via IJulia.set_verbose(true), tried using FooBar and got a pyerr message as expected:
got msg part 790EB5A15B7A463E873B59855B353BE2
got msg part <IDS|MSG>
RECEIVED IPython Msg [ idents 790EB5A15B7A463E873B59855B353BE2 ] {
  header = Dict{AbstractString,Any}("msg_id"=>"421ADEF4410749A083FE403DF29E6799","msg_type"=>"execute_request","username"=>"username","session"=>"790EB5A15B7A463E873B59855B353BE2"),
  metadata = Dict{AbstractString,Any}(),
  content = Dict{AbstractString,Any}("store_history"=>true,"user_expressions"=>Dict{AbstractString,Any}(),"allow_stdin"=>true,"user_variables"=>Any[],"code"=>"using Foobar","silent"=>false)
}
SENDING IPython Msg [ idents status ] {
  header = Dict("msg_id"=>"cab52fc4-6dbe-42e0-a2b4-ec09421250f4","msg_type"=>"status","username"=>"jlkernel","session"=>"790EB5A15B7A463E873B59855B353BE2"),
  metadata = Dict{AbstractString,Any}(),
  content = Dict("execution_state"=>"busy")
}
EXECUTING using Foobar
SENDING IPython Msg [ idents pyin ] {
  header = Dict("msg_id"=>"571c5159-1032-4ec8-a5aa-58984761f006","msg_type"=>"pyin","username"=>"username","session"=>"790EB5A15B7A463E873B59855B353BE2"),
  metadata = Dict{AbstractString,Any}(),
  content = Dict{ASCIIString,Any}("code"=>"using Foobar","execution_count"=>4)
}
SENDING IPython Msg [ idents pyerr ] {
  header = Dict("msg_id"=>"83e22af7-ed64-4f1f-9d0c-7f5c2d39b34d","msg_type"=>"pyerr","username"=>"username","session"=>"790EB5A15B7A463E873B59855B353BE2"),
  metadata = Dict{AbstractString,Any}(),
  content = Dict{ASCIIString,Any}("traceback"=>UTF8String["LoadError: ArgumentError: Foobar not found in path\nwhile loading In[4], in expression starting on line 1",""," in require at ./loading.jl:49"],"ename"=>"LoadError","evalue"=>"LoadError: ArgumentError: Foobar not found in path\nwhile loading In[4], in expression starting on line 1","execution_count"=>4)
}
SENDING IPython Msg [ idents 790EB5A15B7A463E873B59855B353BE2 ] {
  header = Dict("msg_id"=>"31cb0bdb-9ffe-4e3e-8fd6-a5c7e2225f59","msg_type"=>"execute_reply","username"=>"username","session"=>"790EB5A15B7A463E873B59855B353BE2"),
  metadata = Dict{AbstractString,Any}(),
  content = Dict{ASCIIString,Any}("traceback"=>UTF8String["LoadError: ArgumentError: Foobar not found in path\nwhile loading In[4], in expression starting on line 1",""," in require at ./loading.jl:49"],"status"=>"error","ename"=>"LoadError","evalue"=>"LoadError: ArgumentError: Foobar not found in path\nwhile loading In[4], in expression starting on line 1","execution_count"=>4)
}
SENDING IPython Msg [ idents status ] {
  header = Dict("msg_id"=>"dee1ddbe-cee3-40be-ab40-4a361ddd4a14","msg_type"=>"status","username"=>"jlkernel","session"=>"790EB5A15B7A463E873B59855B353BE2"),
  metadata = Dict{AbstractString,Any}(),
  content = Dict("execution_state"=>"idle")
}

It looks like you are using 0.4 ... to make things work with 0.4 you may need to Pkg.checkout several of your packages to get the bleeding-edge versions.  In particular, you may want the latest JSON.jl version.   Otherwise, it is printing deprecation warnings to stderr at the same time as it is trying to construct error messages...

Closing as no longer relevant.


Please add the following dependency to the rosdep database.

Package name: libbackward-cpp-dev
Package Upstream Source:
https://github.com/bombela/backward-cpp
Purpose of using this:
Used in osrf_testing_tools_cpp.
Distro packaging links:
Links to Distribution Packages

Debian: https://packages.debian.org/

https://packages.debian.org/libbackward-cpp-dev

Ubuntu: https://packages.ubuntu.com/

https://packages.ubuntu.com/libbackward-cpp-dev

Looks like the package can't be resolved for some reason?
Also it would be good to add in that OpenSUSE key

For the broken resolution, see the review guidelines

If a package was added to e.g. Ubuntu Focal but isn’t available in Bionic or Xenial, the key should look like:
mykey:
  ubuntu:
   '*': [mykey]
   bionic: null
   xenial: null


ICDAR2015 config

Hello, the paper mentions that the F score of the ICDAR2015 dataset reaches 84.96. Can you provide the configuration file,  some training details? Are you using other datasets for pre-training?

No additional data is used, but data enhancement, multi-scale


counting the occurrences of fizzbuzz output in 2 ways

Counting the frequency of each output of the fizz buzz problem using a Counter() and defaultdict from collections. Note that the numbers are grouped together under the "int" key.

neat! thanks :)


[Follow up] Fixed reporting of battery voltages in uORB

Describe problem solved by this pull request
Same as https://github.com/PX4/Firmware/pull/14151, all credits go to @ItsTimmy
Describe your solution
I had some proposed changes but wasn't able to directly commit on top since it was a private branch: https://github.com/PX4/Firmware/pull/14151#pullrequestreview-382051676
Test data / coverage
Untested, @julianoes could you please review?
Additional context
closes #14151

Just rebased on master.

This reminds me we should probably consider splitting battery_status for different types.

CI failure is unrelated.


Add an .editorconfig file

This is a (multiple allowed):

[ ] bug
[x] enhancement
[ ] feature-discussion (RFC)

The project should have a .editorconfig file to prevent whitespace issues like in PR #1386 from happening. For example here is the one I use.
Editorconfig is already integrated in most popular code editors.
If folks agree, I can send a PR.

@macdonst folks agree :)

@nolimits4web PR sent


hi there

If I already built the app, how can I still add the splash screen before the ContentView is loaded? Especially there is a Environment object being loaded in the SenceDelegate....
Thanks!

Hey @samleemc,
You can simply open SplashView from the SceneDelegate or New SwiftUI App class directly and then open your desired View (ContentView) from SplashView. If you need more guidance, please share your code so that we can help you better.

Thanks, I got it figure out, one way or another ... lol


qat: fix initcontainer to skip when sriov is already configured

closes: #1222
related work that adds e2e tests of checking initcontainer's idempotence: #1223
Signed-off-by: Hyeongju Johannes Lee<EMAIL_ADDRESS>

Codecov Report

Merging #1224 (b82d508) into main (8fbe140) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1224   +/-   ##
=======================================
  Coverage   50.78%   50.78%
=======================================
  Files          41       41
  Lines        4608     4608
=======================================
  Hits         2340     2340
  Misses       2133     2133
  Partials      135      135

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Rename id_source to id_salt or similar

A lot of widgets take an id_source which is mixed in with the id of the parent Ui. This is a misleading name - this is not the source of the id, just a salt added to an existing hash. So id_salt would be a better name. Perhaps we can find an even better one?

id_salt, id_modifier, id_suffix, id_hash_suffix
id_salt seems easy to use.
id_modifier seems easy to understand.

Closed by #5025


ERROR: for grafana Cannot start service grafana:

Hi,
Raspberry 4B 4GB
ERROR: for grafana Cannot start service grafana: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mounting "/path/to/your/grafana/grafana.ini" to rootfs at "/etc/grafana/grafana.ini" caused: mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
ERROR: Encountered errors while bringing up the project.

 volumes:
      # to be modified depending on your needs
      - /path/to/your/grafana/data:/var/lib/grafana
      - /path/to/your/grafana/grafana.ini:/etc/grafana/grafana.ini
      - /path/to/your/grafana/provisioning:/etc/grafana/provisioning

As it stated modify as your need, if you don't modify grafana.ini just remote the line or comment it. Mandatory path just the first one.

Why do you pull grafana docker image?
All you need is to clone this git repo and then use docker-compose up -d
The error message is clear, you are trying to mount a directory as file. So just rm it and create the grafana.ini file.

thanks !


IME input support

It does not work correctly on IME input. (v2.0.0-beta.1)

References: http://www.w3.org/TR/DOM-Level-3-Events/#determine-keydown-keyup-keyCode

It's seems same than #101


Added Tree traversal in Crystal-lang

Added Tree traversal algorithm in Crystal-lang.
The name of all functions are as in the available implementations, added a new function just to print
the tree, so it is easier to see the traversal.  Should I remove it?.
Currently the script's output is:
 Creating Tree
(2)
 ├(1)
 │ ├(0)
 │ ├(0)
 │ └(0)
 ├(1)
 │ ├(0)
 │ ├(0)
 │ └(0)
 └(1)
   ├(0)
   ├(0)
   └(0)
Using recursive DFS:
2100010001000
Using recursive DFS with post-order traversal:
0001000100012
Using stack-based DFS:
2100010001000
Using queue-based BFS:
2111000000000
Creating binary tree to test in-order traversal
(3)
 ├(2)
 │ ├(1)
 │ │ ├(0)
 │ │ └(0)
 │ └(1)
 │   ├(0)
 │   └(0)
 └(2)
   ├(1)
   │ ├(0)
   │ └(0)
   └(1)
     ├(0)
     └(0)
Using In-order DFS:
010201030102010

Hi,
My apologies for the late response, somehow I skipped the reviews in my inbox, just recently I checked the pull
request here on github.  I think I've addressed  all comments please let me know if there's still work to do.


Removes dynamic tailwind classes as they break tree shaking build

Description
Unblocks #788 and we shouldn't be using dynamic classes for tailwind anyway:
Test plan
Ran next demo with and without appearance object
Package updates
@crossmint/client-sdk-react-ui patch

@AlbertoElias we should also change the one spot in PoweredByCrossmint.tsx


merge and modify types for ROS2 into single file

This directory and file set has been added for ROS2 compatibility and convenience.
When interoperating with ROS2 apps, the topic data types need additional nesting (a "dds_" nesting layer is added) and a trailing underscore on the struct names.   This file set is a merge of all data types in the other folders (no new content).
ros-types-all.xml was created by converting all data types from the other folders to XML, then merging into a single file and editing to add the ROS2 compatible nesting and underscores.
ros-type-all.idl is a direct conversion to IDL from the above file.
ros-types-all_connector.xml has the same data types as ros-types-all.xml, plus added qos_library, domain_library, domain_participant_library sections to work with RTI Connector, added for convenience.

Superseded by new PR


Basic snippets

Added

FastAPI Router snippet (frt): Basic FastAPI router setup.
FastAPI Get Route snippet (frg): FastAPI route with HTTP GET method.
FastAPI Post Route snippet (frp): FastAPI route with HTTP POST method.
FastAPI Put Route snippet (frpu): FastAPI route with HTTP PUT method.
FastAPI Delete Route snippet (frd): FastAPI route with HTTP DELETE method.
SQLAlchemy Model snippet (sqlm): SQLAlchemy model definition.
SQL Get From Model snippet (sqlg): Database query function to retrieve data.
SQL Create From Model snippet (sqlc): Database function to create records.
SQL Update From Model snippet (sqlu): Database function to update records.
Pydantic Model snippet (pym): Pydantic model definition.
FastAPI 400 Exception snippet (fa400): Raise HTTP 400 exception.
FastAPI 401 Exception snippet (fa401): Raise HTTP 401 exception.
FastAPI 403 Exception snippet (fa403): Raise HTTP 403 exception.
FastAPI 404 Exception snippet (fa404): Raise HTTP 404 exception.
FastAPI 422 Exception snippet (fa422): Raise HTTP 422 exception.
FastAPI 500 Exception snippet (fa500): Raise HTTP 500 exception.
FastAPI 503 Exception snippet (fa503): Raise HTTP 503 exception.
FastAPI 504 Exception snippet (fa504): Raise HTTP 504 exception.

done


Always! make pairs

Is your feature request related to a problem? Please describe.
Sometimes when I type  "it just stays "and sometimes it becomes "". I don't understand the settings do know when I happens and when not.
https://user-images.githubusercontent.com/81827001/136754152-dbd84862-6982-45a1-89d6-3917cee5c2a2.mov
Describe the solution you'd like
I'd like to be able to have settings so that " always becomes "". I think that should be already possible but I don't know how.
Describe alternatives you've considered
Other autopair plugins
(The rules which can be seen in the text weren't the ones used while recording the video.)

do you see an option  ignored_next_char?
you put %w on that so it will not add " if the next character is a word.
https://github.com/windwp/nvim-autopairs/blob/master/lua/nvim-autopairs/rules/basic.lua#L10
if you want it always make pair for all quotes you can change it to 'aaaa' :). it should be  nil but I am not check nil for that.
or you can removerule " then add again without that condition.

thanks
settings ignored_Next_char = ""
works


Fix multipleviewprogress

Fix #127 and fix #128 to get custom datasets working

I've just tested thos changes and it made the bash script for me! TY it resolved my problem! you saved me debug time :D

thank you!
I've merged this PR :)


[FR] – add config setting to allow define TCP flags to be captured

often times the full extent of a packet capture is not required,
so only TCP segments with specific flags set is all what's required.
BPF filters are complex (thus error prone), so it would be useful to simplify capturing
TCP segments with specific flags by defining a configuration
to express the flags to be set for a packet to be captured and translated

Proposed environment variable name is: PCAP_TCP_FLAGS
Proposed environment variable value is: comma separated list of TCP flags, i/e: SYN,RST
Proposed way of operation: the BPF filter expressed by PCAP_FILTER should be ANDed with the expression to capture only the flags defined by PCAP_TCP_FLAGS

see pcap-cli:

https://github.com/gchux/pcap-cli/blob/v1.0.0-rc115/pkg/pcap/pcap.go#L16-L26
https://github.com/gchux/pcap-cli/blob/v1.0.0-rc115/pkg/pcap/pcap.go#L42

provides interface definitions for whatever filters need to be implemented;
it also includes a provider method to have all filters applied to the original BPF filter:

https://github.com/gchux/pcap-cli/blob/v1.0.0-rc115/pkg/pcap/pcap.go#L80-L95
which is used by both:

gopacket engine: https://github.com/gchux/pcap-cli/blob/v1.0.0-rc115/pkg/pcap/gopacket_engine.go#L89
tcpdump engine: https://github.com/gchux/pcap-cli/blob/v1.0.0-rc115/pkg/pcap/tcpdump_engine.go#L42

see commit: https://github.com/gchux/cloud-run-tcpdump/commit/0fde55e4f490af0404057265968055fad7979220
filter implementation: https://github.com/gchux/cloud-run-tcpdump/blob/ft/simple-filters/tcpdumpw/pkg/filter/tcp_flags_provider.go

tcpdumpw is hosting the code to implement filters ( as many as we want and can imagine )
and it provides a chain of filters that will be applied by all PCAP engines ( all use the same chain, so the chain is a singleton ):

see: https://github.com/gchux/cloud-run-tcpdump/blob/ft/simple-filters/tcpdumpw/main.go#L481-L483

The new tcpdumpw flag for this filter is tcp_flags which accepts a comma separated list of TCP flag names in lower-case.
Here how it looks in action:


New network request: Nativ3 Dev

Network information

Name:Nativ3 Dev
ChainId:806
RPC http/s address:https://rpc806.nativ3.network
Blockexplorer: https://scan806.nativ3.network

I don't see your network in chainlist.org


Fix AdditionalCountriesAlways typo

The property 'additionalCountriesAlway' cannot be found on this object. Verify that the property exists.
At C:\Program Files\WindowsPowerShell\Modules\BcContainerHelper\4.0.2\CreateALGoRepo.ps1:1154 char:36
+ ... Countries @($settings.additionalCountries.Split(',') | ForEach-Object ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : PropertyNotFoundStrict

Please note that the CreateALGoRepo wizard is not yet final - just a work in progress


When will the code be released?

Hi, I'm very interested to your work. Just want to figure out when will the code be released? Thx.

Hi, I have released the main dataset proposed in my paper, the other samples including the patients' private information are checked by the DXY company.


HID++ 2.0 Cleanup

We now have a routine to identify the supported report types so it is safe to go ahead and use short reports when possible.

When I was going over the functions I noticed one had an incorrect report type, I included the fix here.


Url not valid

Url not valid always

Yeah Same

use video URL not post URL. I this you guys use post URL that's why show this error

How you will get the video url?

https://www.facebook.com/Hearttouchx99/videos/377683320329121/
This video I collect, open facebook app find a video click share button and
click copy link .
Regards,
Subhajit Roy
+91<PHONE_NUMBER> | @.*** | www.roywebtech.in
You will be knocked down… but you MIST GET UP. KEEP FIGHTING. DIG DEEP and
discover your true STRENGTH.
On Mon, May 31, 2021, 02:56 MOHAMMAD MISBAH @.***>
wrote:

How you will get the video url?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Ashusolanki/FacebookUrlExtractor/issues/3#issuecomment-851063608,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/API2WYQULXEBYFK5G26EMRTTQKUORANCNFSM4U5X2UAQ
.

I am using the same video URL, but is saying invalid always.


Is there a way to add field filter support?

Hello,
Getting this error on resources generated by operator-sdk
$ kubectl get test.example.com --field-selector status.phase=Running
Error from server (BadRequest): Unable to find "example.com/v1, Resource=tests" that match label selector "", field selector "status.phase=Running": field label not supported: status.phase

Is there a workaround for this?
Thank you

Hi @kotyara85,
Could you please provide more info such as following?

What steps do you perform?
What is the doc that you are following up?
What is the SDK version used?

PS.; The issue has a template could you please fill that? Otherwise, we have not enough info to try to help you with.

I have the exact same question, it's a pity one opens an issue but never follow up...


Exec tachikoma update<PHONE_NUMBER>4708

:hamster::hamster::hamster:   Strategy none
Powered by Interval Pull Request as a Service - Tachikoma.io Announcement: 2015-06-28 Updated permissions - Tachikoma.io

Coverage remained the same at 67.647% when pulling f93884a1b169c73436aac83149e1a758444bdfd6 on pazjacket:tachikoma/update-20180612214708 into ec251e61adc687ae0589e5283f1773ece07521c0 on sanemat:master.


Issue and commit progression

Description
For better readability and traceability, a cross reference to other issues, commits and how labels are used in the Issue history would help.
So, when somebody adds a label to an issue, this should be shown in the Issue progression (like github does), e.g.:
Corben78 added the feature label on 26 September 2016 or
Corben78 added the bug feature labels on 26 September 2016
Same for assignments, milestones etc. when added later.
Also, when an Issue references a commit by typing the hash in the Issue text, when viewing the commit it would be great to have a backwards link under the commit message, e.g.:
Issue text: This issue is solved in commit d09fca3ca9f40be6b4c291028418d5c95428db17
Under commit message from that commit: Corben78 references Issue #3703
Additional, when referencing an Issue #1 in another Issue #2, a backwards link to Issue #2 from Issue #1 would be nice. Maybe all optically done like with added Labels between Issue messages.
Corben78 references Issue #1
So you are able to jump back and forth from every point, and get all related items linked together.

Definitely an interesting idea but somewhat tricky to implement... @bkcsoft

Nah not really, this feature is kinda close to audit-logs so it's relatively straight forward to do.

Hahaha, I'm not too sure how I may implement this, may have to go through mountains of existing code...

Update of labels for issues and PRs: https://github.com/gogits/gogs/issues/2520https://github.com/gogits/gogs/issues/2520
Smart commits: https://discuss.gogs.io/t/how-to-use-smart-commits/55


Please commit composer.lock file to repo

Hi!
Please commit your composer.lock file to the repo, so we can issue composer install to install the excact versions you are running.
Thanks, Richard

I'am sorry, I miss this issue.
Thanks for remind composer.lock, I will add it later.

There is something wrong with adding composer.lock running travis CI. The composer.lock runs with param --no-dev, but travis CI runs with param --dev, so travis CI runs fail.

so, remove composer.lock again.

why not add composer.lock file with - -dev,  but in install.md use composer
install --no-dev?
tir. 24. nov. 2015, 08.37 skrev huamanshu<EMAIL_ADDRESS>
Closed #56 https://github.com/meolu/walle-web/issues/56.
—
Reply to this email directly or view it on GitHub
https://github.com/meolu/walle-web/issues/56#event-472975121.

Because install with --no-dev in production, travis CI runs with --dev to run unit test

You should commit a regular composer.lock file that have been used on development t othe git repo, then TravisCI will get all the -dev dependencies.
Then when deploying Walle on a production server, it should be installed with
composer install --no-dev --optimize-autoloader

That will install only the parts of the lock-file that is not related to development....

Oh, yes, --no-dev will cover the --dev param, I didn't that. :100:

hehe, sorry for buggin you about this, its actually a not very important issue :P