[BUG] Regex for xs:dateTime does not properly support timezones

Describe the bug
The regex for values of type xs:dateType
^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)

does only allow Z, +00:00, or -00:00 as timezones.
Correct behavior would be to allow Z or any other timezone of format (+|-)[0-9]{2}:[0-9]{2}.
Where

https://github.com/admin-shell-io/aas-specs/blob/04a1f04b9748978767c21d765cb464249a818d2f/schemas/json/aas.json#L224
https://github.com/admin-shell-io/aas-specs/blob/04a1f04b9748978767c21d765cb464249a818d2f/schemas/json/aas.json#L622

Additional context
https://www.w3.org/TR/xmlschema-2/#dateTime Section <IP_ADDRESS>

This is actually more complex as I described in https://github.com/aas-core-works/aas-core-meta/issues/355#issuecomment-2541162662
Copying my response from there

The specification says the following for basicEventElement.lastUpdate

The issue here is that the Type is dateTime which is defined as xs:dateTime, meaning it can have any timezone. However, the explanation column states that the timestamp should/must(?) be in UTC. Based on that you introduced a new "type" Date_time_UTC. I would argue that the specification is wrong or at least inconsistent as the type information is constrained by the explanation to an undefined type "dateTimeUTC". The correct way to handle this would be to change the specification to either defined the type dateTimeUTC or to remove the UTC restriction in the explanation.

I imagine to remember that there was once a decision that the timestamps must all be defined in UTC, but maybe @BirgitBoss could clarify this?


Table not rendering on Android

Hi,
Markdown tables only show up as lines. Any solution? I've tried aligning them properly but still not working.
Thank you!

Hi @antehwyl , thanks for your opneing issue!
It is because the library that boostnote-mobile using is not support markdown table :cry:
I will create a library that support table and todo list and so on...
So please wait 😄

Thank you!

@kazup01 cancelled funding, $40, of this issue. Visit this issue on Issuehunt


(winscp*) Update release notes on update

Description
Update release notes for winscp and winscp.portable package.
Motivation and Context
While release notes link for winscp.install package was already updated during AU update, the release notes link in the winscp and winscp.portable package was not.
Fixes #1107
How Has this Been Tested?
Tested locally
Screenshot (if appropriate, usually isn't needed):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Migrated package (a package has been migrated from another repository)

Checklist:

[x] My code follows the code style of this repository.
[ ] My change requires a change to documentation (this usually means the notes in the description of a package).
[ ] I have updated the documentation accordingly (this usually means the notes in the description of a package).
[x] All files are up to date with the latest Contributing Guidelines
[ ] The added/modified package passed install/uninstall in the chocolatey test environment.
[x] The changes only affect a single package (not including meta package).

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.


Parser_error - improve message

Could the message be improved so that it does not report the start of the statement, but the piece of syntax it failed on (in this case it's is instance of).

a bit difficult as is, but yea


update equationgrapher

update mod-version and fix usage of deprecated command_view:enter
also invert mouse zoom

Looks good, thanks!


[5.0] Flysystem no longer compatible

Flysystem needs to be pinned to the 0.5.12 release because the 1.0.0-alpha1 released 3 days ago breaks compatibility and is installed automatically.
https://github.com/thephpleague/flysystem/releases
Trying to use it, "out of the box", throws this error:
Class 'League\Flysystem\Adapter\AwsS3' not found in /vendor/laravel/framework/src/Illuminate\Filesystem\FilesystemManager.php on line 133
It seems flysystem has separated the adapters from its main package.

https://github.com/laravel/framework/commit/beb0a182178c953a295e3b566e0983c1fbc8ca99
has been fixed?

Oh wow. I ran into it yesterday and didn't think anyone had noticed. Thanks, that was quick.

Just ran into it just now. It seems that the AWS3 changed - The League of Extraordinary Packages released some days ago this new package and the adapters are not in the main package last time i checked:
https://github.com/thephpleague/flysystem-aws-s3-v2

@thiduzz Yep, you'll notice flysystem suggests installing them if you use composer.

Yeap. I didnt get any suggestion when running composer but checking out their composer.json i found it.
Still, even after Taylor change I am getting
Undefined property: Illuminate\Filesystem\FilesystemManager::$filesystem
when I run $this->filesystem->disk('s3')->exists($folder) on my FilesRepository, but the strange thing is that I am actually using $filesystem as a \Illuminate\Contracts\Filesystem\Factory not a FilesystemManager.

Fixed!


Calculation of % of available balance asset

Reopening this discussion https://github.com/chrisleekr/binance-trading-bot/issues/12#issuecomment-826778785_
Things to discuss:

Find out whats wrong the the calculation of the 2nd purchase
If this configuration makes sense globally

Note that this issue is related with PR #77
And I have mentioned the reason in #12 for the issue.
To re-iterating the issue, let me explain further about the issue.
Let say, I am monitoring two coins - BTCUSDT, ETHUSDT, LTCUSDT
And I have configured 50% as the maximum purchase amount.
Assume I have 100 USDT at the moment

First purchase for BTCUSDT

The bot will buy 50 USDT worth of BTC, now I have 50 USDT left in my balance

Second purchase for ETHUSDT

The bot will buy 25 USDT worth of ETH, now I have 25 USDT left in my balance

Third purchase for LTCUSDT

The bot will buy 12.5 USDT worth of LTC, which is not making sense to buy this much amount of coin.

So as you can see each purchase amount is not consistent.
That is why I decide to use a static maximum purchase amount.
However, you are having an issue because I removed the maximum purchase amount from the global configuration for this improvement #104
You can still configure the maximum purchase amount in the symbol configuration. I couldn't think of a better way to set the maximum purchase amount in the global configuration.

Very well explained, thanks.
This is tricky to solve indeed, probably if we had a concept of Portfolio Asset (available + invested) could solve the issue but we don't have that data out of the box I assume.
Assuming we had that data do you think it could potentially solve the issue?
Legend:
PA - portfolio asset (available + invested)
AA - available asset (available only)
Assume :
Current balance: 100USDT
Global config for max purchase: 20%
First purchase for BTCUSDT

The bot will buy 20 USDT worth of BTC (20% of PA), now I have 80 USDT available asset (AA) and 100 portfolio asset (PA)
Second purchase for ETHUSDT
The bot will still buy 20 USDT (20% of the PA) worth of ETH, now I have 60 USDT (AA) and still 100 USDT (PA)

Imagine bot sells first purchase and I have 4% profit (PA: 104 USDT, AA: 84 USDT)
Third purchase for BTCUSDT

The bot will buy 20,8 USDT worth of BTC (20% of 104USDT PA), now I have 63,2 USDT available asset (AA) and 104 portfolio asset (PA)

Not sure all calculations are correct but I think you get the idea.

That maybe works when you only use single FIAT.
Actually, it will be very complicated to check that even single FIAT.
Imagine you have BTC/BNB/USDT/BUSD.
In addition, you will also do some manual orders as well.
It will be impossible to get the total portfolio assets to calculate.

Yeah, the cost benefit of doing it probably is not worth it for now.
I think if we have an option to override the default fallback value (100) for now would be great.
Every time I restart the service I need to individually put the maxPurchaseAmount for each pair.

@gilmillasseau
Ehhhh? Are you saying, every time you restart maxPurchaseAmount is reset?
That should not be happening.

Even that command, should not lose any customised configuration as that configuration is stored in the mongodb.
The whole point of using the persistent database is to not lose configurations & last buy price.
Some other things must be going on.
Can you take a video of that?

Ok so I was able to reproduce:

Change Maximum purchase amount to 20 on pair config
Change global config candle interval to 30m (was 1h)
Hit button Apply to all symbols
All Maximum purchase amount configs are back to 100 even the ones I customized

Is this the expected behaviour? Probably I am using this incorrectly.

Yes, as the modal mentioned, it will remove customised symbol configurations if you click "Apply to all symbols".

Ok, makes sense, I am testing this tool and sometimes I just want to change global configuration after changing the maxPurchaseAmount for each config, can I hardcode somewhere the default to be different than 100?

Hmmmmmmmmmmmmmmm....
Maybe I should revert the max purchase amount field and give the option to set dynamically calculated.
@GrigorovskyA also confused about the max purchase amount like you.
Let me think about it.

Think this will happen often when you are first trying this bot and trying several configs, I can now understand it's only when you want to apply a global config to all pairs that resets the value maxPurchaseAmount to 100.
Let me know if you need more help testing this ;)

Yes, this is the case - I have not yet figured out how it would be possible to implement the percentage.
I thought aside that each pair has a name - Coin-Bridge. exm: ethUSDT, wavesBNB,algoBTC
And for each bridge, it would be possible to collect information and thus we can get an approximate current balance of the bridge coins on accounts.
Bot could to split coinpair - coin-bridge - And in the global configuration, put out for each bridge coin - already the amount of the maximum price

@GrigorovskyA Right, so are you suggesting, if I put coins like BTCUSDT, ETHBNB, ETHBTC, then there will be three fields for each quote assets?

USDT: 100
BNB: 0.1
BTC: 0.001

This may work, I think?

I think this is a good option. What do you think?
And I like the idea, of course, to set limits on percentages.

I am working on it. I will need some refactoring for implementing this.

@chrisleekr it's your current bot settings? and which profit of it?
I think it would be cool to raise a discord server(for exmaple) so that people can change their profits and observations. and fumble around useful results and scripts with lists of volatile coins.

@chrisleekr not related but I will take advantage of this thread to ask something regarding buy signal
see this screenshot:

Config

If the price was at 556 at 20:12 how bot created an order to buy when price is >= 563?

@gilmillasseau read about https://github.com/chrisleekr/binance-trading-bot#buy-scenario
556+1.21% ~ 563

@GrigorovskyA

@chrisleekr it's your current bot settings? and which profit of it?

No, that is my test bot configuration for development.
My live bot configuration is different. I also still look for a working configuration; however, my personal opinion is, there is no single working configuration. It should be different per coin and market trend.

I think it would be cool to raise a discord server(for example) so that people can change their profits and observations. and fumble around useful results and scripts with lists of volatile coins.

I don't use Discord and don't have much time to involve to chat all the time. Sorry.

@GrigorovskyA @gilmillasseau
Guys, I have reverted the max purchase amount back to the global configuration.
See the comment - https://github.com/chrisleekr/binance-trading-bot/pull/77#issuecomment-830126744

@gilmillasseau I think this issue can be closed as I delivered the global configuration back and explained about % buy.

@chrisleekr I am testing since yesterday, everything is working fine 👍  Nice work.


Decouple external library calls from source code.

External library calls including malloc and callac etc. to be removed and replaced by a macro.
The macro can be defined when the library will be used.
This will enable the library to be used in different contexts including freestanding environment.

It seems like you are going to use it in your Operating System. It is the system developer’s responsibility to implement malloc and/or free, or everything is fixed size. You can port liballoc to your OS or implement a internal memory allocator in your library instead of removing them. It will be easier to make it an offer to OS instead of to this library.

Could you explain more about replacing malloc/free with macros

Replace malloc with something like gMalloc.
The programmer will define the gMalloc macro when porting the library for their system.
e.g.
#define gMalloc malloc

I think this is reluctant because it won’t be convenient for users and porting. There is really no need of that macro. And are you porting this to your OS?

Something to done by the platform the library is to be deployed, not the user.

Moved the backlog to project


Theme Song Volume

Can we get a dropdown menu to adjust volume for the theme song?
a value in percentage will be helpful. Thanks!

Hi, you can upvote that feature here https://features.jellyfin.org/posts/1749/volume-setting-for-theme-songs


open project in spyder

Description
What steps will reproduce the problem?

What is the expected output? What do you see instead?
Please provide any additional information below
File "c:\program files\python35\lib\site-packages\spyder\plugins\projects.py", line 148, in
lambda v: self.editor.setup_open_files())
File "c:\program files\python35\lib\site-packages\spyder\plugins\editor.py", line 2662, in setup_open_files
self.close_all_files()
File "c:\program files\python35\lib\site-packages\spyder\plugins\editor.py", line 1974, in close_all_files
self.editorstacks[0].close_all_files()
File "c:\program files\python35\lib\site-packages\spyder\widgets\editor.py", line 1408, in close_all_files
while self.close_file():
File "c:\program files\python35\lib\site-packages\spyder\widgets\editor.py", line 1370, in close_file
self.remove_from_data(index)
File "c:\program files\python35\lib\site-packages\spyder\widgets\editor.py", line 1163, in remove_from_data
self.update_fileswitcher_dlg()
File "c:\program files\python35\lib\site-packages\spyder\widgets\editor.py", line 822, in update_fileswitcher_dlg
self.fileswitcher_dlg.setup()
File "c:\program files\python35\lib\site-packages\spyder\widgets\fileswitcher.py", line 757, in setup
current_path = self.current_path
File "c:\program files\python35\lib\site-packages\spyder\widgets\fileswitcher.py", li

What were you doing when this error happened?

I had a project opened. I just switched to another project within closing existing project first. So it happened.
Seems the project explorer only allows to open one project simultaneously.
Thanks,
Hal
Sent from my iPhone

On 19 Sep 2017, at 1:54 pm, Carlos Cordoba<EMAIL_ADDRESS>wrote:
What were you doing when this error happened?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@rlaverde, please take a look at this one.

I can't reproduce this error
@haolle could you reproduce the error and post the complete traceback? and which  spyder python an qt versions are you using

@rlaverde I wasn't able to reproduce it also.

I just switched to another project within closing existing project first.

@haolle, what do you mean by this? Please be more specific and give a step by step way to reproduce this problem.

I opened another project straightaway without closing existing project.
Hal
Sent from my iPhone

On 20 Sep 2017, at 8:30 am, Carlos Cordoba<EMAIL_ADDRESS>wrote:
I just switched to another project within closing existing project first.
@haolle, what do you mean by this? Please be more specific and give a step by step way to reproduce this problem.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I tried to keep two projects opened in the project explorer.
Hal
Sent from my iPhone

On 20 Sep 2017, at 8:30 am, Carlos Cordoba<EMAIL_ADDRESS>wrote:
I just switched to another project within closing existing project first.
@haolle, what do you mean by this? Please be more specific and give a step by step way to reproduce this problem.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I opened another project straightaway without closing existing project.

How did you do that? By selecting the project from the Projects menu or by using spyder --project from the command line?

I tried to keep two projects opened in the project explorer.

That's not possible, sorry.

By the way, thanks a lot for your patience in trying to help us to solve this problem.

Yes, I opened another project from project menu. Spyder automatically closed my existing one, and open new one. In this procedure, the problem comes up.
I use Python 3.5.2, spyder 3.2.3.
I love the latest version with code completion function.
Appreciate your guys' efforts!
Thanks,
Hal
Sent from my iPhone

On 20 Sep 2017, at 10:53 am, Carlos Cordoba<EMAIL_ADDRESS>wrote:
I opened another project straightaway without closing existing project.
How did you do that? By selecting the project from the Projects menu or by using spyder --project from the command line?
I tried to keep two projects opened in the project explorer.
That's not possible, sorry.
By the way, thanks a lot for your patience in trying to help us to solve this problem.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@dalthviz, please try to reproduce this on Windows.

In addition to @dalthviz  testing, I was not able to reproduce this issue in Windows7 64bit on the current 3.x branch, nor on master.
@haolle Having the full trackback of this issue would help a ton to understand what is happening. If you could provide it, that would be great.

@haolle, you can get the full error message by copy/paste the text inside the error dialog and pasting it here.

Not sure if I can reproduce the problem.
Let me try tomorrow.
Cheers
Hal
Sent from my iPhone

On 20 Sep 2017, at 11:06 pm, Carlos Cordoba<EMAIL_ADDRESS>wrote:
@haolle, you can get the full error message by copy/paste the text inside the error dialog and pasting it here.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@ccordoba12 I was not able to reproduce this in windows. As @rlaverde and @jnsebgosselin say, a complete version of the traceback would be greatly appreciated.

Sorry guys, I couldn't simply reproduce this issue.
If it happens again, I will submit a full log.
Cheers
Hal
Sent from my iPhone

On 21 Sep 2017, at 7:19 am, Daniel Althviz Moré<EMAIL_ADDRESS>wrote:
@ccordoba12 I was not able to reproduce this in windows. As @rlaverde and @jnsebgosselin say, a complete version of the traceback would be greatly appreciated.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks Hal! Please reopen this issue when that happens and paste the log here.


Change shell 'config' command to display sorted output

Fixes #2149
Fixes the bug where the config command inside the accumulo shell returns the properties unordered by using ImmutableSortedMap.copyOf.
There is only one instance that the shell output is directly effected by this so the other TreeMaps that were replaced I left alone and did not want to import additional things if it was not needed.
If there are other spots in the commit 4ea9bf1 that would directly benefit from the ImmutableSortedMap.copyOf change, I can make those changes as well.

I noticed that there were two parts in the previously linked commit, in Admin.java where TreeMaps were replaced in printNameSpaceConfiguration and printTableConfiguration . I am not sure where these would be printed but maybe these would benefit from a change.

Looks like the change from 4ea9bf1 in TableOperationsHelperTest.check() may benefit from being changed back to treemap since there is a comparison to a treemap.

From my testing, Admin.java is fine as is. I tested both with and without the change and received the same results from the dumpConfig command.

@Manno15 - can you explain why the results would be the same?  Looking at the dump configuration command implementation there does not seem to be any sorting - could it be just an accident that they matched and with either different values or values created in a different order that they would differ?  It seems safest to assume that where a TreeMap was used there might be underlying code somewhere that was built using that assumption - unless it can be determined that is not the case.

@EdColeman I figured out where my confusion came from. I should have paid closer attention, the printTableConfiguration checks first to make sure it is a table property. Therefore, the entire file was correct in that everything was ordered by table (the format for dump config is different than the regular config command. It follows the format config -t accumulo.metadata -s table.split.threshold=64M).  Everything after the -s wasn't in sorted order as it was in older versions.
@foster33 So yes, both of those print functions should have the same change as the ConfigCommand, my mistake on not catching that earlier.

There were a few places where #2122 changed the TreeMap to a non-sorted Map:

NamespaceOperationsHelper - this is only used for looping to update another data structure, and the order doesn't matter, so this is fine
TableOperationsHelper - same as NamespaceOperationsHelper; order doesn't matter, so this is fine
TableOperationsHelperTest - does matter, because the map equality assertion it is checking will succeed whether or not the map is sorted (it only matters that the maps contain the same mapping, regardless of order)
Admin class - this one matters for presentation; both printTableConfiguration and printNamespaceConfiguration should use the ImmutableSortedMap.copyOf, to ensure the order is preserved
ConfigCommand - this one matters for the shell


having standalone gyp installed on windows causes npm to break

I had to install GYP (following the install instructions after checking out https://code.google.com/p/gyp/source/checkout) to compile some software on windows 7 (specifically, to compile OTS) and now notice that an npm install that installs packages that require node-gyp building fails quite hard, with about a million console log entries that look like the following:
ImportError: No module named gyp
bower outlayer#>=1.1 <2                   extract archive.tar.gz
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "c:\Program Files (x86)\Python 2.7\lib\multiprocessing\forking.py", line 346, in main
    prepare(preparation_data)
  File "c:\Program Files (x86)\Python 2.7\lib\multiprocessing\forking.py", line 455, in prepare
    file, path_name, etc = imp.find_module(main_name, dirs)

Running a pip uninstall gyp to remove the "real" version of gyp from the python package list and then running npm install again works, so it seems that somehow node-gyp gets confused by gyp being explicitly installed on the system.

@Pomax Can you please close this issue

If this is still an issue comment and I'll reopen.


[REVERT] Revert "[SMALLFIX] Reorder common and client in alluxio-core-server"

Reverts Alluxio/alluxio#4534

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/12937/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/12938/
Test PASSed.

Merged build finished. Test PASSed.


mac vs windows keys

We have some differences between mac and windows
For example, on mac we usually type cmd, but control on windows.
How is this lib handling these differences?
I don't have a windows pc, then i cannot test it.
But i want to create a shortcut like:
mac: cmd+shif+a
win: ctrl+shif+a
Is this handled automatically or do i need to handle it by myself?

@CavalcanteLeo If you check here to see the number of the key (event.which), you can see that cmd and ctrl are different code, but control and ctrl are the same, which means that macOS and Windows threat those the differently event though the browsers sees them the same.
And that is what matters, in browsers environment ctrl+shift+a is the same for all platforms. cmd key is treated as meta key. You can add these shortcut but, ctrl+shift+a will be triggered in all OSes.


PHPLIB-1359 Add tests on Accumulators ($group, $bucket, $bucketAuto, $setWindowFields)

Fix PHPLIB-1359
https://www.mongodb.com/docs/manual/reference/operator/aggregation/#accumulators---group---bucket---bucketauto---setwindowfields-
For the operators that have accumulator and expression examples on the same page, I added the examples on both.

~$accumulator~ already done
~$addToSet~ already done
$avg accumulator + expression
$bottom
$bottomN
$count the empty object required modifications in Yaml parsing
~$first~ already done
$firstN accumulator + expression
~$last~ already done
$lastN
$max accumulator + expression
$maxN
$median accumulator + expression
$mergeObjects
$min accumulator + expression
$percentile accumulator + expression
$push
$stdDevPop accumulator + expression
$stdDevSamp accumulator + expression
$sum accumulator + expression
$top
$topN

As for the topic of enums, I believe there are a couple of other places where we can consider using an enum (e.g. the unbounded and current identifiers for windows). These have the advantage of making possible values easier to discover.

Since both values are often used together (at least in examples), we may also make an enum that return both.


Opprotunistically use dense iteration when an archetype and its table are 1:1

What problem does this solve or what need does it fill?
We currently force sparse iteration if any of the target components in the data or filter part of a query is a sparse set component. This is suboptimal given the random access pattern forced by archetypal iteration.
If an archetype and its table have the same entity count, we should be able to assume that they target the same set of entities, which should make it safe to use dense iteration.
What solution would you like?
Extend all iteration methods to opportunistically use dense iteration if the fetched archetype and table have the same length.
What alternative(s) have you considered?
Leave it as is, this may notably complicate the safety story for query iteration.
Additional context
Related: #2144.

If an archetype and its table have the same entity count

Isn't it possible for them to have the same entity count by coincidence?

Isn't it possible for them to have the same entity count by coincidence?

An archetype can only have one table mapped to it, if they have the same entity count, the archetype comprises of the entire table. If we add a new sparse set component to any of those entities, we still write to the same table, but fragment the archetype instead, which would disable this opportunistic optimization.

Why is iterating through archetypes slower?
Are the entities in archetype.entities() not sorted in the same order as the table?

Why is iterating through archetypes slower? Are the entities in archetype.entities() not sorted in the same order as the table entities?

yeah , assume we have two distinct archetypes, let's call them A and B:
Archetype A: [ TableComponent, SparseComponent ]
Archetype B: [ TableComponent ]
Both archetypes share the same table_id. When entities in Archetype B are despawned, could potentially disrupting the order of entities in Archetype A.
Furthermore, the archetype iteration retrieves every entity from archetype.entities(), which may hinder certain compiler optimizations.


Add switch to disable RAG on attachments.

Currently if you drop even a single document onto Open WebUI and ask a question about that document, it appears that RAG is always used. It would be helpful to be able to switch this off.
Currently, for each attachment the document text is extracted, the text is chunked, embeddings computed and indexed, an index lookup is performed and then some of the chunks are passed to the LLM. While this is an OK solution for retrieval tasks, it abjectly fails for summarisation tasks.
For LLMs with small context windows summarisation is hard, but many LLMs now support very large context windows; GPT-4o has a 128K context windows and Anthropic Claude 3 support 200K tokens or about 400 pages of text. To make best use of these longer-context models it would be helpful to be able to pass the entire extracted text of all attachments into the LLM. Having a switch to bypass the RAG steps would achieve this.

This behaviour has been changed since 0.3.6

Can you describe the new functionality? I am using 0.3.7 (commit 7bc88eb0) and when I attach a multi-page document in only a subset of 5 pages are being passed as context, not in the order of the original document. If I change the "Top K" parameter to 10 then I get 10 pages passed in, again not in the order of the original document. Clearly there is something still preventing more than the "top k" hits from being used and the re-ordering suggests that they are coming from some sort of lookup result.

+1 A toggle to completely disable RAG would be great. E.g. also when using an external RAG system and relying on the files object in custom tools.

Can confirm, much needed!  In the long term, smth like Claude projects will be amazing, and I'm pretty sure it just puts the whole content of files to the context.

Try this:
https://github.com/NeverOccurs/full_doc_pipe
Use it as a filter function in Open-Webui. It allows uploading a file and push it fully into system prompt. Then you can direct ask the LLM to summarize it or whatever. It doesn't support changing file midway through the chat though.
Still optimizing it but for now I think it is enough for my use case. I'm trying to incorporating it with Claude's prompt caching to minimize cost.

Definitely necessary, at least to deactivate the RAG process by model, for example, to send the file to an agent like open-interpreter, or to user an OpenAI assistant that handles the file directly, it doesn't need the RAG stuff.


Android error

Hi,
I tried to use on Pure React Native with react-native-svg.
Weird issue on android, Stop offset cannot be filled by this.state.offsets[index].
It will throw error

If i fill as fixed value like offset="0" it will run properly.

I reported this bug to react-native-svg team on this issue (https://github.com/react-native-community/react-native-svg/issues/385).
Current, it's known bug, I will update the component when that issue was fixed.

Fixed

but i still have that problem on android even thought offset value has already different

+1 still the same issue. Is anyone working on it?


I want to disable URL underlining in Visual Studio Editor

Issue Type: Feature Request
When writing html code and writing URLs the editor shows them with an underline and I don't like to see underlines in the code.
(it's not about the underline in the web browser but I'm talking about the underline in Visual Studio Code)
There should be the option to disable that underline
VS Code version: Code 1.57.0 (b4c1bd0a9b03c749ea011b06c6d2676c8091a70c, 2021-06-09T17:18:42.354Z)
OS version: Windows_NT x64 10.0.19043
Restricted Mode: No

There is an editor.links setting that controls this.  If you want to disable link underlining in html files only:
"[html]": {
    "editor.links": false
  },

@4Juan Let me know if that fixes your issue. Some color themes also use underline, but in that case just use a different theme.

If it worked, In configuration option Text Editor option links you can disable and enable interactivity with links. Just uncheck the box and the underline stops showing.
Thank you very much for your help ArturoDent and aeschli


give all objects full sovereignty over their OdxLinkIds

i.e., all _build_odxlinks() methods now add all OdxLinkIds including the id of the object for which it is called. This means that from the outside, all objects are now treated as opaque w.r.t. ODXLINK-able sub-objects. This PR emerged from the discussion of https://github.com/mercedes-benz/odxtools/pull/133 . Thanks to @kayoub5 for pointing this issue out!
Andreas Lauser<EMAIL_ADDRESS>on behalf of MBition GmbH.
Provider Information

Squash or or merge commit?

the patches are pretty quite on-topic, so I'd go for a merge commit...


Do not treat warning and rerun-if-changed as user-defined metadata in build script overrides

Fixes https://github.com/rust-lang/cargo/pull/3438#discussion_r94018355
r? @alexcrichton

@bors: r+
Thanks!

:pushpin: Commit 8a286df has been approved by alexcrichton

:hourglass: Testing commit 8a286df with merge ce30a78...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing ce30a784e15e7019fe5459c418d48e01fdd1a43f to master...


[ObjectListView_Keyboard]: Upon tab navigation the keyboard focus is not moving to column headers and list items.

https://user-images.githubusercontent.com/93735775/215749086-19883364-4217-4808-ab9b-52cfc98f0f10.mp4
Environment Details:
OS Version: Version 22H2 (OS Build 22621.1002)
Edge Version: Version 102.0.1245.39 (Official build) (64-bit)
App Installation: this wiki to download
AT Used: Keyboard
Account ID: v-id
Pre-requisites:
you can follow this wiki to download and setup it.
Repro steps:
Open office telemetry studio application.
Navigate to sessions list items
Observe the issue.
Actual Result:
Upon doing tab navigation the keyboard focus is not receiving by the sessions tab and list items.
Expected Result:
While doing tab navigation the keyboard focus should be received by the list items of sessions.
User Impact:
Users with motor impairment will face difficulties if the keyboard focus is not received by the sessions list items.

Hi Team, is there any update on this bug?

You might want to read #663.


This is premium quiz

Why did you make Quizizzz Support paid?

So, I didn't want to do that. But I've dedicated so much time and effort that thought that this would be reasonable
Don't worry though, QuizizzSupport will be going open source in up to few weeks.


Finalize Recurring User Comms Test

Problem statement
ReportStream needs to learn the best way to maintain contact with users to continue providing them value. A recurring monthly update is one idea to explore to meet that need.
What you need to know
[Links to documents, workflows, or list of key people and contact info]

content draft

Acceptance criteria

[ ] Finalize content/design in SendGrid
[x] Approval from Max
[ ] Perform internal test with internal stakeholders and integrate feedback
[x] Align with product on initial receiver list(s) and time
[ ] Initial receiver list email scheduled

Decisions

Initial Receiver List:

Send date to initial list:
Send date to remaining list:

@chris-kuryak FYI because of Tim schedule and timeline we might need to bump PO approval to a separate ticket

@audreykwr Ok -- should we make the separate ticket now, or is there still time to see if he'll get back to us in time?

Probably just make that ticket now, and if he does end up giving feedback in time, hooray.

Separating out the Approval by Tim (#15292) since he may not be around by the end of this sprint to approve.

Internal test and round 1 lists in [this sheet] under those tab labels (https://cdc.sharepoint.com/:x:/r/teams/ReportStream/Shared Documents/Design and Research/03_Content/Monthly update list.xlsx?d=w4a59252488bb4a11b23bde417777a86e&csf=1&web=1&e=95G94X)

Blocked by CDC domain issues, to get the test sent

Time seems TBD based on SendGrid issues.

Removing

Perform internal test with internal stakeholders and integrate feedback
Initial receiver list email scheduled

To following ticket since we are blocked by SendGrid issues


Typo "|pvt_key_last_backup_date|"→"|pvt_key_last_backup_date|"

https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-certificates-transact-sql?view=sql-server-2017

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

Verified the formatting fix.
@hyoshioka0128 Thanks for submitting the pull request.


Please, added sending the POST method of submitting data for opening apps from other websites.

My project is the new web from the main web.
The main web has an A menu when the user pressed the A menu, the browser will open the new web and send the token of the user.
The issue is the method to send the token to the new web that is flutter has only way(as I know) that is GET method (send parameter in the URL). It looks like none secure.
Have any way to send it with the user can't see the parameter?
Is it impossible to add the POST method or something like this?

Hi @SittiphanSittisak,
This issue doesn't seem to describe a bug or a feature request. Please see https://flutter.dev/community for resources and places where you can ask questions like this.
You may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


Add More a cappella tracks

Expand the game with more a cappella parts. Could you add a vocal percussion track? Have you created a framework to make setup generic?

Agree. Merging with more general #178


Get-PowerBIWorkspace : Operation returned an invalid status code 'Unauthorized'

Hi everyone!
First off, thanks for this extension.  It looks like once you have it working, it is pretty helpful.  For this issue, I have referenced previous issues #283 , #293 and #302 and they have helped get me to my current state
Get-PowerBIWorkspace : Operation returned an invalid status code 'Unauthorized'
##[debug]Remove report           :
Getting Power BI Workspace properties; Aaron_POC [Test]
##[debug]10:24:49 AM - Get-PowerBIWorkspace begin processing with ParameterSet Name.
##[debug]10:24:49 AM - Cmdlet version: 1.0.896.0
##[debug]Error record:
##[debug]Get-PowerBIWorkspace : Operation returned an invalid status code 'Unauthorized'
##[debug]At D:\a_tasks\PowerBIActions_d5b7fec6-2b25-4742-905b-0dad97687df5\5.3.34\ps_modules\PowerBi\PowerBi.psm1:658 char:22
My setup is similar, if not exact as the other issues referenced above

That workspace exists
A Service Connection of type "Service Principal" has been created in advance
SP has the ability to access the pipelines
SP has the been added as an Admin to the PBI workspace (workspace exists manually and worspace created in PBI pipeline)
SP permissions (App registrations)

Azure Active Directory Graph (user read)
Power BI Service (Dataset read all)
Power BI Service (Dataset read.write all)
Pipeline is not able to refresh the datasets or publish a report in a manually created workspace, or a workspace created through PBI pipelines.  The error message is the same, so it is something about accessing this or any workspace.
The only thing that I can think of is an API permission that is missing, but I don't know.

The extension now has some reporting and error capabilities please retest with version 5.4.9. If the problem still is there please add another issue and post the log as well.

I will do that now.  Thanks for getting back to me.  I'll ask the other questions there too.

Sorry, this was run against 5.4.9
I will still open a new ticket with more details.

This is due to the SP not being authorized (added to the list of users who can access the PBI API) and the error is exactly that. This has been resolved by adding the SP to the API.  All other permissions remained.


Stop changing permissions on files

These are causing changes to docker overlay filesystems with possible unintended consequences. It is also really slow to loop through so many files in ansible.

Should these group_vars be moved to the cis-hardening group?

Will do that in https://github.com/stackhpc/stackhpc-kayobe-config/pull/1104

Do we not need to do the same for RHEL?

I believe I checked and couldn't see it doing the same kind of permission changes


Improve and Document Testing

Currently, the project has testing settings at cab/tests/settings.py which are completely independent from the main project settings.
This might lead to tests running on a different setup and also complicate maintenance as settings are scattered.
I managed to "re-create" testing settings under the main project settings folder. These import the base settings and just override certain values.
When doing this, I noticed that the project has some standalone django apps which have their own independent tests. This leads a bit of complication because ROOT_URLCONF and some base templates have to be overridden for those tests to work. Therefore, tests actually work with different templates than those used in production:
Overridden settings:
https://github.com/django/djangosnippets.org/blob/792a3cf3f0da6c6ce0bea3fa941533712ce1dff7/cab/tests/tests.py#L12-L16
https://github.com/django/djangosnippets.org/blob/792a3cf3f0da6c6ce0bea3fa941533712ce1dff7/ratings/tests/tests.py#L34-L45
Different base templates:
https://github.com/django/djangosnippets.org/blob/792a3cf3f0da6c6ce0bea3fa941533712ce1dff7/cab/tests/settings.py#L54-L56
Taken from these files:
https://github.com/django/djangosnippets.org/tree/792a3cf3f0da6c6ce0bea3fa941533712ce1dff7/cab/tests/templates
I don't really know what to do with those cases, so please any thoughts welcome!
I think the tests should focus on the main djangosnippets code. We could either disable the independent tests, have those apps packaged separately or at least document that tests are running which such complicated setup.

Thanks @ppmdo 🙏 will take a look. It does sound like a bit of a mess to untangle 👍

@chriswedgwood, I haven't configured any of those before. Any preference on which one to use?

@chriswedgwood, I have never configured any of those before. Any preference on which one to use?

@ppmdo  I have already set github actions  ci on the upstream main. If you sync/merge/rebase your fork with that it should kick off in the PR

Great. I have merged main.
Regarding the "independent" testing of cab.tests and ratings.tests, do you have any ideas on how we should proceed?

Great. Thanks for that. I have merged main.
Regarding the "independent" testing of cab.tests and ratings.tests, do you have any ideas on how we should proceed?

I think any test that is not running against a template used in production should be changed to use the production template.

@ppmdo  I have added an extra check on PR's to run on pull_request.
If you fetch upstream again the CI should run in the PR.
I had a look on your repo and the CI is failing with flake8 issues
https://github.com/ppmdo/djangosnippets.org/runs/2889448668

@chriswedgwood I've marked all the tests that are not using production templates for skipping and fixed the issue with flake8.
I don't really like skipping tests but I think that if those modules need independent testing with different base templates, probably they should be packaged separately with their own tests.
In the meantime, I think this allows development to proceed without depending on any special tricks on the test suite.


HBASE-24885 STUCK RIT by hbck2 assigns

This PR is about to backport HBASE-24885 to branch-2.2.
The backport jira ticket: HBASE-25606
I put the original commit message below.
The cherry-pick was based on the commit on branch-2.3. It was quite clean, only a few trivial conflicts to resolve.
(cherry picked from commit c7e31f720d5c607f8a903a45e46b995a8db37490)

Adds region state check on hbck2 assigns/unassigns. Returns pid of -1
if in inappropriate state with logging explaination which suggests
passing override if operator wants to assign/unassign anyways. Here
is an example of what happens now if hbck2 tries an unassign and
Region already unassigned:
2020-08-19 11:22:06,926 INFO  [RpcServer.default.FPBQ.Fifo.handler=1,queue=0,port=50086] assignment.AssignmentManager(820): Failed {ENCODED => d1112e553991e938b6852f87774c91ee, NAME => 'TestHbck,zzzzz,1597861310769.d1112e553991e938b6852f87774c91ee.', STARTKEY => 'zzzzz', ENDKEY => ''} unassign, override=false; set override to by-pass state checks.
org.apache.hadoop.hbase.client.DoNotRetryRegionException: Unexpected state for state=CLOSED, location=null, table=TestHbck, region=d1112e553991e938b6852f87774c91ee
at org.apache.hadoop.hbase.master.assignment.AssignmentManager.preTransitCheck(AssignmentManager.java:583)
at org.apache.hadoop.hbase.master.assignment.AssignmentManager.createOneUnassignProcedure(AssignmentManager.java:812)
at org.apache.hadoop.hbase.master.MasterRpcServices.unassigns(MasterRpcServices.java:2616)
at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$HbckService$2.callBlockingMethod(MasterProtos.java)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:397)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133)
at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338)
at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318)
Previous it would just create the unassign anyways. Now must pass override
to queue the procedure regardless. Safer.
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
javadoc on assigns/unassigns. Minor refactor in assigns/unassigns to cater to
case where procedure may come back null (if override not set and fails state checks).
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
checkstyle cleanups.
Clarifying javadoc on how there is no state checking when bulk assigns creating/enabling
tables.
createOneAssignProcedure and createOneUnassignProcedure now handle exceptions which now
can be thrown if no override and region state is not appropriate.
Aggregation of createAssignProcedure and createUnassignProcedure instances adding in
region state check invoked if override is NOT set.
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStateNode.java
Change to setProcedure so it returns passed proc as result instead of void
Signed-off-by: Duo Zhang<EMAIL_ADDRESS>

the original PR: #2283

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 31s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 1 new or modified test files.

_ branch-2.2 Compile Tests _

+1 :green_heart:
mvninstall
3m 43s
branch-2.2 passed

+1 :green_heart:
compile
0m 58s
branch-2.2 passed

+1 :green_heart:
checkstyle
1m 31s
branch-2.2 passed

+1 :green_heart:
shadedjars
4m 29s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 44s
branch-2.2 passed

+0 :ok:
spotbugs
4m 18s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
4m 16s
branch-2.2 passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m 28s
the patch passed

+1 :green_heart:
compile
1m  1s
the patch passed

+1 :green_heart:
javac
1m  1s
the patch passed

-1 :x:
checkstyle
1m 32s
hbase-server: The patch generated 1 new + 14 unchanged - 6 fixed = 15 total (was 20)

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedjars
4m 26s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
hadoopcheck
33m 14s
Patch does not cause any errors with Hadoop 2.8.5 2.9.2 2.10.0 or 3.1.2 3.2.1.

+1 :green_heart:
javadoc
0m 44s
the patch passed

+1 :green_heart:
findbugs
4m 24s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
133m 30s
hbase-server in the patch passed.

+1 :green_heart:
asflicense
0m 31s
The patch does not generate ASF License warnings.

209m  7s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2989/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/2989

Optional Tests
dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile

uname
Linux fb65d5706c63 4.15.0-101-generic #102-Ubuntu SMP Mon May 11 10:07:26 UTC 2020 x86_64 GNU/Linux

Build tool
maven

Personality
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2989/out/precommit/personality/provided.sh

git revision
branch-2.2 / a43fd04b6a

Default Java
Oracle Corporation-1.8.0_282-b08

checkstyle
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2989/1/artifact/out/diff-checkstyle-hbase-server.txt

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2989/1/testReport/

Max. process+thread count
2555 (vs. ulimit of 12500)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2989/1/console

versions
git=2.20.1 maven=3.6.3 findbugs=3.1.11

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@wchevreuil thanks for the quick review!

LGTM. I guess the slight change in behaviour not an issue to backport it to branch-2.2?

this change is only introducing extra checks on the master Rpc API called by hbck2. Even if there would be difference inthe assignment procedure between 2.2 and 2.3, these checks happen before the procedure would be even triggered. I tested the change on a 2.2 cluster, and after applying this change:

assign/unassign of regions both in OPEN or CLOSED state works as expected using the HBase shell
HBCK2 command 'assigns' on an OPEN region doesn't succeed and doesn't screw up anything in HBase master. Using the --override flag will bypass the check and will result stuck RIT and also OPENING state in the meta.
HBCK2 command 'assigns' on a CLOSED region works as expected and assigns the region
HBCK2 command 'unassigns' on an OPEN region works as expected and unassigns the region
HBCK2 command 'unassigns' on an CLOSED region doesn't succeed. You need to providee the --override flag to bypass the checks. But actually in this case it is harmless (AFAICS HBsae master state won't change after the unassign procedure on a CLOSED region)

p.s. I'll check the checkstyle problems soon

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 12s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 1 new or modified test files.

_ branch-2.2 Compile Tests _

+1 :green_heart:
mvninstall
3m 31s
branch-2.2 passed

+1 :green_heart:
compile
0m 56s
branch-2.2 passed

+1 :green_heart:
checkstyle
1m 29s
branch-2.2 passed

+1 :green_heart:
shadedjars
4m 20s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 37s
branch-2.2 passed

+0 :ok:
spotbugs
3m 38s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
3m 35s
branch-2.2 passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m  9s
the patch passed

+1 :green_heart:
compile
0m 55s
the patch passed

+1 :green_heart:
javac
0m 55s
the patch passed

+1 :green_heart:
checkstyle
1m 29s
hbase-server: The patch generated 0 new + 14 unchanged - 6 fixed = 14 total (was 20)

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedjars
4m 16s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
hadoopcheck
28m  4s
Patch does not cause any errors with Hadoop 2.8.5 2.9.2 2.10.0 or 3.1.2 3.2.1.

+1 :green_heart:
javadoc
0m 35s
the patch passed

+1 :green_heart:
findbugs
3m 40s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
117m 21s
hbase-server in the patch passed.

+1 :green_heart:
asflicense
0m 27s
The patch does not generate ASF License warnings.

182m 38s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2989/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/2989

Optional Tests
dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile

uname
Linux 12c4991cfe64 4.15.0-126-generic #129-Ubuntu SMP Mon Nov 23 18:53:38 UTC 2020 x86_64 GNU/Linux

Build tool
maven

Personality
/home/jenkins/jenkins-agent/workspace/Base-PreCommit-GitHub-PR_PR-2989/out/precommit/personality/provided.sh

git revision
branch-2.2 / b08c13364b

Default Java
Oracle Corporation-1.8.0_282-b08

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2989/2/testReport/

Max. process+thread count
2842 (vs. ulimit of 12500)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2989/2/console

versions
git=2.20.1 maven=3.6.3 findbugs=3.1.11

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


Python Script no longer works since TAPO plugs updated

Hi
The Python scripts does not seem to be collecting the data from plugs since they have updated to 1.3.0 (build 230905 Rel 15220) i have restarted the program in a separate LXC contianer and also check for any updates on the script from git hub.
Is there any way of running the script with Verbose to see if any error codes come up.

This is all it says when i try to run the python script.

Hey,
Sounds like the new firmware has broken something - the script relies on a 3rd party module to speak to the plugs so there isn't much for it to reveal (although adding a verbose option to make it print details of any exceptions is a good shout).
Looking at the upstream tracker, does look like this is a thing: https://github.com/fishbigger/TapoP100/issues/136
The upstream code also seems to have fallen out of maintenance though.
There's a fork, though, which claims to support the new firmware - try doing this
pip3 install git+https://github.com/almottier/TapoP100.git@main

For me, that broke comms with my plugs (because I've long since blocked them from updating) - it looks like the library has support for the old auth method though, so I'll see whether I can get that working

Ah, that's not going to work for you without changes - I've had to hack at the module but got it talking to my plugs. The response from p110.getEnergyUsage() differs slightly to the original module - with the original, everything was nested under and attribute called result, whereas the new module abstracts that away.
I'll need to add some handling for that.

Ok, there's a modified version at https://github.com/bentasker/tplink_to_influxdb/blob/p100-lib-change/app/collect.py
@netcruiser2k10  could you please give that a try and let me know if it works with your plugs?

Thank you for taking time to respond
I have copied the prompts you listed on the previous response and it throws out a error "Error: {'error_code': 1003}
Failed to initialize protocol OldProtocol..." (See scrrenshot)

Thanks for checking. Looks like the beginning of the report at https://github.com/almottier/TapoP100/issues/13
I'll see if I can find a spare plug (or one I don't mind upgrading) to see if I can see what's going on

Thanks for responding again
yeahhh it does, looks like the firmware update has royally screwed up how the python module communicates to the plugs. By look at the error i saw it said something about handshake errors and to be sure it wasnt my login details within the config file i changed the password and tried that but it still comes up with it. In hindsight i should have either turned off the auto-update or blocked them from communicating witht he internet.
Ill look forward to seeing if anything can be found with them from your side. No worries though if you havent got a spare plug to sacrifice :)
Thanks Again
Alistair

Ive been reading articles about people having issues with plugs and bulbs using the PyP100 module for Home Assistant which have said that something has changed within the protocols that are used with some saying that it could using a KLAP protocol that is changing the way the handshake and encyption is working.
https://github.com/openhab/openhab-addons/issues/15503
https://github.com/openhab/openhab-addons/pull/15725
https://community.openhab.org/t/single-tapo-p100-suddenly-stopped-working-error-code-1003/149740/2
Ill keep looking to see what i can find but hope this helps

Yep - that switch to KLAP is why I updated the library to use the forked version of PyP100 - it's more recently updated and claims to support KLAP.
The error code you're getting is almost like the new library isn't being used (as far as I can make out, it's used to indicate the  plug expected JSON and didn't get any), I wonder if it's being caused by the initial use with preferred_protocol.
In the downloaded copy of the script, you should see
    try:
        # Try using the new signature to communicate with an older device
        # if this fails, we'll fall through to using the invocation that works
        # with both libraries and newer devices (if the new library is in use)
        p110 = PyP110.P110(ip, user, passw, preferred_protocol="old")
        # The new library runs handshake/login automatically, so we don't need
        # to invoke those if we know we're using it
        use_old_proto = True
    except:
        pass

Put three apostoprophe's before and after to comment it out:
'''
    try:
        # Try using the new signature to communicate with an older device
        # if this fails, we'll fall through to using the invocation that works
        # with both libraries and newer devices (if the new library is in use)
        p110 = PyP110.P110(ip, user, passw, preferred_protocol="old")
        # The new library runs handshake/login automatically, so we don't need
        # to invoke those if we know we're using it
        use_old_proto = True
    except:
        pass
'''

and see whether it then works for you.
I do have a spare Kasa plug, so tomorrow I'll figure out which Tapo I can best swap it out for so that I've something to test against.

Hi
Thanks again for responding
I have made the change to the collect.py script you listed above

It hasnt made it work im afraid and comes up with a error that is less in length than the first one

Its possible i may have not indented it properly so will do a little experimeting with the indenting of the apostrophoes but i doubt it would make any difference. I have checked the parts above and below to double check non of them have been inadvertedly moved however theyre where they should be.
Thanks

No worries, thanks for trying.
I've located a Tapo that I don't mind losing if I can't get it working, so I'll try have a tinker with it today.
Given that python-kasa has also added (limited) support for some Tapo devices I might also see whether it's possible to switch over to using that - want to try and get PyP100 working first though as that should give a broader support base.

I've got some stuff I need to get done before I can tidy this up enough to commit it, but:
ben@optimus:~/Documents/src.old/tplink_smartplug_to_influxdb$ ./app/collect.py
Using new
Plug: slow-cooker using 0.0W, today: Not Supplied
Wrote 1 points to local

Should have a fix for you later today hopefully - at least, once I've figured out the best way to go at it.
When I made the current set of changes, I assumed that the library would fail (or throw an exception) if we tried to use old protocol with a newer plug - we catch that exception and try using the newer method instead.
Except, that's not what happens. It doesn't throw an exception, it just accepts it.
When we call getEnergyUsage() the old protocol fails (because new firmware). The library itself does appear to try and failover to using the newer protocol but (for some reason or other) that fails.
If I remove the attempt to use the old protocol entirely it works (though, of course, now won't work with older plugs).
I think the way that I'll probably fix this will be either:

Add support for a config option to denote what auth protocol to use
Test getting energyusage with the new mode and fall back to old if that fails

In practice, I'll probably implement a mix of the two - allow override via config, but test otherwise.

OK, I'm not quite ready to merge it yet (want to see if I can do anything about those hardcoded timeouts first), but if you do the following
curl https://raw.githubusercontent.com/bentasker/tplink_to_influxdb/p100-lib-change/app/collect.py -o collect.py
chmod +x collect.py

export CONF_FILE="/opt/tapomon/config.yml"
./collect.py

you should now find that it works.
It functions correctly in my mixed-firmware-version network.
It should handle it automatically, but if you've got plugs that you know are a specific version you can now force the auth mechanism in the config yaml
    devices:
        # Has a version < 1.2.1
        # and I'm using the forked PyP100
        -
            name: "big-fridge"
            ip : <IP_ADDRESS>
            auth: "almottier_old"

        # Has a version >= 1.2.1
        # and I'm using the forked PyP100
        #  Would also be valid if I firmware < 1.2.1
        # and the PyPi module was in use
        -
            name: "slow-cooker"
            ip: <IP_ADDRESS>
            auth: "package_defaults"

        # The default behaviour - try each
        # mechanism in turn
        -
            name: "washing-machine"
            ip: <IP_ADDRESS>
            auth: "all"

OK, changes are all now merged.
So, if you force an upgrade of the PyP100 module (to get the timeout change)
pip3 install --force-reinstall git+https://github.com/almottier/TapoP100.git@main

You should be able to fetch and use the main script now
curl https://github.com/bentasker/tplink_to_influxdb/raw/master/app/collect.py -o collect.py
chmod +x collect.py

export CONF_FILE="/opt/tapomon/config.yml"
./collect.py

What I haven't done, yet, is cut the docker image over to using the new module

Hi Ben
I have implemented the changes as described in the above and through your repository and it no appears to be working as it should be.
I have set the AUTH setting in the config.yml file to "package_defaults" as i think its the best one to go with for efficiency as all my Tapo Plugs are on the same firmware. Unless you think that it be set to another setting.
I think for now ill stop my devices from updating automatically just to avoid something like this happening again.
Thank you for looking in to this and providing a fix and hope that it wasnt too much trouble doing so. :) :)

If all your devices are on the same version (or, more specifically, on >=1.2.1) then package_defaults is the right choice, yep.
No real trouble :) I'll probably leave that one device able to update so it can act as a canary

Ok will do, Think ill do the same with one of my Tapo Plugs just to see if anything changes when theres another firmware update.
Hope you have a Lovely Christmas and New Year :) :)

I'm wondering if anyone can help?. I'm  trying to get the Tapo P100 plugs to turn off/on using the PyP100 module however I cannot get it to work.
I've reinstalled the module as mentioned above using
pip3 install --force-reinstall git+https://github.com/almottier/TapoP100.git@main
and  then try to run the following code
from PyP100 import PyP100

p100 = PyP100.P100("<IP_ADDRESS>"<EMAIL_ADDRESS>"password", preferred_protocol="old") #Creating a P100 plug object

p100.handshake() #Creates the cookies required for further methods

using new and old in the preferred_protocol. However I get the following errors.

rick@rick-desktop:~/scripts/tapo$ python tapop100.py
Error: {'error_code': -1501}
Failed to initialize protocol OldProtocol
Traceback (most recent call last):
  File "/home/rick/.local/lib/python3.10/site-packages/PyP100/PyP100.py", line 32, in _initialize
    protocol.Initialize()
  File "/home/rick/.local/lib/python3.10/site-packages/PyP100/auth_protocol.py", line 258, in Initialize
    result = self._request(
  File "/home/rick/.local/lib/python3.10/site-packages/PyP100/auth_protocol.py", line 203, in _request
    raise Exception(f"Error code: {data['error_code']}")
Exception: Error code: -1501
Traceback (most recent call last):
  File "/home/rick/scripts/tapo/tapop100.py", line 6, in <module>
    p100.handshake() #Creates the cookies required for further methods
  File "/home/rick/.local/lib/python3.10/site-packages/PyP100/PyP100.py", line 48, in handshake
    self._initialize()
  File "/home/rick/.local/lib/python3.10/site-packages/PyP100/PyP100.py", line 39, in _initialize
    raise Exception("Failed to initialize protocol")
Exception: Failed to initialize protocol

or this when trying 'new'

rick@rick-desktop:~/scripts/tapo$ python tapop100.py
Failed to initialize protocol AuthProtocol
Traceback (most recent call last):
  File "/home/rick/.local/lib/python3.10/site-packages/PyP100/PyP100.py", line 32, in _initialize
    protocol.Initialize()
  File "/home/rick/.local/lib/python3.10/site-packages/PyP100/auth_protocol.py", line 95, in Initialize
    response = self._request_raw("handshake1", local_seed)
  File "/home/rick/.local/lib/python3.10/site-packages/PyP100/auth_protocol.py", line 45, in _request_raw
    resp.raise_for_status()
  File "/home/rick/.local/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: http://<IP_ADDRESS>/app/handshake1
Traceback (most recent call last):
  File "/home/rick/scripts/tapo/tapop100.py", line 6, in <module>
    p100.handshake() #Creates the cookies required for further methods
  File "/home/rick/.local/lib/python3.10/site-packages/PyP100/PyP100.py", line 48, in handshake
    self._initialize()
  File "/home/rick/.local/lib/python3.10/site-packages/PyP100/PyP100.py", line 39, in _initialize
    raise Exception("Failed to initialize protocol")
Exception: Failed to initialize protocol

The firmware of the plug is 1.4.18

Hey @rick165
You've probably a better chance of meaningful help by posting in the PyP100 repo than commenting on a closed ticket.
The library isn't very verbose about why it's failed though, the message that you've got basically translates to "I failed to connect or the plug didn't respond in time".
The second traceback suggests that the library connected to the plug OK, but the plug returned a 404:
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://<IP_ADDRESS>/app/handshake1

I've just tried against my test plug and I can get that same thing to happen if I provide incorrect credentials:
>>> p100 = PyP100.P100("<IP_ADDRESS>", "<redacted>", "<redacted>", preferred_protocol="new")
>>> p100.handshake()
>>> p100 = PyP100.P100("<IP_ADDRESS>", "NOTME", "NOTMYPASS", preferred_protocol="new")
>>> p100.handshake()
Failed to initialize protocol AuthProtocol
Traceback (most recent call last):
  File "/home/ben/.local/lib/python3.10/site-packages/PyP100/PyP100.py", line 32, in _initialize
    protocol.Initialize()
  File "/home/ben/.local/lib/python3.10/site-packages/PyP100/auth_protocol.py", line 110, in Initialize
    raise Exception("Failed to authenticate")
Exception: Failed to authenticate
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/ben/.local/lib/python3.10/site-packages/PyP100/PyP100.py", line 48, in handshake
    self._initialize()
  File "/home/ben/.local/lib/python3.10/site-packages/PyP100/PyP100.py", line 39, in _initialize
    raise Exception("Failed to initialize protocol")
Exception: Failed to initialize protocol

So, it'd be worth checking your credentials are correct. I've a vague recollection of (while I was looking into the original issue) seeing some posts from people that needed to reset their password to get things working.


[Feature Request]: Support for React Native & Flutter .

I am working on an app that deals with tracking of vehicle & showing them in mobile devices & web app . can you guys please provide support for it to use it in react native, react & flutter. Or provide me with some help how to bridge it in React Native.

Here's an Google I/O session next week that will help you by  Kat Fang and Kiana McNellis:
Add Firebase to your cross-platform React Native or Flutter app


Just few minor typos

[Enter feedback here]
This command:
wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.debsudo dpkg -i packages-microsoft-prod.deb
Should be:
wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
sudo dpkg -i packages-microsoft-prod.deb
This changes:
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
proxy_pass http://<IP_ADDRESS>:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
Should be:
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
And this command:
pm2 start npm --name composer – start
Should be:
pm2 start npm --name composer -- start

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: bd89c358-c073-9d98-3465-42bc8bc3da91
Version Independent ID: 486b07ca-44a3-508e-7a00-28c773bc996b
Content: Host Composer as a web app - Bot Framework Composer
Content Source: composer-docs/how-to-host-composer.md
Service: bot-composer
GitHub Login: @benbrown
Microsoft Alias: kamrani

Thanks for pointing this out. A fix should go live shortly.

Fix is merged


Fixed #26762 - Enable flatpages reusability

@aaugustin, do you think we should move forward this or do you have any thoughts about https://code.djangoproject.com/ticket/26762#comment:2 ?

Closing per ticket.


update ppp

Codecov Report

Merging #295 (59d6caf) into master (47600ce) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #295   +/-   ##
=========================================
  Coverage     54.10%   54.10%
  Complexity      760      760
=========================================
  Files           120      120
  Lines          3192     3192
  Branches        480      480
=========================================
  Hits           1727     1727
  Misses         1261     1261
  Partials        204      204

Continue to review full report at Codecov.

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


Add explanations to variables in documentation

Hey,
I really love your work and it is really handy in my private tracking project. My only problem is, that I can't seem to find the exact meanings of some variables. I studied the docs but couldn't find anything. Is there a list or something which describes the variables?
Thank you very much!

Hi @kajetanschuler, thanks for reaching out and for the kind words :)
You are unfortunately not the first to ask this question. The list you're looking for exists but it is quite hidden in the auto-generated docs that Bright Sky uses. I'll improve them this summer with #145! You can find it by clicking the SCHEMA tab in the "Response" section for each endpoint:

The units used for each field are listed under the units parameter description in the "Request" section. (Plus there are currently three more fields in an experimental / undocumented state, see #95 and #141.)
Hope this helped, otherwise just let me know!

Hi @jdemaeyer thank you very much. Exactly what I was looking for. Sorry, that I didn't find it! Thank you also for implementing the solar feature. Does global in this case mean worldwide?

Glad it helped! There's no need to apologize, situations like this are very much a fault in the docs' design and not a user fault.
In case of the solar parameter, global does no refer to "worldwide" but refers to the global horizontal irradiation, i.e. the total incoming energy that hit a 1 m² area at the location of the weather station (in the past hour). It's called "global" because it refers to the whole sky, counting both light coming straight from the sun (beam irradiation) and light scattered by the atmosphere (diffuse irradiation). This wiki article has some more info if you feel like going down a rabbit hole ;)

Closing in favor of #145


Add passthrough argument for proxies

Fixes #108

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 89.524%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
658

Relevant Lines:
735

💛  - Coveralls


Introduce GradleLifecycle#beforeProject

This is the first of a series of PRs.
The new API is introduced and made available to DevelocityBuildLifecycleService.
Isolation and serialization will come in the next PRs.
Reviewing cheatsheet
Before merging the PR, comments starting with

❌ ❓must be fixed
🤔 💅 should be fixed
💭 may be fixed
🎉 celebrate happy things

@bot-gradle test RFN

I've triggered the following builds for you. Click here to see all build failures.

ReadyForNightly build

@bot-gradle test QFL

I've triggered the following builds for you. Click here to see all build failures.

QuickFeedbackLinux build

@bot-gradle merge

The merge queue build has started. Click here to see all failures if any.

The merge queue build has started. Click here to see all failures if any.

The merge queue build has started. Click here to see all failures if any.

The merge queue build has started. Click here to see all failures if any.


fix(migrate): 🐛 improve "translate" pipe regex

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/ngneat/transloco/blob/master/CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?
translate pipe regex doesn't match some pipe usages.
Issue Number: #701
What is the new behavior?
translate pipe regex matches more different kind of pipe usages.
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

Can you share the example code you want to test?

@hakimio Yes of course. Here you can find several examples of templates containing pipes, directives, etc.
It would be a good idea to copy these tests and make sure they are migrated correctly and if we have cases that are not supported it's good to be aware of them and we can add them, to the known limitations.

How can I find all the dontTake cases in the pipe directory?
https://github.com/ngneat/transloco-keys-manager/tree/master/__tests__/pipe

I guess, all the cases, where the key is non-numeric, are considered invalid.

I have added the HTML template test.
There are a couple of cases which are not handled correctly, but I don't think they matter as they are quite rare.

It doesn't handle the case when there are newlines inside {{ ... }}:

  {{ (condition ? '40' :

  '41') | translate: { name: "ccc"} }}

It doesn't validate the html template. So, it will just do the replacement in the following cases even there are errors in the template:

{{ 'not' + 4 | translate }}
{{ 'numer' ++ 4 | translate }}
{{ var + 'not'  | translate }}

@hakimio Seems like the lint is failing, can you run a lint fix?

It's in a file I haven't touched: https://github.com/ngneat/transloco/actions/runs/6223666982/job/16901003211?pr=702#step:4:240
Linting "transloco-optimize"...

/home/runner/work/transloco/transloco/libs/transloco-optimize/src/lib/transloco-optimize.ts
Warning:   7:35  warning  Unexpected any. Specify a different type  @typescript-eslint/no-explicit-any

Anyway, I'll take a look tomorrow.

Ok, the lint error is in the import order.
I'll fix it and push tomorrow.

Please pull master as well 🙂

Should be good now.

Just merge the PR as a single commit with whatever commit message you want. I am not going to change all the commit messages.

@hakimio You have commits that aren't following the guidelines, can you please fix them so we can merge? 🙂
The last three commits before the master merge seem to be off the standards.

Just merge this as a single commit with message fix(migrate): 🐛 improve "translate" pipe regex.


cannot change to a directory named "..."

If there is a folder named as "..." , I cannot change into the folder using cd .../ , rather it would convert ... to ../../ and will execute cd ../../
To Reproduce type the following commands
bash(Going to bash for creating a folder)
mkdir ...(making a folder named "..." as zsh will be unable to make such a folder as it will convert ... to ../../)
exit(moving to zsh again from bash)
cd ...(it will change "..." to ../../ and will execute cd ../../ instead of moving to "..." directory)
Expected behavior
It should search for the "..." folder and if it does not exit then it should convert "..." to "../../" else it should execute ...
System:

x86_64-ubuntu-linux-gnu
zsh 5.5.1

Additional context
I know zsh has auto feature to convert ... to ../../ but it should first search for that file and if the file is not found then it should convert it making it much more convenient to use.

It's not zsh doing this, omz has .. defined as an alias https://github.com/robbyrussell/oh-my-zsh/blob/687c50bdf999f8efd45f3c8f578a62329b0633da/lib/directories.zsh#L6

But we can make it as a feature of zsh my coding it somewhat like this https://github.com/sanskar11/cd/blob/master/cd

As a temporary shortcut you can quote the dots: cd "...", that should bypass the alias expansion.

Just for the record, this also breaks bazel in improtant ways, as Bazel uses ... as a recursion-shorthand (e.g. bazel test ... runs all tests below current directory).
Right now I get
% bazel test ...
INFO: Invocation ID: 87c4c71c-b3e6-440a-9554-4355f800cff9
ERROR: Skipping '../..': Bad target pattern '../..': package name component contains only '.' characters
WARNING: Target pattern parsing failed.
ERROR: Failed to parse target pattern even though it was previously parsed successfully: Bad target pattern '../..': package name component contains only '.' characters
INFO: Elapsed time: 1.382s
INFO: 0 processes.

INFO: Invocation ID: eac8e3f3-fabe-4343-b0b3-f85ed715d71b
INFO: Analyzed 349 targets (509 packages loaded, 14984 targets configured).
INFO: Found 321 targets and 28 test targets...
INFO: Deleting stale sandbox base /home/msi/.cache/bazel/_bazel_msi/b577005c7d98997ad4f9c8a84bcb15ca/sandbox
INFO: Elapsed time: 30.031s, Critical Path: 8.11s
INFO: 2 processes: 1 remote cache hit, 1 internal.
INFO: Build completed successfully, 2 total actions
//ogcode/lib/git:git_test                                       (cached) PASSED in 0.1s in 0.0s
...
INFO: Build completed successfully, 2 total actions

I use the ...-shorthand a lot in bazel and not at all in OMZ, so I've fixed it for now by commenting out the aliases in the directories.zsh pointed out by @natemaia.

@msiebuhr you can disable directories aliases, see info here


(PUP-6221) Add Semantic versioning to the Puppet Type System

This PR adds the two types SemVer and SemVerRange to the Puppet
Type System. The SemVer is a parameterized type and it's arguments can
be either strings or SemVerRange instances.
A SemVer type is constrained by it's contained SemVerRanges. If it has
no ranges, then the type represents all SemVers. If it has ranges, then
the type represents all types that matches any of the ranges.
The ranges of a SemVer type will be normalized so that any range that
intersects with another range automatically forms a new range. This is
needed to get the type arithmetic working correctly in cases like:
$x = SemVer['>=1.0.0 <2.0.0', '>=1.5.0 <3.0.0']
$y = SemVer['>=1.2.0 <2.8.0']
$x > $y == true

CLA signed by all contributors.

Waiting on reviewing until travis passes this for Ruby 2.3.0

Thomas, did you avoid tests that triggers the faulty behavior in the semver implementation in puppet?

I added a maint commit that reverses the failing comparison to circumvent the problem with SemVer#== on Ruby 2.3.0. It uses:
:undef == x

instead of
x == :undef

While it certainly doesn't resolve the actual problem, it does unblock this PR.


Add push notification to saving session blueprint

Describe the feature
Please add the ability to send a push notification when a saving session is automatically joined.
Expected behaviour
Send a push notification when a saving session is automatically joined
Use Case
When a saving session is automatically joined, there is no information about that except for in the HA dashboard. It would be great to have a notification sent to my iPhone so that I know to turn everything off at the appropriate time!
Confirmation

[X] By submitting this feature request, you agree that you have read the documentation and confirmed it does not already exist
[ ] I am willing/able to help contribute to the solution of this feature

Hi Peter, this is already possible by adding a device action if you have a phone set up with the HA app. This is the visual editor showing mine:

I then just used the message: Joined new Octopus Energy saving session. It starts at {{ trigger.event.data["event_start"].strftime('%H:%M') }} on {{ trigger.event.data["event_start"].day }}/{{ trigger.event.data["event_start"].month }}
Hope that helps and it will send regardless if you have external monitoring of your HA as it's just an app push.

Hi. Thanks, yes I know I can do that myself. My point was it would be nice if it was added to the blueprint so it can be added automatically.

Actually, having said that, I've tried adding an automation and I can't get it to work. Any chance you could share the yaml? Cheers.

Here you go, I've edited out my ID's and not actually sure how you find out your mobile device ID as can't find it anywhere, mine was added by the visual editor:
alias: Octopus Saving Session Joiner
description: Automatically Join Octopus Saving Session Events
trigger:
  - platform: event
    event_type: octopus_energy_new_octoplus_saving_session
condition: []
action:
  - service: octopus_energy.join_octoplus_saving_session_event
    data:
      event_code: "{{ trigger.event.data[\"event_code\"] }}"
    target:
      entity_id: event.octopus_energy_a_xxxxx_octoplus_saving_session_events
  - service: persistent_notification.create
    data:
      title: Octopus Saving Sessions Updated
      message: >
        Joined new Octopus Energy saving session. It starts at {{
        trigger.event.data["event_start"].strftime('%H:%M') }} on {{
        trigger.event.data["event_start"].day }}/{{
        trigger.event.data["event_start"].month }}
  - device_id: xxxxxx
    domain: mobile_app
    type: notify
    message: >
      Joined new Octopus Energy saving session. It starts at {{
      trigger.event.data["event_start"].strftime('%H:%M') }} on {{
      trigger.event.data["event_start"].day }}/{{
      trigger.event.data["event_start"].month }}
    title: New saving session has been joined
mode: single

There is now a separate version of the blueprint which supports added custom actions when a saving session is joined


Feature Request - Make Volume Control Service name editable

Is it possible to set the name of the Volume Control Service - I call it Telly Noise by setting it's name in HomeKit but every time I reboot Homebridge it reverts and I sound like a lunatic shouting at the TV to turn the Telly Noise off when it's now back to LG Volume Control.
Great plugin thank you.

This is a known issue that after a reboot the names of the accessories revert back to the auto generated ones. I have it on my scope to provide a fix but since it will probably require some extensive code changes I did not find the time to do it yet... hopefully I can tackle it soon!

I came here to request the volume service name be configurable as well and saw this, so +1 if you do get time at some point. 👍
I see that you set it as <accessory_name> + ‘ Volume’. The problem is that my accessory is named “Living Room TV”, but Siri gets confused when I ask her to adjust the “Living Room TV Volume” – probably because the AI hears “Living Room TV” and expects it to be an attribute on the TV itself – so I have to ask in a contorted way, like “adjust the Living Room level to 10%”. Fortunately I don’t have any dimmer-light accessories in my home, otherwise that wouldn’t work as she’d adjust all of them.
Regardless though, thanks for the great plugin, it’s enabled me to do a lot of cool automations that aren’t possible with LG’s own implementation!

A very important note is that Siri officially cannot control the volume of any devices, so if there is the word "Volume" in your command then it might misinterpret it. You have to control the volume as you would control the light bulb or fan which is used to emulate it, hence saying "Set living room level to 20%" is the correct and only way to do that.

Sorry for the month-late follow-up / ping, just noticed your reply in my notifications. Don’t mean to belabor the point, just a couple more thoughts and then I’ll leave you in peace to [de-]prioritize as you see fit. 😅

A very important note is that Siri officially cannot control the volume of any devices, so if there is the word "Volume" in your command then it might misinterpret it. You have to control the volume as you would control the light bulb or fan which is used to emulate it, hence saying "Set living room level to 20%" is the correct and only way to do that.

For sure, that’s the most natural term I could think of for now, and it does work. I think the strongest argument would probably be to work around collision with actual dimmer lights in the same room.
In terms of what i might actually do with a configurable service name, I can imagine some that might be useful along the lines of “Living Room Speakers” or “Living Room Output” – Siri limitations permitting… Let’s hope Apple Intelligence can make her more capable, in any case! 😆🤞


Returns created Run on CreateRunAsync

Resolves
Fixes #289
Description
Returns created Run

This is ready for a review

I'm going to merge this PR given that it contains migrations and changes that will cause merge conflicts for other contributions. I don't want to cause any conflicts on current or new PR's. Let me know if you have any comments or suggestions to this PR and I would be happy to open a new PR to address any of them :)


tests: added initial setup

Added initial test setup
Found a bug from my PR #15 and fixed it directly
Added a more enhanced .gitignore file
added a stub test for checking if chromium spins up and is able to detect a heading
added a kinda enhanced test setup for checking the readConfig function

Related to #17

@mxschmitt lgtm! thanks a lot!


Calendar: min-value and max-value

adds minValue and maxValue to calendar properties
changes the inner date to be a button. This is so disabled on dates outside of the valid range semantically makes sense.
a bug fix was made related to the heading

Functionality expected:

users cannot navigate by keyboard to the invalid dates
users cannot click on invalid dates
when users click page up and the date that they would page up to is disabled, their focus will instead go to the earliest focusable date (which would be closest to the date they would have gone to). If there is not one, their focus will go to the previous month icon button.
when users click page down and the date that they would page down to is disabled, their focus will instead go to the latest focusable date (which would be closest to the date they would have gone to). If there is not one, their focus will go to the next month icon button.

TO DO:

[ ] update readme

I'm doing a bit of a re-factor to fix some things for NVDA so ignore for now

This is ready for review when anyone gets a chance


Encryption Tool

Description
A python tool with which you can encrypt plain text into some famous algorithms and cipher such as: Morse, Base64, Hex, Caesar Cipher and etc.
Technologies and Languages
List of all the technologies and languages which you think are required for solving this issue:

Python
Base64 Module
binascii Module

Notes
I've made already this project and thought about contributing it here, and so you can check out the project right there: Project
Sadly, it is unable to decrypt yet, but will be added ASAP.

Great. Wonderful. Looking forward to your PR.
Well, you can try having the decryption as well. Try it out. To let me know if you face any issue.

There is a folder restructure going on. Once its over, you can start working on this.

Alright! I'll try implement it ASAP.


Refactoring of fetching routes

Describe
All routes fetched in the frontend are fetched from respective components, but if we want to fetch a particular route from many components, we have to write all the fetching code again in other components. This causes redundancy. Also, if we want to look at all the routes fetched from the frontend, we have to go to each respective component.
Expected

We can make a service folder where we can write services to fetch particular routes and import those services in the respective components.
We can make a routes file to store all the fetched URLs and import them accordingly.

Desktop:
OS: Linux Ubuntu 20.04
Version : 80796c2 commit
Additional Context
This will make the code more clean and understandable.

@Harkishen-Singh @muskankhedia I would like to work on this issue if approved.

@Tushar3099 This refactor would be great. However, isn't this part of the GSoC project idea "Revamping the UI"?

@sachdeva-shrey Thanks for you views. IMHO I guess Revamping the UI  will have a greater scope of change , from design to implementations. I am here just proposing to refactor the already present code of fetching routes which is more of a clean up than rewamping.
Also I would only be working on this issue if maintainers approve.

Totally understand your point. Just thought this would involve completing part of the project, considering that this would be a huge refactor.

@sachdeva-shrey  I also believe that refactoring is a part of GSOC project @Tushar3099 I think you can mention this in your proposal

@ruddi10 @sachdeva-shrey I respect your opinion, but please let the maintainer have their view on this before any final decision. As I have already told, I would be only working if the maintainer approves this.
I am hereby specifying that by Refactoring fetch route, I only mean to change the code structure related to the fetching of the routes. Nothing else is changed or added. This is a clean-up task. I am sure the Revamping the UI will have much greater goals and implementations than a simple route refactoring.

@Tushar3099 the solution is good. We must have a object rather, that has a mutex lock. When This object has a running http request every 10 secs say, and during that it fetches all the responses regularly from API. Then the new ones can be stored in the object store with a write lock, and readers will take the read lock to avoid race conditions.
I think this will be the ideal way. I also agree that this involves work that would be in use in the new UI. We can have that now, but that will lead to water engineering effort. Instead, I will focus on golang related issues only, as most react issues are trivial and will go on vain, in the new UI.

@Harkishen Sorry but I couldn't relate to this line with the issue I proposed :
We must have a object rather, that has a mutex lock. When This object has a running http request every
10 secs say, and during that it fetches all the responses regularly from API. Then the new ones can be stored
in the object store with a write lock, and readers will take the read lock to avoid race conditions.

In this issue, I proposed to refactor the already existing fetching routes in the frontend.
However, I tried to understand the implementation you explained but I am having a little difficulty in understanding which functionality you are talking about.

If you are fetching data from a particular system, but while you are updating your state, another reader is reading your state. A the data gets fetched, if there is no lock, this will lead to dirty read on the reader that is reading the system.

@Harkishen-Singh, Thanks for explaining your statement. I now understand that the issue here is about concurrent processes performing read operations simultaneously which leads to dirty read. However, the issue raised here is not the one we are discussing. Shall I close this issue and open a new one. I would like to work on it.

@Tushar3099 I am unsure of the workflow here, can you be more specific in terms of what problem you're trying to solve and how you'd do that?

@aquibbaig I actually raised this issue as I saw if I want to know all the routes called by the front end and change some routes fields, there is no central location for that. We have to go to each component which takes time.
The solution to this can be :

A central location of URLs and a central location for services.
The fetching code that we have written in different components can be saved as services in the service folder from where we can call them as many times as we want.
This will also clean up the code in components.


Extend the Bookstore with Custom Code

Tutorials: https://developers.sap.com/tutorials/cp-cap-java-custom-logic.html
I am currently on step number 3, Test handler where when I executed sub-step no 7 "Create a new order item:" using post, stocks didn't get deducted by 2.Can you pls help me? Let me know in case anything else is needed.Attaching screenshots of post command and output for reference.

Regards,
Krishma

Adding orderItems created screenshot also.

Regards,
Krishma

Adding Order and OrderItems screenshot as well.

@beckermarc can you please have a look here?

Hi @krishmabhatia
did you make sure to restart the application after adding the code?
Can you please provide the startup output of the application after starting it through the run configuration?
Best regards,
Marc Becker

Hi @beckermarc ,
Yes, I did that and even today again I tested by creating new order ending with 08 but still stock is not getting reduced by 2.
PFA startup output of the application after starting it through the run configuration.
Let me know in case you need anything else. Also, I am not sure but I am not getting any notification or mail of the replies sent by you and your team even though my notification for this thread is subscribed, pls let me know in case I need to enable anything else also to get a notification for replies sent by you for this thread.
Thanks in advance!!
Regards,
Krishma

Sorry for the late reply. Can you please attach the full startup output as a text file, not as a screenshot. The relevant parts that I wanted to check are unfortunately not visible in the screenshot you attached here.
Regarding notifications: This depends on your GitHub notification settings I guess, which you can customize in the account settings of GitHub.

Thank you for your feedback. We haven't heard from you in a while, so we are closing the issue.
If you still have questions, feel free to reopen the issue.


Fix variables initialization in tests

This commit makes explicit initialization of the variables declared
in Describe sections of test specs. I realized that non initialized
variables in BeforeEach or explicitly in each tests might be shared
across tests causing erratic an behaviors depending on how concurrency
is applied over the suite.
Signed-off-by: David Cassany<EMAIL_ADDRESS>

I found this issue while reviewing #124, but this is unrelated, it is a different bug.


Implement HTTP Caching

Google Fundamentals: HTTP Caching
With successful caching scheme our pages should usually be returning 304: Not Modified instead of 200: OK.

I must be missing something here, I've set the Cache-Control header for our apache server but it seems things still aren't being cached. Changes are live in apache2.conf on our server, adding Cache-Control header for a list of file types.
HTTP Advanced Request Header Tool
Cache Control Header Checker
If you type our site into either one of these tools you can see the line Cache-Control: max-age=172800, public, must-revalidate in the headers; but 200 OK is still being returned instead of 304 Not Modified and caching isn't happening.

I was missing the Expires module, I loaded the expires module into mods_available on our server and added an "Expires" header alongside the Cache-Control headers; caching should now work.
I checked in Developers Tools that the page is loading from cache when I request it, but requests still return a 200 OK instead of 304 Not Modified which bothers me because returning 304 would save network latency. However the page should now be a little faster for the user.

Seems to work now.


Text Scale segment throwing error

(Quoted from @jwintz #7)

text-scale works fine whenever you increase or decrease the text scale. By default the modeline does not render anything with the following message: Error during redisplay: (eval (spaceline-ml-all-the-icons)) signaled (void-variable text-scale-mode-lighter) [36 times]

Great ! Thanks !