Asset published in Market fails to get dispensed

The error / how to reproduce
What I did:

Published CEXA price feed via Ocean Market, onto Polygon. (Published here).

Then, tried to consume it via Ocean Market, with a different address. It failed. This comment has details..

I also tried to consume it via this ocean.py README, with a different address than the publishing one. It failed too. Digging into it...
It appears that by default, the dispenser contract, allowedSwapper gets set to a nonzero address (not 0x00...).
Which meant that only the publishing account can dispense tokens, unless it's changed via setAllowedSwapper().
I looked around in Ocean Market to try to change it, such that I could allow anyone to request tokens. Eg next to "change ddo". Such an option did not exist.
But I did find a workaround, in code: via Python, I updated the allowedSwapper to zero address (0x00..) manually. In that setting, it means that anyone can request tokens (ref).
The error, seen again
A user in a data challenge ran into the same issue. See ocean.py#1161
Summary
We published a free asset in Ocean Market
A user tried to call dispense(), it didn't work. (Implicitly via a call to ocean_assets::download_file()). It would also fail in any dispense() call from ocean.js, etherscan, or elsewhere.
"Free" assets should be dispense-able.
The root problem is that: template 2's allowed_swapper != ZERO, which means that no one can call dispense().
The challenge is: using template 1 solves the problem, but incurs a second tx and more gas fees (either on publish, or on consume). How do we crack this?
Candidate approaches, recommendation
This comment lists several candidate approaches, analyzes them, and makes recommendation on how to proceed. (Hint: it's not "use template 1", we can do better!).

Yes, check my comment, it's failed to download file, and i already created an issue in provider for it. It's not a market issue

Summary of observations:

the issue only happens in Polygon. Not Mumbai, not other networks
the issue happens when publish from address A, and consume from address B
the issue happens when consume from address B in Ocean Market, or in ocean.py
we've only seen issues when publish from Market. The issue does not emerge when publishing from ocean.py READMEs. The issue likely isn't Ocean Market per se. It simply as a different set of calls or params to middleware + smart contracts than ocean.py
I observed via smart contract queries that allowedSwapper was set to a non - 0x00 value by the time Ocean Market publish was done. Matthias reported that the Ocean Market code itself does not set it. Therefore somewhere along the way during publish, it gets set to a non - 0x00 value.
the issue goes away if you change the allowedSwapper to 0x00. This issue's description outlines that more. Example fix in python
I'm guessing that the reported provider issue is a symptom too. Why? because from the last two bullets, allowedSwapper value is almost certainly the issue.

Best way forward, imo: go through the stack of publish from Ocean Market, and find where allowedSwapper gets switched to 0x00. Fix that, and we fix this issue (and the provider issue).
(OK, I really have to run now!)

No. please read my comments.
The behavior is normal for the enterprise template (template id 2) , there is nothing wrong in the market.
I already said in a previous comment what needs to change in the readme to work.
The provider issue has nothing to do with allowedSwapper it's an old recurring issue, most likely something to do with rpc.

No. please read my comments.
The behavior is normal for the enterprise template (template id 2) , there is nothing wrong in the market. I already said in a previous comment what needs to change in the readme to work. The provider issue has nothing to do with allowedSwapper it's an old recurring issue, most likely something to do with rpc.

If that's the case...

why was allowedswapper set to nonzero after publish - when I couldn't consume
and why, when I did change allowedswapper to zero, could I then consume? (Using the readme as is)

And changing the readme doesn't fix the core problem, because the recommended new call couples dispensing tokens (where the issue is) with consuming tokens. Any ocean.py user should be able to get tokens dispensed without having to consume.

Like I said: The problem likely isn't in market per se. But somewhere in its call stack the allowedswapper got set to nonzero. This is what we need to fix.

Nope, working as intended for the enterprise template. If you really want to get tokens but not order (not sure why) you can use the simple template, not the enterprise one

Like I said: The problem likely isn't in market per se. But somewhere in its call stack the allowedswapper got set to nonzero. This is what we need to fix.

Nope, working as intended for the enterprise template. If you really want to get tokens but not order (not sure why) you can use the simple template, not the enterprise one

Why does it default to enterprise template in market then?
It doesn't make it clear in market that consume would be so restricted.

Why does it default to enterprise template in market then?

Because everybody touted its advantages, and preventing tax events from occurring in most jurisdiction seems like exactly what we want:
https://github.com/oceanprotocol/contracts/pull/377
The issue here is a typical thing coming up when nobody does actual product design, but everything is just attached as new feature, solving 1 issue but then creating 3 other unintended issues. Like this one here.
Again, you can publish and download via Ocean Market so not sure what to do here. Actual issue then is "Enterprise template does not allow dispensing by default", but that is exactly what it is supposed to do. If this is unwanted, then, well, why do we have all those templates?
We simply can't support all possible combinations and variations of all our stack's features or we would need to have a huge team. We could add an option to choose between the templates but good luck making sure people pick what they actually want, as describing templates (ERC721 & ERC20) and their differences is quite challenging.
Next planned step on market is to at least support downloading with both templates, see #1652

The enterprise template was for enterprise markets. Like Daimler.
Ocean Market is not intended to be an enterprise market.
We don't need to support all the templates on Ocean Market. We should simply support the most open one. That's the non enterprise one.
I propose that's exactly what we do here. Then we won't have any more surprise behavior.
Cc @alexcos20

The surprise behavior is what I reported at the top of this issue :

publish on Ocean Market. Free. Expecting open
Someone else, not in market, goes to request a dispense. And then it doesn't. Because gatekeeper-y enterprise behavior.

That's the surprise behavior. Supposed to be open, but closed in a weird way.

ok got it, so how big of a priority is this change?

That is way too hacky, and would also include extra transactions, i'll just swap templates and ensure compatibility for both.

PR good for testing. Assets published now should work ok with the steps in the readme

Note: it appears that this issue has reared its head again.
Summary:

we published a free asset in Ocean Market
user tried to call dispense(), it didn't work. (Implicitly via a call to ocean_assets::download_file()).

Shouldn't "free" assets be dispense-able?
Details in issue ocean.py#1161, see part (2).

In slack, AlexC expanded on the PR comment with the reasoning to keep template 2 in Ocean Market:

there are more advantages for which I prefer to keep enterprise template on market:
( 1 tx  (buyFromAndUse) instead of  1 x Buy/dispense + 1 x startOrder)

reduce costs by 50% (on mainnet, this is important)
reduce possibility of failure (maybe 1st tx goes through, 2nd fails)
better UX  (one signature instead of two). Especially when using hw wallets

Yet we still need to solve the issue: "If someone publishes a free asset in ocean market, anyone should be able to call dispense to get the datatoken. (From anywhere: ocean.js, ocean.py, etherscan)". That is, solve this github issue.
And overall, we should ask ourselves:

do we want users to be able to do a flow at all, vs having gas costs & UX optimized? (But the flow not working)

Let's explore how we can solve the issue. Ideas:

switch template to 1
if it's a free asset, use template 1 (non-enterprise). And for fixed-price, keep using template 2 (enterprise)
if it's a free asset, do the extra transaction to change allowed_swapper to ZERO
4, Maybe more ideas?

I hope we can agree that "does it work at all" >> "UX is better"

we can't have everything, and this can't be solved on the frontend. This is a product/contract issue. If possibility to dispense is more important than everything else we can switch to template 1, if all the user advantages of template 2 are more important to us, we have to keep using template 2. If you want all those features to be on same level then create another template in the contracts with all those features combined, and then make the whole stack switch to this template.
Otherwise we are simply going in circles, expecting the frontend to magically solve all the misconception s of the underlying contracts.

It sounds like this is an issue in the smart contracts rather than the market, so I'd suggest closing this an opening an issue in the contracts repo with regard to writing a new template.

It sounds like this is an issue in the smart contracts rather than the market, so I'd suggest closing this an opening an issue in the contracts repo with regard to writing a new template.

Thanks for the thoughts.
@alexcos20 ok if I create an issue in contracts repo, and close this one? (I recall that you'd also had ideas for a new template.)

closing since it's not a bug in the market.


Different batch size can impact the evaluation result

I ran ifeval with different batch sizes using gemma-2-9b-it model and got quite different results:

With Auto batch size ( it turned out to be 1 after detection)

hf (pretrained=google/gemma-2-9b-it), gen_kwargs: (None), limit: None, num_fewshot: None, batch_size: auto
|Tasks |Version|Filter|n-shot|        Metric         |   |Value |   |Stderr|
|------|------:|------|-----:|-----------------------|---|-----:|---|------|
|ifeval|      2|none  |     0|inst_level_loose_acc   |↑  |0.7674|±  |   N/A|
|      |       |none  |     0|inst_level_strict_acc  |↑  |0.7566|±  |   N/A|
|      |       |none  |     0|prompt_level_loose_acc |↑  |0.6784|±  |0.0201|
|      |       |none  |     0|prompt_level_strict_acc|↑  |0.6654|±  |0.0203|

With batch size 32

~/lm-evaluation-harness$ accelerate launch -m lm_eval --model hf     --model_args pretrained=google/gemma-2-9b-it   --tasks ifeval  --batch_size 32
hf (pretrained=google/gemma-2-9b-it), gen_kwargs: (None), limit: None, num_fewshot: None, batch_size: 32
|Tasks |Version|Filter|n-shot|        Metric         |   |Value |   |Stderr|
|------|------:|------|-----:|-----------------------|---|-----:|---|------|
|ifeval|      2|none  |     0|inst_level_loose_acc   |↑  |0.0528|±  |   N/A|
|      |       |none  |     0|inst_level_strict_acc  |↑  |0.0528|±  |   N/A|
|      |       |none  |     0|prompt_level_loose_acc |↑  |0.0462|±  |0.0090|
|      |       |none  |     0|prompt_level_strict_acc|↑  |0.0462|±  |0.0090|

It seems to be a bug inside the implementation of the batch inference. Did I miss something?

Hi! Thanks for reporting this. Looks like a bug to me. A small difference is expected due to floating point precision issues but this magnitude far too large. Will look into it!

Thank you, @baberabb !
It is worth noting that vLLM currently lacks sliding window support, which is used inside Gemma 2 models. I am not sure if this will impact the final result in batch inference.
If it is using vLLM to serve underneath, it is likely due to an underlying problem inside vLLM. Gemma 2 models work fine with transformers using eager and flash_attention_2 (not FSDP) as the attention implementation.

BTW, here is the evaluation results of Llama
llama-3.1-8b-instruct

Auto

Tasks
Version
Filter
n-shot
Metric

Value

Stderr

ifeval
2
none
0
inst_level_loose_acc
↑
0.6223
±
N/A

none
0
inst_level_strict_acc
↑
0.5935
±
N/A

none
0
prompt_level_loose_acc
↑
0.4843
±
0.0215

none
0
prompt_level_strict_acc
↑
0.4455
±
0.0214

Batch size 32

hf (pretrained=meta-llama/Meta-Llama-3.1-8B-Instruct), gen_kwargs: (None), limit: None, num_fewshot: None, batch_size: 32

Tasks
Version
Filter
n-shot
Metric

Value

Stderr

ifeval
2
none
0
inst_level_loose_acc
↑
0.6163
±
N/A

none
0
inst_level_strict_acc
↑
0.5815
±
N/A

none
0
prompt_level_loose_acc
↑
0.4861
±
0.0215

none
0
prompt_level_strict_acc
↑
0.4399
±
0.0214

@tanliboy Can't seem to reproduce the issue. I used:
accelerate launch lm_eval -model hf --model_args pretrained=google/gemma-2-9b-it,attn_implementation=flash_attention_2  --tasks ifeval -b 16
hf (pretrained=google/gemma-2-9b-it,attn_implementation=flash_attention_2), gen_kwargs: (None), limit: None, num_fewshot: None, batch_size: 16

Tasks
Version
Filter
n-shot
Metric

Value

Stderr

ifeval
3
none
0
inst_level_loose_acc
↑
0.7554
±
N/A

none
0
inst_level_strict_acc
↑
0.7482
±
N/A

none
0
prompt_level_loose_acc
↑
0.6710
±
0.0202

none
0
prompt_level_strict_acc
↑
0.6617
±
0.0204

Maybe a dependency issue? Could you try in a new environment?

@baberabb I found that flash attention wasn't installed during my evaluation. So I tested the evaluation with and without flash_attn installed using the same command:
accelerate launch lm_eval --model hf --model_args pretrained=google/gemma-2-9b-it  --tasks ifeval --batch_size 16/32

A) With flash attention installed:
hf (pretrained=google/gemma-2-9b-it,attn_implementation=eager), gen_kwargs: (None), limit: None, num_fewshot: None, batch_size: 16

Tasks
Version
Filter
n-shot
Metric

Value

Stderr

ifeval
3
none
0
inst_level_loose_acc
↑
0.7662
±
N/A

none
0
inst_level_strict_acc
↑
0.7578
±
N/A

none
0
prompt_level_loose_acc
↑
0.6821
±
0.0200

none
0
prompt_level_strict_acc
↑
0.6710
±
0.0202

B) Without flash attention installed (after pip uninstall flash_attn)
hf (pretrained=google/gemma-2-9b-it), gen_kwargs: (None), limit: None, num_fewshot: None, batch_size: 32

Tasks
Version
Filter
n-shot
Metric

Value

Stderr

ifeval
3
none
0
inst_level_loose_acc
↑
0.0528
±
N/A

none
0
inst_level_strict_acc
↑
0.0528
±
N/A

none
0
prompt_level_loose_acc
↑
0.0462
±
0.0090

none
0
prompt_level_strict_acc
↑
0.0462
±
0.0090

It seems that the default flash attention implementation might be the root cause. Could you confirm whether we use FSDP for attention during batch inference when flash attention isn't available?
We can close this issue given it is not a problem with specified attention implementation.

Hi FSDP isn't actually supported in our library. accelerate launch runs model parallel by creating a replica on each GPU and splitting the data. From the readme:

WARNING: This setup does not work with FSDP model sharding, so in accelerate config FSDP must be disabled, or the NO_SHARD FSDP option must be used.


Adding Footer to the Website

@abhijeetnishal There is no Footer in the Website.
As Site which are having footer looks good and also helps user to find different Links

Hey @imkeertiag, this feature will be added by issue #70
Contribute to other issues, good luck.


Fixes #168 Updated the entire Awards Section

FIXES
This PR fixes the issue #168 .
DESCRIPTION:-
This PR does the following making changes in a number of files:-

Updates the models.py of the awards app in the applications folder to incorporate  the image field
image = models.ImageField(upload_to='awards/images/', null=True, blank=True) and also incorporate the received_by field
   received_by = models.CharField(max_length=255, null=True, blank=True)

Updates the views.py file in the same location, to display a limited portion of each award in the All Awards page or the index.html page and other fixes.

Updates the urls.py file in the same location to incorporate double-digit ids as well instead o ids ranging from [0-9] only.

Updates the award.html file so that the image can be displayed, received_by attribute be displayed and the whole content too. Lastly UI fixes.

Updates the index.html file so that all the awards are displayed in an orderly fashion with images right aligned and the description if too long contains a gist of the original content. Lastly UI fixes.

PROOF OF WORK:-
PORTION 1
https://github.com/BitByte-TPC/alumni/assets/136831315/10e3d3d9-27b1-4e47-8b11-03f3bd379845
This video shows two essential fixes:-

The image attribute is added in the model and successful image upload is taking place.
The received_by attribute is added as well in the model and name can be added as to who received the award which in turn is displayed in the list of awards(index.html) and individual award page(award.html) with a proper icon.
In the award list page(index.html) the images will be right aligned to maintain the UI of how the awards are displayed. Similarly awards with no images will display no image. In award.html or the individual award page the images will be left aligned if there is any image uploaded, if not nothing gets displayed and only the listed award is shown.

These two images show the image displayed both in the index.html page with all the awards, and in the award.html page where only the specified award is displayed.
PORTION 2
https://github.com/BitByte-TPC/alumni/assets/136831315/743632db-7f30-4ec5-a039-d070d716abe1
This video shows the fix:-

Instead of a large chunk of text in the description, it will trim off the receding portion displaying just a segment of the portion in the preview region in the index.html page in contrary to the screenshot provided in the issue where the entire description is getting displayed without any trim.

https://github.com/BitByte-TPC/alumni/assets/136831315/bbf3ff16-a906-4ab1-8bf7-bdb2313e8230
This video is in accordance with the previous video showing that while in the award-list page or the index.html page the long text gets trimmed to a smaller chunk and when the corresponding award page of that particular award(award.html) page is opened, the entire text is displayed properly.
The UI too has been fixed accordingly.
Thank You.

@ritankarsaha Good effort. Here are a few suggestions from my side :

Instead of one long connected box with all awards, try making all those awards as separate boxes. Right now they all are in a single box separated by dashes.
The image is to be resized. Right now, if we put a long image, the card doesn't look right. Refer models of gallery for an idea.

Right now you are only showing the first 50 words of the desc, but from the third person perspective it doesn't seem like there is still description left. Take the cut portion of your desc and add three dots in the end like '...' to show that there is still desc left.
When you make different boxes for awards as suggested in first point, add a feature such that when the user clicks an award box, then the user will be redirected to that respective awards page.
On the detailed awards page, the issue of long description still persists. So what you can do is add a max_length of 2000 words in the model for desc.

@SamakshAgarwal1112 Updated the changes as deemed.

@SamakshAgarwal1112 Made the changes in the models.py  for trimming and added ProcessedImageField for image resizing

@ritankarsaha Great work! Last few tweaks though! Resize the image to 300x300. And center align the image in both, index and specific awards page.

@SamakshAgarwal1112 Made the changes and pushed new commits into the PR

@ritankarsaha LGTM. Well done.


date-to-string and function-to-string checkers

Hi,
Could you please explain how the date-to-string and function-to-string  checkers work?
I mean, from the code it seems that when the Devtools is open the "log" should call them twice (because the code checks "==2").
But I tried with console open and it is called only once, so the counter is 1 and never gets to 2.
BTW- I apologize if this is not the right place to leave this question but I couldn't find any thread for posting questions :))

This is because in the old chrome kernel it will be executed twice


Looping when asked to "play the news"

Process to reproduce on Pi 3B+
Boot image https://downloads.openvoiceos.com/images/raspbian/raspbian-ovos-dev.zip
04-Apr-2023 15:42<PHONE_NUMBER>.
Start ovos-cli-client - returns message "Connected to Messagebus!"
ask "what time is it" and the system returns and speaks the correct time
ask "play the news" and the system loops:
Apr  7 18:52:41 raspOvos ovos-systemd-audio[721]: 2023-04-07 18:52:41.335 - audio - ovos_plugin_common_play.ocp.player:handle_player_media_update:557 - INFO - MediaState changed: <MediaState.NO_MEDIA: 1>
Apr  7 18:52:46 raspOvos ovos-systemd-audio[721]: 2023-04-07 18:52:46.212 - audio - ovos_plugin_common_play.ocp.media:handle_track_state_change:355 - INFO - TrackState changed: <TrackState.PLAYING_AUDIOSERVICE: 21>
Apr  7 18:52:46 raspOvos ovos-systemd-audio[721]: 2023-04-07 18:52:46.310 - audio - ovos_plugin_common_play.ocp.player:handle_player_media_update:557 - INFO - MediaState changed: <MediaState.LOADED_MEDIA: 3>
Apr  7 18:52:46 raspOvos ovos-systemd-audio[721]: 2023-04-07 18:52:46.391 - audio - ovos_plugin_common_play.ocp.media:handle_track_state_change:355 - INFO - TrackState changed: <TrackState.QUEUED_AUDIOSERVICE: 31>
Apr  7 18:52:46 raspOvos ovos-systemd-audio[721]: 2023-04-07 18:52:46.430 - audio - mycroft.audio.audioservice:_stop:230 - INFO - END Stop
Apr  7 18:52:51 raspOvos ovos-systemd-audio[721]: 2023-04-07 18:52:51.275 - audio - ovos_plugin_common_play.ocp.media:handle_track_state_change:355 - INFO - TrackState changed: <TrackState.PLAYING_AUDIOSERVICE: 21>
Apr  7 18:52:51 raspOvos ovos-systemd-audio[721]: 2023-04-07 18:52:51.360 - audio - ovos_plugin_common_play.ocp.player:handle_player_media_update:557 - INFO - MediaState changed: <MediaState.LOADED_MEDIA: 3>
Apr  7 18:52:51 raspOvos ovos-systemd-audio[721]: 2023-04-07 18:52:51.383 - audio - ovos_plugin_common_play.ocp.media:handle_track_state_change:355 - INFO - TrackState changed: <TrackState.QUEUED_AUDIOSERVICE: 31>
Apr  7 18:52:51 raspOvos ovos-systemd-audio[721]: 2023-04-07 18:52:51.456 - audio - ovos_plugin_common_play.ocp.player:handle_player_media_update:557 - INFO - MediaState changed: <MediaState.NO_MEDIA: 1>
Apr  7 18:52:51 raspOvos ovos-systemd-audio[721]: 2023-04-07 18:52:51.482 - audio - mycroft.audio.audioservice:_stop:230 - INFO - END Stop

I have seen this issue also, with everything OCP, not just the news. There are several updates being made to ocp now, and I will update the image with the new version soon. You can try updating it manually and see if that helps. Any feed back would help. Both with ocp, and knowing when to update it in the image

Here is how the looping starts... Beginning with the answer to the time query. Note the bolded error.  In ovos_plugin_common_play/ocp/player.py, in line 287 the available backends array is empty.
Apr  9 21:09:12 raspOvos ovos-systemd-skills[729]: Error loading json '/home/ovos/.config/mycroft/skills/skill-caffeinewiz.neongeckocom/settings.json'
Apr  9 21:09:12 raspOvos ovos-systemd-skills[729]: JSONDecodeError('Expecting value: line 1 column 1 (char 0)')
Apr  9 21:09:13 raspOvos ovos-systemd-skills[729]: 2023-04-09 21:09:13.022 - skills - mycroft.skills.settings:upload:178 - ERROR - Device needs to be paired to upload settings
Apr  9 21:09:13 raspOvos ovos-systemd-audio[727]: 2023-04-09 21:09:13.378 - audio - mycroft.audio.service:execute_tts:309 - INFO - Speak: It is nine oh nine
Apr  9 21:09:13 raspOvos ovos-systemd-audio[727]: 2023-04-09 21:09:13.469 - audio - ovos_tts_plugin_mimic3_server:_validate_args_combo:93 - WARNING - lang defined twice! choosing en_GB over en_US for voice: en_UK/apope_low
Apr  9 21:09:18 raspOvos systemd-timesyncd[285]: Timed out waiting for reply from <IP_ADDRESS>:123 (2.debian.pool.ntp.org).
Apr  9 21:09:28 raspOvos systemd-timesyncd[285]: Timed out waiting for reply from <IP_ADDRESS>:123 (3.debian.pool.ntp.org).
Apr  9 21:09:28 raspOvos systemd-timesyncd[285]: Initial synchronization to time server <IP_ADDRESS>:123 (3.debian.pool.ntp.org).
Apr  9 21:09:36 raspOvos ovos-systemd-phal[728]: 2023-04-09 21:09:36.267 - OVOS - ovos_bus_client.session:reset_default_session:171 - INFO - New Default Session Start: 541e2c55-4c25-496e-b7f6-636430bc2792
Apr  9 21:10:08 raspOvos ovos-systemd-audio[727]: 2023-04-09 21:10:08.201 - audio - ovos_plugin_common_play.ocp:classify_media:212 - INFO - OVOSCommonPlay MediaType prediction: {'entities': {'query': 'the'}, 'conf': 0.9, 'name': 'news'}
Apr  9 21:10:08 raspOvos ovos-systemd-audio[727]: 2023-04-09 21:10:08.455 - audio - ovos_bus_client.session:reset_default_session:171 - INFO - New Default Session Start: 00d85a20-90e2-4377-8417-4bf6832b1b33
Apr  9 21:10:17 raspOvos ovos-systemd-audio[727]: 2023-04-09 21:10:17.508 - audio - ovos_plugin_common_play.ocp:_search:377 - INFO - unable to use GUI, filtering non-audio results
Apr  9 21:10:21 raspOvos ovos-systemd-audio[727]: 2023-04-09 21:10:21.751 - audio - ovos_plugin_common_play.ocp.media:extract_stream:461 - INFO - OCP plugins metadata: {'duration': '2891966', 'uri': 'https://api.spreaker.com/download/episode/25675659/7559816.mp3'}
Apr  9 21:10:31 raspOvos ovos-systemd-audio[727]: 2023-04-09 21:10:31.090 - audio - ovos_plugin_common_play.ocp.player:_get_preferred_audio_backend:375 - ERROR - Preferred audio service backend not installed
Apr  9 21:10:34 raspOvos ovos-systemd-audio[727]: 2023-04-09 21:10:34.482 - audio - mycroft.audio.audioservice:_stop:230 - INFO - END Stop
Apr  9 21:10:34 raspOvos ovos-systemd-audio[727]: 2023-04-09 21:10:34.653 - audio - ovos_plugin_common_play.ocp.media:handle_track_state_change:512 - INFO - TrackState changed: <TrackState.PLAYING_AUDIOSERVICE: 21>
Apr  9 21:10:34 raspOvos ovos-systemd-audio[727]: 2023-04-09 21:10:34.729 - audio - ovos_plugin_common_play.ocp.media:handle_track_state_change:512 - INFO - TrackState changed: <TrackState.QUEUED_AUDIOSERVICE: 31>
Apr  9 21:10:35 raspOvos ovos-systemd-audio[727]: 2023-04-09 21:10:35.716 - audio - ovos_plugin_common_play.ocp.media:extract_stream:461 - INFO - OCP plugins metadata: {'uri': 'https://api.spreaker.com/download/episode/25675659/7559816.mp3'}
Apr  9 21:10:41 raspOvos ovos-systemd-audio[727]: 2023-04-09 21:10:41.706 - audio - ovos_plugin_common_play.ocp.media:handle_track_state_change:512 - INFO - TrackState changed: <TrackState.PLAYING_AUDIOSERVICE: 21>
Apr  9 21:10:41 raspOvos ovos-systemd-audio[727]: 2023-04-09 21:10:41.862 - audio - ovos_plugin_common_play.ocp.media:handle_track_state_change:512 - INFO - TrackState changed: <TrackState.QUEUED_AUDIOSERVICE: 31>
Apr  9 21:10:41 raspOvos ovos-systemd-audio[727]: 2023-04-09 21:10:41.957 - audio - mycroft.audio.audioservice:_stop:230 - INFO - END Stop

Did you update OCP?  pip install -U git+https://github.com/OpenVoiceOS/ovos-ocp-audio-plugin.git
The preferred audio service not installed is strange.  I know vlc is installed, and that is the first in the list that OCP checks.  Are these logs from ~/.local/state/mycroft/audio.log
can you add this to your ~/.config/mycroft/mycroft.conf file
{
  "log_level": "DEBUG"
}

and restart/reboot.    I am not sure this is a raspbian issue, but rather an OCP issue?  Lets see if we can debug a little more before passing the buck.  It could be that the RPI3 needs more time to process before deciding that the stream is no good.
I know that I have had the looping issue also, and it was suggested to let it wait longer.
I am working on shrinking and optimizing this image, so maybe it will have more resources to use with OCP.

This is still an issue, maybe @JarbasAl has a suggestion on how to fix this

And I am not sure this is an issue with this image.  I just tested on a pi4 and got the same results as a pi3.  Not sure its the delay, because OCP shows a high match and is stopping the search early.  try's to start playing and goes into the loop.  also hey mycroft "stop" or hey mycroft "stop playing" do not stop the loop

I think this has been fixed, can someone verify?

Look for an answer by 2/26 or so. Thanks.

"Play the news" still loops.  I'm looking into OCP to see if there is some assumed package I don't have.  Below is what I'm seeing in journalctl:
ovos_plugin_common_play.ocp.media:extract_stream:174 - INFO - OCP plugins metadata: {'uri': 'http://video.news.sky.>
ovos_plugin_common_play.ocp.media:handle_track_state_change:225 - INFO - TrackState changed: <TrackState.PLAYING_AU>
ovos_plugin_common_play.ocp.media:handle_track_state_change:225 - INFO - TrackState changed: <TrackState.QUEUED_AUD>
ovos_audio.audio:_stop:257 - INFO - END Stop
ovos_plugin_common_play.ocp.player:play:384 - INFO - Requested playback with mpris not stopped
ovos_plugin_common_play.ocp.media:extract_stream:174 - INFO - OCP plugins metadata: {'uri': 'http://video.news.sky.>
ovos_plugin_common_play.ocp.media:handle_track_state_change:225 - INFO - TrackState changed: <TrackState.PLAYING_AU>
ovos_plugin_common_play.ocp.media:handle_track_state_change:225 - INFO - TrackState changed: <TrackState.QUEUED_AUD>
ovos_audio.audio:_stop:257 - INFO - END Stop
ovos_plugin_common_play.ocp.media:extract_stream:174 - INFO - OCP plugins metadata: {'uri': 'http://video.news.sky.>
ovos_plugin_common_play.ocp.media:handle_track_state_change:225 - INFO - TrackState changed: <TrackState.PLAYING_AU>
ovos_plugin_common_play.ocp.media:handle_track_state_change:225 - INFO - TrackState changed: <TrackState.QUEUED_AUD>
ovos_audio.audio:_stop:257 - INFO - END Stop
ovos_plugin_common_play.ocp.media:extract_stream:174 - INFO - OCP plugins metadata: {'uri': 'http://video.news.sky.>
ovos_plugin_common_play.ocp.media:handle_track_state_change:225 - INFO - TrackState changed: <TrackState.PLAYING_AU>
ovos_plugin_common_play.ocp.media:handle_track_state_change:225 - INFO - TrackState changed: <TrackState.QUEUED_AUD>
ovos_audio.audio:_stop:257 - INFO - END Stop
ovos_plugin_common_play.ocp.media:extract_stream:174 - INFO - OCP plugins metadata: {'uri': 'http://video.news.sky.>
ovos_plugin_common_play.ocp.media:handle_track_state_change:225 - INFO - TrackState changed: <TrackState.PLAYING_AU>
ovos_plugin_common_play.ocp.media:handle_track_state_change:225 - INFO - TrackState changed: <TrackState.QUEUED_AUD>
ovos_plugin_common_play.ocp.media:extract_stream:174 - INFO - OCP plugins metadata: {'uri': 'http://video.news.sky.>
ovos_audio.audio:_stop:257 - INFO - END Stop

I believe someone has solved this in the OCP repository. I will try to implement and let you know.

I will be switching to ovos-media soon, so maybe leave this open until then?

Works for me. The additional documentation that closed the issue is now a dead link. Thanks!

Thank you.  My first try adding the Audio section had no effect.  I'll keep tinkering with it.  I also saw this line and wondered if "disable_mpris": True isn't already set.
Let me boil this down for a while before you put in any more effort.


UVI Request

--- UVI JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from v4.17 to before v5.4.157",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=c46234ebb4d1eee5e09819f49169e51cfc6eb909",
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e0cfd5159f314d6b304d030363650b06a2299cbb"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "c46234ebb4d1eee5e09819f49169e51cfc6eb909",
      "note": "introduced"
    },
    {
      "type": "commit",
      "value": "e0cfd5159f314d6b304d030363650b06a2299cbb",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "net/tls: Fix flipped sign in tls_err_abort() calls\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.4.157 by commit e0cfd5159f314d6b304d030363650b06a2299cbb, it was introduced in version v4.17 by commit c46234ebb4d1eee5e09819f49169e51cfc6eb909. For more details please see the references link."
}
--- UVI JSON ---

This issue has been assigned UVI-2021-1002016


[bug 1048462] Update some requirements to pinned versions.

This updates the requirements that already matched released versions
to use pypi pinned versions instead of github URLs.
There are still a dozen or so github URLs that need to be sorted out.
r?

I created a new vagrant environment while I was working on some other things and then ran the tests with this and everything seems fine, so I think we're good!

ac35deb [bug 1048462] Update some requirements to pinned versions.


State-wise spread trends

The states in India have become pretty much isolated from each other, post lockdown - essentially making them different communities/entities combating Covid-19. Also different states are deploying different strategies and measures in combating Covid - like intensity of testing, quarantine, patient contact tracking etc.
Hence, the countrywide "SPREAD TRENDS" chart doesn't give a meaningful indication of the spread of Covid-19 or the effectiveness of mitigation measures anymore.
So It'll be great if we can also generate this "SPREAD TRENDS" chart for each individual states, as they form separate entities now, since the lockdown.

@mohammedshafeeqet
Need statewise cases time series for plotting this.
A Google script to comput the Confirmed, Recovered, Deceased, Active values for all states at 00:01 hours should do the trick?

Can we do a thing as when we hover to a state it shows most affect city in that state??
It could possible spread more awareness among for where not to go in this situation

Here is an example current state-wise charts, with wide difference in trends across states. Will be really great if we have updated state-wise charts here on this site.
https://www.thehindu.com/data/covid-19-state-wise-tracker-for-coronavirus-cases-deaths-and-testing-rates/article31248444.ece?homepage=true

Closing this since #80 was raised.


Feature/cards

Coverage increased (+2.9%) to 81.707% when pulling d4fa32e724e631ae018034f1c0e84ab64ae04d06 on feature/cards into 12bd9aa38a9353a5c822023eda085bfe623f28b1 on V2.


[Bug] Item is number

Hi, i found 1 more issue, the recent event there item Duck Norris Meme 1 to 20 and it not detecting it in my inventory

Unfortunately can't do nothing about it as "https://account.aq.com/AQW/Inventory" just doesn't detect these items

, it is not even visible on https://account.aq.com/CharPage

, not my fault for no detection as it is not present in AQ system for that item...
(I also have it in my inventory)

Sorry can't repair what's not broken by me, needs to be reported AQW developers as bug (Will do that)

Ahh i see. Thanks for your awesome extension!


Daemon: PolicyAdd refactoring

Deleted the function daemon.policyAdd() that didn't use correctly the
error because repository.AddListLocked didn't return a error at all.
Signed-off-by: Eloy Coto<EMAIL_ADDRESS>

This change is

test-me-please

Kafka DNS issue: https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/5650/

test-me-please

Jenkins issue with slave agent:
https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/5669/console

test-me-please

test-me-please

Kafka issue.

test-me-please


Ignore improperly formatted statements instead of throwing error

I've added call to messageformat as part of my own existing string.format utility function and I'm getting errors for some content.  One such scenario is when calling the function on dynamically loaded markup with embedded javascript and, in this case, a regex statement such as: "[^A-Z]{4,}".  It seems that messageformat is encountering the {4,}, deciding it has work to do, but failing to parse and throwing a fit.  I can wrap this with a try/catch (as I've done for now), but it probably makes more sense for messageformat to ignore malformed statements.

Hmm, I like both situations for different reasons. I prefer error/breakages in dev, but I can see how that's more or less unhelpful in production (as long you can report somehow).
What if we added a hook for these types of errors, and they'll throw errors if you don't register anything, and call your hook if you do. (however, the underlying logic will likely still be a try/catch... if I had to guess)

What do you envision being the purpose of the hook?  Would it pass the statement for manual verification or something?
What about an option on either the instance of MessageFormat or the result of compile(): thing.SuppressMalformedStatementErrors = true/false?
Or, assuming there will be other error types:
thing.SuppressErrors(MessageFormat.ErrorTypes.MalformedStatement | ...);

Disclaimer: I'm not condoning swallowing errors, simply a means of avoiding having messageformat throw errors under an assumption (ie: "anything using curly braces is my plaything").

Oh, I think you should fix (escape in this case) malformed messages. I think the errors help you find out about that, but it isn't worth killing an entire page render for one bad label. The hook would allow you to report breakages back to your servers (via sentry or whatever) without destroying the render of other things.

(In other words, "brackets are my playthings" is a hard truth in messageformat, and we probably won't change that since we strive for interoperability with other implementations) ((much like there are reserved characters in other grammars... like your regex))

Fundamentally, it's probably a problem if you're passing a string of input to MessageFormat that has some {...} content that should be parsed, and some that should not; swallowing the errors at any point is rather likely to eventually lead to broken output that may be difficult to then detect.
Rather than making it easier to hide the errors, maybe we should make it easier to avoid them? For instance, we probably should provide a method like MessageFormat.escape() that'd add the expected \ prefixes to all {}# characters.
Furthermore, we could also consider allowing the start and end delimiters to be optionally doubled, so you'd need to use {{ mfVar }} rather than { mfVar }. I'm not quite sure exactly how yet, but the parser ought to be modifiable for that. Its current char class and/or the token class would need to be expanded a bit to allow the un-escaped and un-doubled {{ and }} to pass through.

Closing this as fixed by MessageFormat.escape().


server: Add Windows console control handler

What does this Pull Request accomplish?
Add a Windows console control handler. This enables the server to shut down cleanly on Windows, in some circumstances.

Note In Task Manager, selecting End task for the ni_grpc_device_server.exe process or the MeasurementLink discovery service process does not seem to shut down the server cleanly. I'm not sure whether using a hidden window to listen for WM_CLOSE would help.

Why should this Pull Request be merged?
This is optional part 5 of a fix for #936
What testing has been done?
Manually tested ctrl-C, closing console window, and selecting End task in Task Manager.

This system test timeout is unrelated to this PR, since the system tests do not exercise core_server.cpp
Fri, 09 Jun 2023 15:45:30 GMT
Run .\SystemTestsRunner.exe
Fri, 09 Jun 2023 15:[4](https://github.com/ni/grpc-device/actions/runs/5222830485/jobs/9430650506?pr=945#step:4:5)5:34 GMT
[==========] Running 591 tests from 58 test suites.
...
Fri, 09 Jun 2023 16:12:22 GMT
[ RUN      ] IndependentResourceInitTestCases/NiRFmxSpecAnDriverApiIndependentResourceInitTests.InitializeTwoSessionsWithDifferentResources_ForceCloseOne_OtherIsStillValid/specan1_specan2__specan3_specan4
Fri, 09 Jun 2023 16:12:46 GMT
Error: The action has timed out.


Qustion about SFT

Hello, I have a model of llama that has been fine-tuned using my own dataset. Is it possible for me to compress the fine-tuned llama model and will the accuracy drop due to my fine-tuning?

I mean, is it possible that I perform AWQ search again and will get better performance?

I mean, is it possible that I perform AWQ search again and will get better performance?

hi, I have similar issue. Do you have any progress?

Hello, I have a model of llama that has been fine-tuned using my own dataset. Is it possible for me to compress the fine-tuned llama model and will the accuracy drop due to my fine-tuning?

No, I used another method of compressing the model(SpQR), so I didn't use this one

Hello, I have a model of llama that has been fine-tuned using my own dataset. Is it possible for me to compress the fine-tuned llama model and will the accuracy drop due to my fine-tuning?

No, I used another method of compressing the model(SpQR), so I didn't use this one

Did SpQR achieve good results ?  btw, I heard that SpQR doesn't have the corresponding CUDA kernel implemented.

Hello, I have a model of llama that has been fine-tuned using my own dataset. Is it possible for me to compress the fine-tuned llama model and will the accuracy drop due to my fine-tuning?

No, I used another method of compressing the model(SpQR), so I didn't use this one

Did SpQR achieve good results ? btw, I heard that SpQR doesn't have the corresponding CUDA kernel implemented.

spqr looks ok from the score (my application scenario doesn't require the implementation of a cuda kernel). Maybe we can communicate by e-mail or WeChat.

Hello, I have a model of llama that has been fine-tuned using my own dataset. Is it possible for me to compress the fine-tuned llama model and will the accuracy drop due to my fine-tuning?

No, I used another method of compressing the model(SpQR), so I didn't use this one

Did SpQR achieve good results ? btw, I heard that SpQR doesn't have the corresponding CUDA kernel implemented.

spqr looks ok from the score (my application scenario doesn't require the implementation of a cuda kernel). Maybe we can communicate by e-mail or WeChat.

Sure, My WeChat  is all lowercase words of my github nickname.


Fix enum alignment loss bug.

Fix enum alignment loss bug
Description
Enums were represented as packed structs with manual filling because without filling they would not move the data of the non-default variants. By making them packed they lost their alignment making the de/serialization fail in some cases when within structs.
This PR fixes it by making the enums non-packed again while keeping their manually added padding. It also fixes integer alignment bugs, which resurfaced when letting LLVM align the fields automatically again.
Checklist

[ ] Linked to Github Issue
[ ] Unit tests added
[ ] Integration tests added.
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.

Codecov Report

Merging #236 (e9d2c0c) into main (9ee8221) will decrease coverage by 0.06%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #236      +/-   ##
==========================================
- Coverage   81.06%   81.00%   -0.06%
==========================================
  Files          91       91
  Lines       10617    10626       +9
==========================================
+ Hits         8607     8608       +1
- Misses       2010     2018       +8

Impacted Files
Coverage Δ

src/libfuncs/enum.rs
98.59% <100.00%> (ø)

src/types/enum.rs
100.00% <100.00%> (ø)

src/utils.rs
87.44% <100.00%> (-3.10%)
:arrow_down:

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


Right way to use only TF score for ranking

I am trying to use a custom scoring function instead of the default BM25. For example, I wish to turn off IDF and only use the numerator in the BM25 score. What's the best way to achieve that? Would I need to write some custom struct that replaces BM25?

Hello @snakeztc. Custom similarity has been requested a couple of times, but so far it was more motivated by a will to contribute than an actual use case.
What is your actual use case?

What I am looking for is a way to customize the score of each term in a document. Different TF-IDF or BM25, which compute the score of a term in a document using a fixed formula, recent neural ranking method, like DeepCT) or SPARTA use ML models to predict the score of a term.
Therefore, what I try to achieve is to set the score of a term in a document via inputs, instead of let the index compute it. I have created a temporal fix in my own repo (not very elegant maybe). It's done by changing PreTokStr data structure.
It would be great if you can support it relatively fast in the main repo. Thanks!

Sorry I need to read about DeepCT in detail before we can iterator on this PR.

Alright. it's essentially set the score(doc, term) by a model, instead of depends on BM25 or TF-IDF. Then it's used as a Inverted Index with posting list as normal.

I believe this is Lucene's approach: https://issues.apache.org/jira/browse/LUCENE-7854


QML error

When I follow QML creation instructions, I get this error when opening the page that contains Store{}
 qrc:/Src/QML/Subscription/SubscribtionsMain.qml:324:13: Type TheStore unavailable W Gravi   : qrc:/Src/QML/Subscription/TheStore.qml:7:3: Cannot assign object to list property "productsQml"

Hi Mohammad,
thanks for taking such an interest in this repo. Unfortunately I must tell you that I won't be much help with any issues. I haven't touched the repo in over two years now, or Qt for that matter. I am not using it anymore myself and I don't know how Qt and the purchasing thing in it has evolved in that time.
So please regard this as a starting point for your own journey, more than a ready made solution. I hope this can still be useful to you.
Best of luckl


please add more levels

I get kind of addicted to that. Please make more of it!

I'm afraid that not planning on continuing development on this game, but the level formats should be easy to understand and extend if you want to add your own! https://github.com/danprince/norman-the-necromancer/blob/5db8ca88c8038b3d0888addaa521a16db3c259a8/src/levels.ts#L63-L126


resize grid cells with fractions

currently the class will accept a few fractions as strings to resize the cells (i.e. '1/2', '1/4') - probably need to evaluate fractions and convert to a float or int so that more fractions could be used (such as '1/10'.

Request from nawqa group to add at least 1/10. I will work on and update... needed to add this as a reminder to myself

cool. and note that floats work - so if you use fac=0.1, it should be fine.

We an close this, you may need to because you opened it?


Make Java 8 required to run Mojito

The main reason is to be able to move to Spring 2.x (doesn't support Java 7). It would also be nice to be able to use java new features. Also Spring 1.x doesn't support new Java version (9 & 10) so moving forward we want to upgrade.
@jeeyi @ehoogerbeets Last time we talked about it, the blocker was that Mojito is deployed on Java 7 at Box. Please let me know if you could upgrade? Thanks!!

We are on Java 8 now, so we should be okay.

We are on Java 8 on dev but not on prod. Let me see where I can update that.

I will work on it in this sprint 🍺

Done - https://github.com/box/mojito/pull/353 😄


Loading validation into Stage

Is there any way to load the validation report straight from the ftp.wwPDB site, or do I must have a local copy ?

Got it, in case anyone has the same problem. Example for PDB 3pqr
NGL.autoLoad("//ftp.rcsb.org/pub/pdb/validation_reports/pq/3pqr/3pqr_validation.xml.gz", { ext: "validation" })

Great that you solved it and thanks for posting your solution here!


Intelligently load polyfills

Feature Request
- [ ] bug report -> please search issues before submitting
- [x] feature request

Versions.
future
Desired functionality.
Apologies if this already tracked somewhere I couldn't find it/
At the moment all polyfills are loaded into all browsers, it would be awesome if we could only load the polyfills that are needed by the browser the app is running in. This would help will smaller overall payload size for more modern browsers and keep legacy browsers working without having to manually manage the polyfills.ts file.
Additional information
Article for reference: https://philipwalton.com/articles/loading-polyfills-only-when-needed/
Initial thoughts

a script could be inlined (maybe) to load the polyfills that we know for sure angular requires
the initial bootstrapping would need to wait until the polyfills were loaded or even better, not loaded. (reference bottom of the referenced article)
polyfills.ts would still exist but would only be used to load zone.js and additional polyfills that the user wants to add.

I don't think there's another issue for this, but I remember @clydin was investigating possible ways of implementing it.

How about something like https://polyfill.io/v2/docs/ ?

@hccampos that's definitely an option, but it's something that one use right now with no changes to the CLI.
A cool thing to do would be to solve this issue and https://github.com/angular/angular-cli/issues/2907 at once via a .browserlist-like approach (https://github.com/angular/angular-cli/issues/2907#issuecomment-303089765).

The only thing about using the polyfill.io website by default is that it won't work with systems without broad access to the internet. (I know that sounds weird but it's more common then you might think)

Philip Walton put out another article on a similar topic. I would be happy with his approach of one bundle for modern browsers and a legacy fallback script bundle.
Now that @2907 is resolved, is there a way to configure the CLI to do two separate builds and use the type="module" import for ES2015 and nomodule imports with a polyfill and ES5? Ideally the CLI would make the configuration simple but I'd be okay with something more complicated for now.

I also need this issue to be resolved.
I solved this issue myself according to Philip Walton's article and so in my workaround two different polyfills are prepared and polyfills.ts acts as a router to serve different polyfills for different browser targets :

polyfills.ts

import * as checkBrowser from 'check-browser';
let evergreenBrowser = checkBrowser({
    chrome: 49,
    firefox: 52,
    edge: 14,
    safari: 10
});

declare var System: any;

/** Import basic polyfills required by Angular itself */
import './polyfills.basic';

/** Import optional polyfills to target browsers */
if (!evergreenBrowser) {
    System.import('./polyfills.target');
}

polyfills.target.ts

/***************************************************************************************************
 * BROWSER POLYFILLS
 */

/** IE9, IE10 and IE11 requires all of the following polyfills. **/
import 'core-js/es6/symbol';
import 'core-js/es6/object';
import 'core-js/es6/function';
import 'core-js/es6/parse-int';
import 'core-js/es6/parse-float';
import 'core-js/es6/number';
import 'core-js/es6/math';
import 'core-js/es6/string';
import 'core-js/es6/date';
import 'core-js/es6/array';
import 'core-js/es6/regexp';
import 'core-js/es6/map';
import 'core-js/es6/set';

/** IE10 and IE11 requires the following for NgClass support on SVG elements */
import 'classlist.js';  // Run `yarn add classlist.js`.

/** IE10, IE11 and all Firefox browsers require the following to support `@angular/animation`. **/
/** ALREADY IMPORTED WITH POLYMER COMPONENTS */
// import 'web-animations-js';  // Run `yarn add web-animations-js`.

/***************************************************************************************************
 * APPLICATION IMPORTS
 */

/**
 * Date, currency, decimal and percent pipes.
 * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10
 */
import 'intl';  // Run `yarn add intl`.
/**
 * Need to import at least one locale-data with intl.
 */
import 'intl/locale-data/jsonp/en';

The workaround seems working perfectly, but recently I found a critical issue on IE (and plus on Edge probably), that is, my app cannot be loaded the very first time after IE cache is completely cleaned, and it can be loaded without problem after refreshing browser ~ similar with this issue: https://github.com/Polymer/polymer/issues/4760
So any suggestion on this?

If you do something like that, you need to delay the bootstrap until the
polyfills have been loaded.
On Sep 30, 2017 20:48, "first87"<EMAIL_ADDRESS>wrote:
I also need this issue to be resolved.
I solved this issue myself according to Philip Walton's article
https://philipwalton.com/articles/loading-polyfills-only-when-needed/ and
so in my workaround two different polyfills are prepared and polyfills.ts
acts as a router to serve different polyfills for different browser targets
:

polyfills.ts

import * as checkBrowser from 'check-browser';let evergreenBrowser =
checkBrowser({
chrome: 49,
firefox: 52,
edge: 14,
safari: 10
});
declare var System: any;
/** Import basic polyfills required by Angular itself /import
'./polyfills.basic';
/* Import optional polyfills to target browsers */if (!evergreenBrowser) {
System.import('./polyfills.target');
}

polyfills.target.ts

/***************************************************************************************************

BROWSER POLYFILLS /
/* IE9, IE10 and IE11 requires all of the following polyfills.
/import 'core-js/es6/symbol';import 'core-js/es6/object';import
'core-js/es6/function';import 'core-js/es6/parse-int';import
'core-js/es6/parse-float';import 'core-js/es6/number';import
'core-js/es6/math';import 'core-js/es6/string';import
'core-js/es6/date';import 'core-js/es6/array';import
'core-js/es6/regexp';import 'core-js/es6/map';import
'core-js/es6/set';
/ IE10 and IE11 requires the following for NgClass support on SVG
elements /import 'classlist.js';  // Run yarn add classlist.js.
/* IE10, IE11 and all Firefox browsers require the following to
support @angular/animation. // ALREADY IMPORTED WITH POLYMER
COMPONENTS */// import 'web-animations-js';  // Run yarn add web-animations-js.

/***************************************************************************************************

APPLICATION IMPORTS /
/* * Date, currency, decimal and percent pipes. * Needed for: All but
Chrome, Firefox, Edge, IE11 and Safari 10 /import 'intl';  // Run
yarn add intl./* * Need to import at least one locale-data with
intl. */import 'intl/locale-data/jsonp/en';

The workaround seems working perfectly, but recently I found a critical
issue on IE (and plus on Edge probably), that is, my app cannot be loaded
the very first time after IE cache is completely cleaned, and it can be
loaded without problem after refreshing browser ~ similar with this issue:
Polymer/polymer#4760 https://github.com/Polymer/polymer/issues/4760
So any suggestion on this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/angular/angular-cli/issues/6577#issuecomment-333328258,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADlcCn4igmftgMlURZ98iuRw53900aBcks5snoz2gaJpZM4Nv87Z
.

@hccampos Thank you for the update. But then how can I accomplish that?

I am also interested in this feature.

@first87 -- did you have luck with your approach from above? if so, can you share with me what you ended up with?

Here's a related issue for the nomodule approach: jantimon/html-webpack-plugin#782

See how angular.io website splits IE polyfills out..
Issue
Fix
Can something like this be implemented? It does not seem very difficult.

@cyrilletuzi also suggested (https://github.com/angular/angular-cli/issues/10337) using the browserlist file to determine whether to use ES5 or ES2015 should be used.

Inspiration could be taken from babel-present-env, which uses browserslist.

I would like es5BrowserSupport  be changed to legacyBrowserSupport  and let the user define an array of polyfills to be included. es5BrowserSupport is limited in my opinion.


UI update

Changed the UI of the extension, refined styles for better alignment and spacing.

I think you are addressing this here: https://github.com/grey-box/Project-Scraper/pull/13, so I am closing this pull request.


Allow updating textures in PostProcessStage

Similar to https://github.com/AnalyticalGraphicsInc/cesium/issues/5080, if you are passing a canvas as a uniform to a post process, it will not be updated even if the canvas changes. I believe this is by design, but there doesn't seem to be a way to explicitly update it with the public API.
This Sandcastle will draw a red/blue rectangle to a canvas, and it will force the PostProcessStage to re-create the texture with this private API hack:
stage._texturesToCreate.push({
            name: 'myTexture',
            source: document.querySelector('#customCanvas')
        });

We could make PostProcessStage handle setting it directly like this:
stage.uniforms.myTexture = document.querySelector('#customCanvas');

And it would behave as it does in the above Sandcastle. Doing this currently will crash because it expects that uniform to be a Cesium.Texture object at that point.
Came up on the forum.

@lilleyse can we tag this category - graphics and type - enhancement ?


Unable to start webhint. Ensure you are using the latest version of the hint package.

Environment (please complete the following information):

OS (e.g., Windows 10):
Extension version (e.g., 1.2.3):

Describe the bug:

Repro steps:

Expected behavior:

Additional context:

Do you have an old install of hint? Did you try updating it? When that happens, it is normally a clash of versions.


README example is incorrect

The following code example from the README's "configuration" section is incorrect:
<LiveToast.toast_group flash={@flash} connected={assigns[:socket] != nil} toast_class_fn={MyModule.toast_class_fn/1} />

I'm embarrassed to say it took me longer than it should have to find the issue. Corrected version:
<LiveToast.toast_group flash={@flash} connected={assigns[:socket] != nil} toast_class_fn={&MyModule.toast_class_fn/1} />

It is missing the & on the toast_class_fn. The error it was giving me was throwing me off.

Thank you Mark, sorry about that!

Fixed in: https://github.com/srcrip/live_toast/commit/67f7c5b03240ce5c09b4fbeffb3b096c5adc2217 and new docs deployed


Error Here

➜  crx npm create crx-hmr@latest
Need to install the following packages:
create-crx-hmr@latest
Ok to proceed? (y) y
TypeError: cp is not a function
at file:///Users/60/.npm/_npx/9132e763a8d90cf8/node_modules/create-crx-hmr/bin/cli.js:5:8

On windows, run command inside vscode terminal otherwise it doesn't work.
Also I plan to re-write this package from scratch. Launch crx-hmr as vscode extension with more modern feature like import map.


useEventCallback exported but not documented

useEventCallback is exported (https://github.com/juliencrn/usehooks-ts/blob/master/src/index.ts#L21-L22) but there is no clue about it in the docs. Don't know if it's exported by mistake and should be used only internally or it's just missing from the docs.

Good catch, it's an internal hook indeed, it shouldn't be exported from the index 👍


Fix Bug Causing Objects to Appear Behind Black Hole

Either by adding a BVH to the shader (will likely harm performance to some extent, but still no recursive calls, so probably faster than ray-tracing), or by additional post-processing passes  (potentially possible, but then would need to compare distance here which is at least equally and perhaps more complex than perform operation inside shader). More research needed to find best way to do this.

Attempted masking object inside of shader, which worked for the object itself, but the distortion around the black hole still acts as if the object is behind it. Leading me to believe BVH, and modifying the shader are not the best solution here. Going to try making a Scriptable Render Pipeline that renders objects further first, applies the effect, and then closer.


Aggregator App : Spring Integration header ID is required for persistence with REDIS

Hi all
When setting up persistence with REDIS, I get the error "Cannot store messages without an ID header". To resolve this, I have to manually add the property "spring.cloud.stream.kafka.default.consumer.standard-headers = both" to map the ID and TIMESTAMP headers of Spring Integration in Spring Kafka. As the Spring Integration header ID is required for persistence with REDIS, could this property be added automatically by the app (I looked for a while before finding the solution!)?
The version I am using is “2.4.0.RELEASE”.

Yes, we can do that as out-of-the-box feature providing the mentioned property as part of generated app via appropriate Maven plugin configuration in this project.
Something like:
<additionalAppProperties>
    <additionalAppProperty>spring.cloud.stream.kafka.default.consumer.standard-headers = both</additionalAppProperty>
</additionalAppProperties>


vconfig instruction

Could use li + csrw instructions to write vcfg, or have a vconfig instruction with an 8-bit vregcfg immediate field to enable setting a base configuration in a single instruction.

Don't vcfg need to configure vemaxw and vtypeen?

vemaxw[5:3]

By the way, may I ask what [5:3] means?

The vconfig is the current proposal does not write vemaxw or vtypeen (they should both be set before vconfig).
The [5:3] means a 3 bit slice of vemaxw. The first sentence in this section is an explanation: https://github.com/riscv/riscv-v-spec/blob/24d41e2adbd1557fbca10a42a6a068b140a46987/v-spec.adoc#211-vemaxw53

@colinschmidt

The vconfig is the current proposal does not write vemaxw or vtypeen (they should both be set before vconfig).

A bit tangential but now that you mention it... this makes sense given the limited immediate bits, but it means that in typical code one would still need two instructions for setting up the vector unit (vconfig + csrw vemaxw). Is the dedicated instruction even worth it then, compared to using just li + csrw (as was suggested before to expand the bits available for configuring the number of s/d/q registers)?

Its certainly worth thinking about how to make vconfig most useful, and we probably aren't quite there yet.
Its worth noting some implementations might most often be in a single vemaxw regime.
For example in RV32V keeping vemaxw at 8bit still enables you to configure the machine with registers up to XLEN with the single vconfig instruciton.

@colinschmidt Thanks for your reply! And the v-spec is more clear now ;)
May I ask two more questions?

Would the vconfig be a privileged instruction? If so, it may be wrapped a system call to use?

I am very curious about the scenario of such a number of configurations. If some libraries compiled for certain configuration and my program compiled for another,  does it means I need to call vconfig every function call?

@colinschmidt

The [5:3] means a 3 bit slice of vemaxw. The first sentence in this section is an explanation

Could I understand that [5:3] is the position of vemaxw in the vcfg CSR?

According to the inst-table.adoc and spec,
Why does vconfig need vd, vs1 and even mask ?

Does li + csrw update the MAXVL and initialize VL CSR? Is li + csrw able to configure the different configuration out of vfastcfg?

Yes li + csrw sets MAXVL and initializes VL to MAXVL.
li a0, CONFIG
csrw vcfg, a0

The instruction sequence above writes to vcfg which contains the fields, vregmax, vregd, and vregq, vsew and vtypeen. These fields enable all configurations available in the base and therefore are a superset of the vfastcfg configurations.


plexus-form is abandoned

Was: GitLab #76
See plexus-form up for adoption
We do rely on it. Not sure if I fancy adopting it, but we should keep an eye on any other forks out there.

Supposed to be continued here: https://github.com/ismaelga/react-json-editor


Re-order functions in stats_impl to group classes together

Description: stats_impl.cc/h is actually about 4 or 5 different classes. They arguably should be split
into different files. However, at least the functions implementing each class should be grouped together.
Follow-up to #3710
Risk Level: Low
Testing: //test/...
Docs Changes: N/A
Release Notes: N/A

@jmarantz if you are going to do a code move PR would you prefer to split the files? Up to you. I could see it definitely helping with readability.

sure -- np.  Hold off on the review please; I'll split them up.  Splitting the include will likely greatly expand the # of files in the CL but I'll keep it non-functional, so hopefully it'll still be easy to review.


Remove all font files except WOFF

EOT fonts are only useful for IE8 where lounge does not work.
SVG fonts have been abandoned years ago.
TTF fonts removed as WOFF has more global support and covers all the browsers that also support TTF.

WOFF is supported 92% globally (basically everywhere, except for Opera Mini which simply does not support any fonts). WOFF2 is supported 64% globally, pretty much in all latest browsers.

This is great! A couple comments before approving.

For the record:

+xPaw	Astorije, just undo my fontawe move as you commented


Internal refactoring for svs.py and gen.py to make NNSVS more extensible

Fixes #183
This PR will introduce breaking changes for ENUNU that relies on some of the internal functionality in gen.py (e.g., gen_world_params).
Note that this PR should have no impact on training models with existing recipes.
SimpleENUNU should also work without changes.
Main internal changes

Refactor gen.py and svs.py to allow users to have more control over the internals through the SPSVS class. e.g., performing peak/loudness normalization or not, the data-type for the waveform, style shift, etc.
Define the base class nnsvs.svs.BaseSVS to specify the interface explicitly.
Add many logs for nnsvs.svs.SPSVS

Something new
Something that I implemented while I was playing with NEUTRINO

The same phrase segmentation algorithm as the NEUTRINO. Added tests to ensure correctness.
Add fill_silence_to_rest option for the postprocess_acoustic function. The default is False.

Example extending the nnsvs.svs.SPSVS class
As an example using the SPSVS class to implement a custom SVS class, I added nnsvs.svs.NEUTRINO that provides the compatible interface as the original NEUTRINO.
In the neutrino_compat directory,  I added command line tools that mimic the behaviors of NEUTRINO.exe and NSF.exe.
Since the NEUTRINO class provides the (nearly) same interface as the original NEUTRINO, one can use NNSVS models with NETURINO調声支援ツール. A demo can be found at https://www.youtube.com/watch?v=DRlsonx2H-o (in this demo, I used my own Namine RItus's model powered by diffusion models).
To run the singing voice synthesis inference with the NEUTRINO class, I added local and web-API based scripts. Please check server.py for details.
I haven't had enough time to write docs for the new tools. Will get to it once I have enough time.

Codecov Report

Merging #186 (4810062) into master (1229161) will increase coverage by 0.88%.
The diff coverage is 62.38%.

@@            Coverage Diff             @@
##           master     #186      +/-   ##
==========================================
+ Coverage   64.27%   65.15%   +0.88%
==========================================
  Files          43       43
  Lines        6060     6325     +265
==========================================
+ Hits         3895     4121     +226
- Misses       2165     2204      +39

Impacted Files
Coverage Δ

nnsvs/train_util.py
8.54% <ø> (-0.08%)
:arrow_down:

nnsvs/gen.py
57.47% <34.11%> (-19.87%)
:arrow_down:

nnsvs/util.py
59.63% <35.29%> (-10.80%)
:arrow_down:

nnsvs/postfilters.py
66.50% <50.00%> (-0.16%)
:arrow_down:

nnsvs/svs.py
81.96% <89.69%> (+25.41%)
:arrow_up:

nnsvs/io/hts.py
94.79% <95.34%> (+21.81%)
:arrow_up:

nnsvs/logger.py
100.00% <100.00%> (ø)

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


UnusedExpressionResult: Report unused stdlib calls

Current behavior
No warning
Expected behavior
@name(__tact_store_bool)
extends native storeBit(self: Builder, value: Bool): Builder;

asm(cell self) extends fun storeRef(self: Builder, cell: Cell): Builder { STREF }

those functions are not marked with "mutates" keyword, so return value should be used.
Input source
contract Sample {
    receive("Test") {
        let x: Builder = beginCell();
        x.storeBit(true);
        x.storeRef(beginCell().storeUint(3, 5).endCell());
    }
}

Error report file
$ yarn misti ./tact.config.json -m info
$ /home/b4cksl4sh/TON-Studio/tact-template/node_modules/.bin/misti ./tact.config.json -m info
No errors found
Done in 0.89s.

I prefer to lower asm functions to something more convenient to use to don't rewrite the implementation later (requires #74)


endpoint join on GW Network failed: Bind for <IP_ADDRESS>:10050 failed: port is already allocated.

I intermittently hit a problem where my port mapping is not release when a container is removed. I'm running docker 1.12.2 on an Azure VM running CentOS Linux release 7.2.1511.
docker info
Containers: 15
Running: 7
Paused: 0
Stopped: 8
Images: 38
Server Version: 1.12.2
Storage Driver: devicemapper
Pool Name: docker-8:1-523680-pool
Pool Blocksize: 65.54 kB
Base Device Size: 10.74 GB
Backing Filesystem: xfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 15.19 GB
Data Space Total: 107.4 GB
Data Space Available: 4.365 GB
Metadata Space Used: 32.87 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.115 GB
Thin Pool Minimum Free Space: 10.74 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
WARNING: Usage of loopback devices is strongly discouraged for production use. Use --storage-opt dm.thinpooldev to specify a custom block storage device.
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.107-RHEL7 (2016-06-09)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge null host overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 3.10.0-327.36.2.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 55.04 GiB
Name: hostname
ID: 2C3V:5PU2:DKIN:2XLM:6VHQ:JTBP:FRP5:JZIP:MCMC:R7S2:FCA6:T3EZ
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-ip6tables is disabled
Cluster Store: consul://hostname.com:8500/network
Cluster Advertise: x.x.x.x.:2375
Insecure Registries:
hostname.com:5601
hostname.com:6601
hostname.com:6602
<IP_ADDRESS>/8
I stopped my zabbix-agent2 container via "docker stop zabbix-agent2" and got no errors. Next I tried restarting it via...
docker run --name zabbix-agent2 --net DEV --privileged -v /dev/sda1:/dev/sda1 -v /tmp:/hosttmp -P -p 10050:10050 -e ZBX_SERVER_HOST=x.x.x.x.x --restart=unless-stopped -d zabbix/zabbix-agent:latest
and get...
1f82c5c3031765403f29aabfad1bd73ceccce6fa464529716c486dbeaa691907
docker: Error response from daemon: container 1f82c5c3031765403f29aabfad1bd73ceccce6fa464529716c486dbeaa691907: endpoint join on GW Network failed: driver failed programming external connectivity on endpoint gateway_1f82c5c30317 (022e658fde15c86271a6e4b57b0c75432af32c478f051f5a51023c9a4e24f11f): Bind for <IP_ADDRESS>:10050 failed: port is already allocated.
Doing a netstat -plan | grep 10050 shows no process using this port.
Now, when I run iptables -L -t nat --line-numbers it does show...
9    DNAT       tcp  --  anywhere             anywhere             tcp dpt:zabbix-agent to:x.x.x.x:10050
in the DOCKER chain which is a problem so I tried removing that rule via iptables -D DOCKER 9 but it would not remove it.
Researching this some people said do a service docker restart would fix problem but I cannot do this because it would stop all other containers and its a prod environment. I have not been able to tell if its a known bug so opening this bug report. Thank you..Jesse Perez

If possible, I'd suggest you to move to the most recent 1.12.5.
In regards to this specific issue, it is possible that you are hitting the issue fixed by docker/libnetwork/pull/1504. The fix is present in docker starting from 1.12.3.

I meet the same issue on 1.12.6，I guess some race condition will cause it.
And no way to walk around except restart docker daemon.

Let me close this ticket for now, as it looks like it went stale.


Error in Dockerfile

There is an Error in Dockerfile, this Folder does not exist.
COPY src/fhem/trunk/fhem/ /fhem/
best regards Jan

duplicate of #4


Uncaught Error while testing a valid name

Environment:

OS: Windows 11
Browser name and version/Node version: Edge 122.0.2365.92

Platform
[ ] nodeJs
[ x] Web/Browser
Issue description:
Testing a FirstName or a LastName wich contains two names with the first containing an apostrophe ( ' ) results in Uncaught Error: Provided name is not valid, only letters, diacritics and apostrophe allowed. This does not happen if the apostrophe is part of the second name. I did not try on more than two names but it could be possible that there's something wrong there too.
Steps to reproduce the problem:

Test a name using function codiceFiscale({firstName: name,}).test(cf) where the name is for example Noe' Fabio.
See error: Uncaught Error: Provided name is not valid, only letters, diacritics and apostrophe allowed
at ea.cfFirstName (pattern.class.ts:68:23)
at pattern.class.ts:248:36
at ea.codiceFiscale (pattern.class.ts:255:43)
Trying with the same name with the apostrophe inverted work as expected. eg: Noe Fabio'

Expected behavior
Function should return if the name is valid looking at the CF.

Try one of these:

Noe'
Noé
Noè
Noe'Fabio
Noe Fabio

Aphostrophe + space is not allowed
This library is for CF not for names


[Switch] [TextField] Changes for Preact

This non-breaking change PR enhances support for Preact

Coverage decreased (-0.6%) to 91.989% when pulling 0300296ba08cd9b54fcc0f31569bf344a07ae08e on preact-fix into 6496dc232d41a05f85210a783475122c76364f90 on master.


Improve Developer experience

Adding persistence.xml properties for different DDL values, based on needs. For development (default) the persistence.xml will use update and for production the file will contain validate.
With this change it is no longer needed to run the migrator when deploying the latest from master.
However, for our production profiles (openshift and dist) the validate value will be injected, since in this environment we do need to make sure we have proper migration tool execution

@sebastienblanc @lfryc @abstractj mind giving this a shot ?

:+1: nice stuff, merging

:rocket: landed...


Kafka 12317:  Relax non-null key requirement in Kafka Streams

KIP-962
The key requirments got relaxed for the followinger streams dsl operator:

left join Kstream-Kstream: no longer drop left records with null-key and call ValueJoiner with 'null' for right value.
outer join Kstream-Kstream: no longer drop left/right records with null-key and call ValueJoiner with 'null' for right/left value.
left-foreign-key join Ktable-Ktable: no longer drop left records with null-foreign-key returned by the ForeignKeyExtractor and call ValueJoiner with 'null' for right value.
left join KStream-Ktable: no longer drop left records with null-key and call ValueJoiner with 'null' for right value.
left join KStream-GlobalTable: no longer drop records when KeyValueMapper returns 'null' and call ValueJoiner with 'null' for right value.

Repartitioning:
If a repartition node is upstream to any of the above listed operators then it may not filter null-key-records.
Thus, the new default behavior for repartiton nodes is to no longer filter out null-key-records.
However, we would like to keep this optimization where possible.
Therefore, during the 'buildAndOptimizeTopology' the graph gets traversed to look for repartition nodes which have none of the above listed operators downstream.

Test Strategy:
Tests for each of the targeted dsl operator on minimal topologies plus extending some of the existing Integration tests (e.g. StreamStreamJoinIntegrationTest.java)
Misc:
I suggest updating https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Streams+Join+Semantics after this has been merged.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@mjsax @guozhangwang I'd say this PR is ready to be reviewd. May I ask for your input or do you know who to poke?

Hey @florin-akermann I can take a look at this soon. I'll probably be able to take a first look next week if you are still willing to push this

Hey @wcarlson5
Great! Yes I am willing to push it.
Looking forward to your feedback.

@wcarlson5 thanks for the merge. I think it would be good to tackle https://github.com/apache/kafka/pull/14107 in the same release.


Dart's library system impedes code caching

This issue was originally filed by<EMAIL_ADDRESS>
A typical way to do caching in JS world is to set the URL to be cached forever and to have the URL contain the version number of the source (such as timestamp or SHA). This agressive caching allows the browser to skip the URL fetch and hence improve performance. If the code needs to be updated the version/timestamp/SHA is changed which changes the URL and causes a new fetch and cache. This is an effective way to do caching.
Karma uses this to get its fast turnaround, by caching files aggressively and appending cache busting timestamp. Karma on dart can not perform this caching since there is no way to do cache busting.
In order to do cache busting it must be possible to change the import statement URLs to insert a cache busting token. Since import statements are spread all over the file system there is no central way to manage them and control cache expiry.
Compiling all dart code into single monolithic file (such as dart2dart) only makes this problem worse since if any portion of the codebase changes it is than required to re-download all of the code.
http://karma-runner.github.io/0.10/index.html

Cache busting is definitely useful. The fact that imports are spread throughout the source code isn't the biggest problem. It's simple to traverse the import graph and gather them all up.
The nasty problem is that imports can be cyclic in Dart. That makes it very hard to define a stable content hash for a library since it depends on the cache busted IDs of its imports, which may in turn depend back on itself.
I don't think the individual library level is the right granularity for this. Dev_compiler has an explicit "module" layer that groups libraries together into "compilation units" that are explicitly acyclic. If we want to do cache busting, that's where to do it.
Closing this, since it's out of scope for the language itself.


Dsmr: fix busy wait with ser2net

Fix https://github.com/evcc-io/evcc/issues/8564

Yes! Seems to work perfectly 👍
Still getting the errors when the connection is available (as expected), but with a decent amount of time in between.
openhabian@openHABianDevice:~/repo/evcc $ ./evcc
[main  ] INFO 2023/06/30 09:37:39 evcc 0.118.1 (b2b4483b)
[main  ] INFO 2023/06/30 09:37:39 using config file: /etc/evcc.yaml
[main  ] INFO 2023/06/30 09:37:39 starting ui and api at :7070
[db    ] INFO 2023/06/30 09:37:39 using sqlite database: /home/openhabian/.evcc/evcc.db
[dsmr  ] ERROR 2023/06/30 09:37:39 peek: EOF
[dsmr  ] ERROR 2023/06/30 09:37:39 peek: EOF
[dsmr  ] ERROR 2023/06/30 09:37:39 peek: EOF
[dsmr  ] ERROR 2023/06/30 09:37:39 peek: EOF
[dsmr  ] ERROR 2023/06/30 09:37:40 peek: EOF
[dsmr  ] ERROR 2023/06/30 09:37:42 peek: EOF
[dsmr  ] ERROR 2023/06/30 09:37:45 peek: EOF
[dsmr  ] ERROR 2023/06/30 09:37:53 peek: EOF
[main  ] FATAL 2023/06/30 09:37:54 cannot create meter 'grid1': cannot create meter 'template': cannot create meter 'dsmr': i/o timeout
[main  ] FATAL 2023/06/30 09:37:54 will attempt restart in: 5m0s
[dsmr  ] ERROR 2023/06/30 09:38:01 peek: EOF
[dsmr  ] ERROR 2023/06/30 09:38:16 peek: EOF
[main  ] FATAL 2023/06/30 09:38:17 evcc was stopped. OS should restart the service. Or restart manually.


Update deploying-to-azure-static-web-app.md

Fix workflow indentation.
Add job permission to read repo content, which is required if the repo is private.

Why:
The workflow formatting is invalid and does only support public repos.

What's being changed (if available, include any code snippets, screenshots, or gifs):

Invalid indentation of "on" - producing the following error:

Repository not found when repo private and read permission missing.

Check off the following:

[x] I have reviewed my changes in staging (look for the "Automatically generated comment" and click the links in the "Preview" column to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

@ottosjo Thanks so much for opening a PR! I'll get this triaged for review :zap:


big number deserialize from json incorrect

https://github.com/SpongePowered/SpongeCommon/blob/aadd13b935d1877d275bb4a5da0cc910f43daa9a/src/main/java/org/spongepowered/common/data/persistence/JsonDataFormat.java#L144-L159
double can't handle big numbers correctly
it will cause UUID can not correct deserialization

https://github.com/google/gson/issues/1084

test plugin : https://gist.github.com/james58899/3a35bf2e5c0fa9aa37b0c7cadeb16837
Reproduce step:

use command get item with UUID /give @p minecraft:stick 1 0 {AttributeModifiers:[{AttributeName:"generic.movementSpeed",Name:"generic.movementSpeed",Amount:2,Operation:1,UUIDMost:844454052033679263L,UUIDLeast:-8130380119850524427l}]}

Hold the item in your main hand

enter the command /test

item will serialization and deserialize to off hand

see console info or use command to see item NBT
UUID value was changed

Fixed by https://github.com/SpongePowered/SpongeCommon/commit/50e3c5cd3dd9f4f0ae77ce813c032c8659ec3947


Unable to add WD Sidekick

Hi Shannon
I found your Chrome extension through your post on LinkedIn. I'm very excited to use this, but I am unable to add the extension as I get the message "To add this item to Chrome, please update your browser." even though my Chrome browser is updated. Would you be able to help?

Hi @sshamrakov - Thank you for trying WD Sidekick.  Is it possible that you're trying to load it on an older Chromebook that is not receiving the latest Chrome updates?
https://support.google.com/chromebook/thread/261114195/to-add-this-item-to-chrome-please-update-your-browser?hl=en


I think I find a error from page 520.

the code from P.520:
$( fields.insert($crate::ToString::to_string($key), json!($value)); )*

the code in this repository is:
$( fields.insert($crate::macros::ToString::to_string($key), json!($value)); )*

It should use the second version $crate::macros::ToString because ToString is private, just like HashMap?
:smile:

CC @jorendorff
Thank you for reporting the problem!
The book and the example code do disagree, as he says.


Serialport 6 - v0

Upgrading to serialport 6.x requires also to run node 8.x in travis.
v3 - https://github.com/Microsoft/pxt/pull/3826

I read on https://github.com/node-serialport/node-serialport/blob/master/UPGRADE_GUIDE.md that node 5,7 had been dropped. We don’t really an issue to move to 8.


Feature - CopyPerson to Clipboard

Changes:

Addition of the copyPerson method to the 'Model' interface
ClipboardManager to handle the copying functions of the Person.

Refers to feature proposed in https://github.com/AY2122S2-CS2103-W16-2/tp/issues/72

Codecov Report

Merging #87 (8df5996) into master (67ef2ba) will decrease coverage by 1.62%.
The diff coverage is 11.36%.

@@             Coverage Diff              @@
##             master      #87      +/-   ##
============================================
- Coverage     67.22%   65.59%   -1.63%
- Complexity      453      454       +1
============================================
  Files            80       83       +3
  Lines          1486     1529      +43
  Branches        154      157       +3
============================================
+ Hits            999     1003       +4
- Misses          435      474      +39
  Partials         52       52

Impacted Files
Coverage Δ

...java/seedu/address/logic/commands/CopyCommand.java
0.00% <0.00%> (ø)

.../seedu/address/logic/parser/AddressBookParser.java
51.51% <0.00%> (-1.61%)
:arrow_down:

.../seedu/address/logic/parser/CopyCommandParser.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/model/AddressBook.java
84.61% <0.00%> (-7.06%)
:arrow_down:

src/main/java/seedu/address/model/Model.java
100.00% <ø> (ø)

...rc/main/java/seedu/address/model/ModelManager.java
89.65% <0.00%> (-3.21%)
:arrow_down:

...a/seedu/address/model/person/UniquePersonList.java
82.00% <16.66%> (-8.91%)
:arrow_down:

...ain/java/seedu/address/model/ClipboardManager.java
25.00% <25.00%> (ø)

...java/seedu/address/logic/commands/ListCommand.java
100.00% <100.00%> (ø)

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 67ef2ba...8df5996. Read the comment docs.


Paper key added without confirmation

Sorry if this has been reported before, I couldn't find it here.
On the "Add Paper Key" screen, the new key is linked to your account automatically even before you can give your confirmation by clicking on the label "Yes, I wrote this down" and then "Done". This is not what the user would expect to happen.

Duplicate of #4896