Playback resumption - How to opt-out at runtime?

Version
Media3 1.1.1
More version details
No response
Devices that reproduce the issue

Pixel 7 running Android 13
Samsung Galaxy S21+ running Android 13

Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps

Checkout my demo-session fork with the MediaButtonReceiver declared in the manifest and simple stop button added to the PlayableFolderActivity (full diff here).
Build and run the demo-session sample.
Play any song (or songs) from the example playlist.
Go back to the PlayableFolderActivity and hit STOP button.
A dead silent notification will appear.

Expected result
Dead silent notification should not be displayed (as it behaves when no MediaButtonReceiver is declared).
I know, I can handle the play event from the dead silent notification in the onPlaybackResumption() method (and that's how I do it too), but if I understand it correctly, this notification shouldn't show at all after calling stop() method on MediaController or not? (as it behaves when no MediaButtonReceiver is declared)
Actual result
A dead silent notification will appear.
Media
My fork - https://github.com/TomasValenta/media
Dead silent notification

Bug Report

[ ] You will email the zip file produced by adb bugreport to<EMAIL_ADDRESS>after filing this issue.

Thanks for the detailed report and the text fixture.
The notification in the screenshot is not posted by Media3. This is the playback resumption notification posted by system UI (see for instance the ExoPlayer logo as the app icon at the top left, the demo app uses a different icon). After calling stop, the player transitions into STATE_IDLE which is mapped to the platform session that system UI reads.
When we do a adb shell dumpsys media_session in this state,  then we see the following state of the platform session of the demo app:
androidx.media3.session.id. androidx.media3.demo.session/androidx.media3.session.id. (userId=0)
[...]
      state=PlaybackState {state=0, position=0, buffered position=0, speed=0.0, updated=479973, actions=7339655, custom actions=[Action:mName='Disable shuffle mode, mIcon=2131230888, mExtras=Bundle[EMPTY_PARCEL]], active item id=0, error=null}
[...]

Idle is mapped to STATE_NONE and from the JavDoc of that state I think this is correct. It indicates that nothing is playing and the player is not prepared.
In this situation system UI posts the playback resumption notification and Media3 expects the app to have Callback.onPlaybackResumption() implemented. With adding the MediaButtonReceiver to the manifest, an app opts-in to playback resumption. It's documented that if the receiver is declared the callback needs to be implemented (to be fair: that documentation is fairly new, newer than your report, so sorry for my late reply :)).

if I understand it correctly, this notification shouldn't show at all after calling stop() method on MediaController or not?

I think this is working as intended. Can you let me know, what you are trying to achieve?

Thank you for your answer Marc,

The notification in the screenshot is not posted by Media3. This is the playback resumption notification posted by system UI (see for instance the ExoPlayer logo as the app icon at the top left, the demo app uses a different icon)

Good point, I didn't realize it at the time.

It indicates that nothing is playing and the player is not prepared. In this situation system UI posts the playback resumption notification

I didn't know that also in this situation the system will display a playback resumption notification. As I described above, we have Callback.onPlaybackResumption() already implemented and from what I have tried so far, it has worked as expected.

I think this is working as intended. Can you let me know, what you are trying to achieve?

Audio player is just one of the functionalities in our application. What I'm trying to achieve is when the user really stops playing (not just pauses) or if the user logout. Right now in these situations I'm calling browser.stop(), browser.clearMediaItems() and MediaBrowser.releaseFuture(browserFuture).
So how should I behave in these situations if I don't want to display the playback resumption notification (moreover in these situations I have nothing to "resume" in onPlaybackResumption)?

Thanks for clarification. Very helpful.
Your use cases isn't well supported by Media3 yet. You can't opt-in and opt-out programmatically. There is only the way of declaring the receiver in the manifest. With this playback resumption is activated. Looks like a valid use case though, so I think we should aim to provide a bit more fine-grained support for opting-in and out.
Technically, Media3 could enable/disable resumption for media button event at runtim. So we could do something like session.setMediaButtonResumptionEnabled(boolean). However, I don't think this works with the System UI notification. System UI asks the library session whether to support playback resumption with a notification just after the session has been made active. I'm not aware that revisiting this decision is supported, besides releasing the session and restarting a new session to get into the service contract with System UI again which is an ugly hack with bad user experience.
long story short - looks like we should think about a way to separate media button resumption and the System UI notification. You could then at least choose to only support BT resumption which we then can make changeable at runtime.
I have marked this issue as an enhancement:

make it possible that apps can opt-in to BT playback resumption only
provide a way to opt-out from BT playback resumption at runtime
check with System UI whether there is an API to opt-out once we opted-in

Thank you very much Marc, very nice summary, I will look forward to it 🚀 👀

Any updates on this? I really don't like the idea of having a "dead" notification that doesn't do anything if the user would log out.

No updates I'm afraid.

having a "dead" notification that doesn't do anything

I don't think Media3 can solve this for the notification because this is provided by SystemUI and there isn't a way to opt-out of the resumption notification once it is opted-in.
As stated above, an option would be to separate media button event and notification resumption. This would allow apps to only use media button event resumption for which an opt-out at runtime would be possible. To opt-out at runtime from the notification, it would require a framework change from System UI which would be available starting from the API level that would include this change. On API levels before that won't be possible as it is restricted by the OS.
I'm not sure when we get around doing this, so I can't give you a timeline I'm afraid.

This is an unfortunate issue and the reason we'll be leaving playback resumption disabled.  Our content is time-limited and the inability to clear the notification ends up looking like an app issue. If System UI would at least query the app before moving an on-going notification into the resumption state, we could at least have some control over it.  Instead it just abandons the notification, where it stays...forever?  Until the device is restarted and System UI actually calls onPlaybackResumption where the app can properly respond with current content or no content?
I've disabled this feature on my own phone entirely because the media displayed there lingers so long and can't be swiped away.


zsh-fzf-tab: 2023-05-19 -> 2023-06-11

Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Further info
The most recent update of this package was reusing the old contents. According to this, it was because the hash was not updated (only the rev was updated).

Result of nixpkgs-review pr 250580 run on aarch64-linux 1

1 package built:

zsh-fzf-tab


re-fix ansible issue with apt

gather facts for playbook - this was the crux of the issue due to which #538 didn't work as planned and had to be reverted
re-enable the kill_unattended_upgrades.yml task in the WG playbook
fixes #524

LGTM, I don't see any issues there. Please test it thoroughly before merging.

Thanks for the review.
I have already tested the WG playbook on the exact same Ubuntu 22.04 GCP image that is listed in example input manifests, before landing this PR.
With properly gathered facts the conditional check for Ubuntu works as intended.
We could be having discussions on other topics, though, such as:

we should make a note somewhere that Claudie sets up the default-image nodes without unattended upgrades
unattended upgrades are only disabled on the officially supported Ubuntu version (at the moment 22.04); do we care if the WG setup playbook fails on an unsupported Ubuntu version?

Hi @wULLSnpAXbWZGYDYyhWTKKspEQoaYxXyhoisqHf I just checked the CI and there are still errors.
 TASK [./wireguard : Disable unattended (unintended) upgrades] ******************
VPN - services/ansibler/server/clusters/ts3-c-1-s1h1    fatal: [hetzner-control-1]: FAILED! => {"changed": false, "msg": "Could not find the requested service unattended-upgrades: host"}
VPN - services/ansibler/server/clusters/ts3-c-1-s1h1    ok: [oci-compute-1]
VPN - services/ansibler/server/clusters/ts3-c-1-s1h1    fatal: [hetzner-compute-1]: FAILED! => {"changed": false, "msg": "Could not find the requested service unattended-upgrades: host"}
VPN - services/ansibler/server/clusters/ts3-c-1-s1h1    ok: [oci-control-1]
VPN - services/ansibler/server/clusters/ts3-c-1-s1h1    fatal: [aws-control-1]: FAILED! => {"changed": false, "msg": "Could not find the requested service unattended-upgrades: host"}
VPN - services/ansibler/server/clusters/ts3-c-1-s1h1    fatal: [aws-compute-1]: FAILED! => {"changed": false, "msg": "Could not find the requested service unattended-upgrades: host"}

Could you take care of that, please?

Hi @wULLSnpAXbWZGYDYyhWTKKspEQoaYxXyhoisqHf I just checked the CI and there are still errors.
 TASK [./wireguard : Disable unattended (unintended) upgrades] ******************
VPN - services/ansibler/server/clusters/ts3-c-1-s1h1    fatal: [hetzner-control-1]: FAILED! => {"changed": false, "msg": "Could not find the requested service unattended-upgrades: host"}
VPN - services/ansibler/server/clusters/ts3-c-1-s1h1    ok: [oci-compute-1]
VPN - services/ansibler/server/clusters/ts3-c-1-s1h1    fatal: [hetzner-compute-1]: FAILED! => {"changed": false, "msg": "Could not find the requested service unattended-upgrades: host"}
VPN - services/ansibler/server/clusters/ts3-c-1-s1h1    ok: [oci-control-1]
VPN - services/ansibler/server/clusters/ts3-c-1-s1h1    fatal: [aws-control-1]: FAILED! => {"changed": false, "msg": "Could not find the requested service unattended-upgrades: host"}
VPN - services/ansibler/server/clusters/ts3-c-1-s1h1    fatal: [aws-compute-1]: FAILED! => {"changed": false, "msg": "Could not find the requested service unattended-upgrades: host"}

Could you take care of that, please?

apparently the service is not present in all images (I only checked GCP).
this can be solved by checking whether the service is present at all before trying to stop it..
good ol' conditions again..
thanks for the review @MiroslavRepka

latest changes should make sure it doesn't fail on this, it's first checked that there is anything to disable. it could have been solved by ignoring errors on the task disabling the service, however, now it doesn't run if there is not service, which is a cleaner approach in my opinion.

alright this is idiotic: I was missing a colon after task - name, which is why the whole thing has been failing...should be fixed™ now...

Hi @wULLSnpAXbWZGYDYyhWTKKspEQoaYxXyhoisqHf , there seem to be a bunch of errors, (won't paste the logs here as they're quite large), testing this  on all the test sets at once may no be the best approach, I would suggest a more granular approach, where you deploy claudie localy and try your changes there. You can test one manifest at a time from https://github.com/Berops/claudie/tree/master/manifests/testing-framework/test-sets and see where what breaks


Add google analytics to the project

Just the basic configuration.
To the credentials use env variables.

@carlosxjm i can do this!


Windows client value set to false throws puppet run error

Description of problem

What did you do? We installed Sensu-Client successfully using puppet and then we set the client var to false to disable the service.
What happened? Puppet threw and error about Exec[install-sensu-client-service].
What did you expect to happen? The service to be stopped and disabled.
How can someone reproduce the problem? Install Sensu-Client using puppet then set the value for client to false i.e. sensu::client: false or sensuclassic::client: false to set the service into a stopped and disabled state.

Command used and debugging output

What does your puppet config look like (including any hiera config) - I have attached example class we are using to install the Sensu-Client which also shows hiera to set the client value.

I have tested a possible fix which runs puppet successfully see diff attached as it doesn't display correctly for client.pp:

Is this a masterless or master based puppet setup? Master based

Platform and version information

Your OS: Redhat 7.8 (Maipo)
Your Ruby version: ruby <IP_ADDRESS>8-36.el7.x86_64
Your version of Puppet: 5.5.20 open source
Your version of Sensu: <IP_ADDRESS> (Windows client)
Your version of this module: 3.6.2

Anything else to add that you think will be helpful?
DSC module version: 1.9.3
Error that is seen when running puppet:
Info: Using configured environment test Info: Retrieving pluginfacts Info: Retrieving plugin Info: Retrieving locales Info: Loading facts Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Could not find resource 'Exec[install-sensu-client-service]' in parameter 'before' (file: /modules/external/sensuclassic/manifests/client.pp, line: 55) on node test.domain.com Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run

Attachments to look through:
Sensu_Class.txt
Diff_Of_Client.txt

@StuartMcManus Try #37.  Your diff would not work because if windows_service_user is not defined the two resources throwing errors would not be defined thus would be similar error to what you saw.

@treydock yes sorry I thought for a second that else statement was within the if $sensuclassic::windows_service_user statement block but obviously it can not without another if statement within. I will try out your change tomorrow cheers.

@treydock I have been able to carry out testing with the changes with no issues being seen. The testing was with our current setup which means we were supplying credentials for the service so no testing has been done not supplying credentials as we don't do that but that part hasn't really changed so should be fine I guess.


Maybe enable all midi inputs/channels by default

Right now, only the first instrument's channel 1 is used when running midi.start(). Maybe a better default would be midi.start({ input: '*', channel: '*' }) ?

Is already the case since e00f842


jbuf frame completeness

jbuf: replace adaptive mode by frame completeness check

min/max specifies number of frames to keep in buffer
jbuf_get() does not deliver un-complete frames or out-of-order packets as long as max is not reached
jbuf_put() keeps track of the complete sequence of packets (see field end)

end always points to the end of the complete packet sequence. Thus between the head and end no packet is missing.
The implementation works for audio and video.
Keeping track of end, the number of frames nf and the number of complete frames ncf does not increase the O(.)-complexity of jbuf_put() or jbuf_get().
TODOs:

[ ] handle marker bit
[ ] plots to visualize algorithm with/without jitter simulation
[ ] unit tests

The plots will heavily depend on this PR. So currently I am not sure if we can/should separate it.

The plots will heavily depend on this PR. So currently I am not sure if we can/should separate it.

We should have at least a before and after comparison. We can simply use this one for main: https://github.com/baresip/re/pull/962/commits/f63865f54da4442880815c4cee63f7cf0daba57d

We should have at least a before and after comparison. We can simply use this one for main: f63865f

okay. Do you want to create the PR for your branch?
Then we need also a tools PR for baresip. https://github.com/baresip/baresip/pull/2733

Should we enable -DUSE_TRACE=ON -DCMAKE_C_FLAGS="-DRE_JBUF_TRACE" in github actions?

Rebased, but it won't build so far. The plot data needs to be updated. I guess that github actions does not build the plot code.

the builds are failing because of this test line:
test jbuf: TEST_ERR: /home/runner/work/re/re/test/jbuf.c:56: (No such file or directory [2])

Should we enable -DUSE_TRACE=ON -DCMAKE_C_FLAGS="-DRE_JBUF_TRACE" in github actions?

I think we should leave these are only for manual debug test builds and should not be needed (like modules not build with higher debug info).

This commit https://github.com/baresip/re/pull/963/commits/af375ad1a55f0c195d220dbea1489f4edda17d21 is to discuss trace module. It supports only one trace. If jbuf is enabled for audio + video, then the trace fails and we get mem leaks. This commit is minimal change to fix this.
Better would be to extend trace module to support multiple traces. This could be used to generate

jbuf-audio.json
jbuf-video.json

A first plot for video with
audio_jitter_buffer_type off
video_jitter_buffer_type fixed
video_jitter_buffer_delay 2-10

We can observe that there is one lost packet. The jbuf is filled until 10 frames are reached, then the un-complete frame passes.

We can observe that there is one lost packet. The jbuf is filled until 10 frames are reached, then the un-complete frame passes.

Looks like max frames is very quickly decreased/consumed by decoder after this. This should be smoothed I think, since it causes:

a high cpu spike by decoder
visible video speedup

Currently we have

audio

rtp -> jbuf -> decoder -> aubuf -> auplay
| main thread                       | play thread  |

video

rtp -> jbuf -> decoder -> display
| main thread                              |

A vrx_thread could be an improvement. jbuf should be thread safe already. I'll try a timer instead.
We should also think about the audio pipeline. There are jbuf and aubuf: The latter does jitter smoothing currently.

one packet loss

with jitter and packet losses

Shrink buffer after last out-of-order packet. Here plots for video

rise buffer if packets missing
@sreimers as you can see if a packet is lost the buffer immediately jumps to the configured max (here 10 frames). This leads to a small break with frozen frame. E.g. for 20fps and max=10 results in 500ms break with frozen frame. If I understood you correctly this is wanted behavior.

Alternative: Beside the overall frame max set another boundary for frame freezing time. E.g. 2 frames. Then pass the next frame which is still incomplete in the hope that the decoder is able to decode this with some artifacts in the display.

shrinking buffer
The current solution with tmr, the wait and again flags work and reduce the buffer slowly starting 1 second after the last out-of-order event occurred. After the first lost packet the buffer will stay at max frames which is not ideal.

Last mentioned method works better.  Have to add one commit.

Of course yesterday tried already without the line here removed https://github.com/baresip/re/pull/963/commits/9a6c8c55074835e0bc660083beb13ea8f379b516 . But I had bad results because had both jbuf active (for audio and video) and thus the data was mixed which confused me.

Analysing results for audio stream
audio_jitter_buffer_type fixed
audio_jitter_buffer_delay 1-10
video_jitter_buffer_type off

audio_buffer        	20-300     	# ms
audio_buffer_mode	adaptive

jbuf plot: "waiting" events may lead to real aubuf underruns
aubuf ajb plot: There are too many underruns. We can see that the jitter is still detected but not as fast and high we would expect it. After the jitter simulation is activate for ~4 seconds the underruns in aubuf seem to correlate with the "waiting" events.

The underruns correlate also with the "lost" packets. I'll add another plot results without packet loss.

Here https://github.com/baresip/re/pull/963#issuecomment-1740341221 is an open question (1.) about "lost packets".

Should we move jbuf to baresip like @alfredh suggests?
https://github.com/baresip/re/pull/962#issuecomment-1740745383
Again was thinking about the current solution in this PR. The result of jbuf_get() depends on timing. The shrink timing maybe should be moved to baresip/application. Also the unit tests now look strange now because of the "waiting" state.
--> Put back to draft now to prevent merge.
Also I'll try with our fixed rdiff implementation if the audio underruns are similar.

Compared with this results: https://github.com/baresip/re/pull/963#issuecomment-1740456666
tc qdisc add dev ifb1 root netem delay 0ms 100ms

audio_jitter_buffer_type adaptive
audio_jitter_buffer_delay 1-10
video_jitter_buffer_type off

audio_buffer        	20-300     	# ms
audio_buffer_mode	adaptive

This are less underruns.

Great ideas for testing!

is this real packet lost or because of late lost?

This makes no difference. The question is if it makes sense not to jump to max in one step. Instead:
Beside the overall frame max set another boundary for frame freezing time. E.g. 2 frames. Then pass the next frame which is still incomplete in the hope that the decoder is able to decode this with some artifacts in the display.
This would mean that the latency only increases two frames for a lost or late packet. If there follow more lost or late packets the latency again increases.
Okay, then I prepare a PR for moving jbuf from re to baresip. This could be merged with low risk to current release.

move jbuf to baresip:

https://github.com/baresip/re/pull/971
https://github.com/baresip/baresip/pull/2743

Applied the changes to a baresip branch based on baresip#2743


Accessibility improvements for grouped form fields: PhoneNumber, CreditCard, Datetime

Version: 3.x
The label for some of the composite/grouped field types does not correctly identify itself as being "for" the right form inputs.
In PhoneNumberField, DatetimeField and CreditCardField the label identified itself as "for" an ID that either does not exist (because the actual input fields are part of a field group or composite field) or reference the container for the actual fields.
We should create custom holder template(s) for these fields and use aria-labelledby on each of the inputs pointing to the label's ID, rather than having the label be "for" a single input. This will allow us to have one label correctly identify itself as labelling multiple form fields that are in a group.

Wouldn't the correct method actually be to add aria-label to the inputs that don't have a specific label.
So a date field with 3 seperate fields for day, month, year would each have an aria-label like "Date of birth day" and "Date of birth month". them all being "labelledby" the "date of birth" label isn't helpful.

Speaking to @tractorcow "I think aria-* attributes for core is best addressed in 4.0"

SilverStripe 3 has entered limited support in June 2018. This means we'll only be fixing critical bugs and security issues for SilverStripe 3 going forward.
You can read the SilverStripe Roadmap for more information on our support commitments.


Invalid YAML example

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
Syntax for GitHub's form schema
What part(s) of the article would you like to see updated?
I'd like to see an updated YAML example in About GitHub's form schema (Example #1)
The reason why it should be changed is that, the current YAML example is invalid. It shows this error:
Nested mappings are not allowed in compact mappings at line 5, column 18

The expected outcome is to contain a valid YAML example.
Additional information
No response

@priyanuj-gogoi Thank you for opening an issue and linking it to your PR! ✨


Create a UCP connection pool module. HHH-17414

This pull request adds UCP connection pool module in Hibernate.
https://hibernate.atlassian.net/browse/HHH-17414

I extended the build definition to include the data source. Superseded by https://github.com/hibernate/hibernate-orm/pull/7568


Update register name order

https://github.com/riscv/riscv-isa-manual/issues/1352

@kersten1 Should we also update all other chapters to make it uniform

@ved-rivos I'm working on it!

@aswaterman This should be all the titles. I'll do another looksie after these are out of my optics :)


Decimal value max and min based on precision limits

@karteekmurthys Can you add a description? Thanks.


Extract WriteTo method (see io.WriterTo) to expose bytes written

Add a WriteTo() method (see io.WriterTo) that exposes the count of bytes written and rewrite Write() to use it.

Codecov Report

Merging #234 into master will increase coverage by 0.05%.
The diff coverage is 57.14%.

@@            Coverage Diff             @@
##           master     #234      +/-   ##
==========================================
+ Coverage   98.85%   98.91%   +0.05%
==========================================
  Files          16       16
  Lines        3590     3591       +1
==========================================
+ Hits         3549     3552       +3
+ Misses         24       23       -1
+ Partials       17       16       -1

Impacted Files
Coverage Δ

file.go
89.09% <57.14%> (+3.9%)
:arrow_up:

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 9e463b4...2132de1. Read the comment docs.


Feat/tables no responsive headers

On mobile our current table set up adds the table headers to each table cell. This is useful for long tables as the user would scroll past the table headers. However in some instances (especially for short tables) we may want to switch off this behaviour. I've added a responsive_headers attribute which by default is set to true and keeps the existing table behaviour (making this a non-breaking change).
Initially I had some concerns around the accessibility of the tables if the stacking behaviour is switched off. However, I have checked examples in different design systems (gov.uk, NHS, Co-op) and their tables keep the desktop layout. I've also had a look at some accessibility documentations (https://webaim.org/techniques/tables/data and https://www.w3.org/WAI/tutorials/tables/one-header/) around table and there was no mention about the table stacking, they mentioned other practices (such as adding scope) which we're doing anyways.

I am about 90% certain that we used to have a table variant that didn't shrink and overflowed on the x axis. I might be wrong tho 👴🏻 Either way it doesn't live here any more - just thought I'd mention it tho. I think maybe it wasn't very accessible. @davidrapson can you remember?

All I can see is that the cads-table-container has an overflow scroll on it but not 100% sure when that triggers. Overflowing on two axis will normally get flagged up in an accessibility audit so we might not actually want that.


feature update

this feature has updated since this page.  the attendance report shows during the meeting, in the chat afterwards and also in the meeting information.
[Enter feedback here]

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

ID: 9a8b1087-ae40-6813-16bc-a69c90e50d19
Version Independent ID: b808e843-80d8-4a96-c6ed-e8175968eb73
Content: Microsoft Teams meeting attendance report - Microsoft Teams
Content Source: Teams/teams-analytics-and-reports/meeting-attendance-report.md
Service: msteams
GitHub Login: @SerdarSoysal
Microsoft Alias: serdars

@jrummer  Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@jrummer thank you for pointing this out and helping improve MS Docs. I will add that information. Just a quick question - is the downloadable report still available? So this would be an extra note to add to the article that it shows during the meeting and in the chat after, etc...

Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


widget_api: fix and re-structure errors caused by

since this is making it compile and my comments can be categorized into: me asking questions to get a better understanding, considerations about future refactors that will come up at a later stage, I think we should merge it now?

Awesome!


Test with determinate

Test failing:
/home/runner/work/_temp/d1f57064-829e-4bee-a6ab-a767f7974e82.sh: line 1: determinate-nixd: command not found


[Suggestion] Function greater_close and less_close

I think this would be useful and easy to implement.
greater_close(a, b)=greater_equal(a, b) | is_close(a, b)
less_close(a, b)=less_equal(a, b) | is_close(a, b)

I'm not sure is it useful enough to be a part of scipy. If so, I will try to implement them and make a pull request.
Another similar functions are greater_no_close and less_no_close, they will return false if a and b are close in an given error.

I think this would belong to numpy.
What's the broadcasting here, is this elementwise? I don't find an existing function is_close
I'm using elementwise inequality comparison with noise margin like this in several places, with ad-hoc closeness, like x < y + 1e-8 or weak inequality. I use all version almost exclusively in the assert version numpy.testing.assert_allclose

Oh, it's isclose


Moving windows containers user guide out of /setup/production-environment/

Signed-off-by: Mark Rossetti<EMAIL_ADDRESS>
Part of #31428
/hold
We want to merge changes related to #31428 at the same time.

@marosset Please rebase your PR.

/hold
We want all the PRs that break up /modify https://kubernetes.io/docs/setup/production-environment/windows/intro-windows-in-kubernetes/
See https://github.com/kubernetes/website/pull/31851#issuecomment-1079162797

Hi @marosset, I don't think this PR should target dev-1.24

/close
I will squash the commits and create a single PR with all of the related changes targeting main.

/milestone clear


[Minor Error Fix] Wrong versions speficified on Wiki page

On the Wiki 'Getting Started' page, the versions that are mentioned in for wget(snap) are unresponsive.
These are the versions on the Wiki page:

It returns this error when executed on a terminal:

It is because the versions are not available on the main source anymore. They are updated, therefore the older snap versions return an unresponsive error. When I went to https://snap.stanford.eu/snappy/release, which is specified on the first image I found updated versions for all operating systems
These are the updated versions:

Therefore, if the version on the Wiki is changed from snap-3.0.2-3.0 to snap-4.1.0-4.1 it should perfectly!
Meanwhile you can manually input the command changing the versions and it should give a positive output. I did try it and it worked fine

I hope the Wiki page updates the versions soon.

You can always send in a PR for the same :)
I'll check it out


Allow method on tag for event listeners

Thank you for your contribution.
By default, we can use listeners with implemented __invoke() magic function https://bornfreee.github.io/tactician-domain-events/doc/domain_events.html#add-event-listeners. So they don't require a method to be specified. However, I understand your requirement.
I suggest to make method attribute optional, not required.
Something like that:
$listener = array_key_exists('method', $attributes)
    ? [new Reference($id), $attributes['method']]
    : new Reference($id); // this is for __invoke()

$definition->addMethodCall('addListener', [
    $attributes['event'],
    $listener
]);

Thank you @sebidchi
Released as 0.4.1


how to speed up prediction

Hi, LP team:
before prediction, LP needs to load the model and the dataset.
model = load_model_from_checkpoint(cfg=cfg, ckpt_file=ckpt_file, eval=True)

AND
dataset = get_dataset(cfg=cfg, data_dir=data_dir, imgaug_transform=imgaug_transform)

these 2 steps of loading are the most time consuming. (about 2~3 min for each in my toy example, the dataset step would be longer if I have hundreds of lableled images).
And I found that I can pickle the dataset into my disk and load this pickle file much faster. (about 2 min down to 14ms).
However, the model seems to be a dali pipeline that I cannot pickle.
Any suggestion about this?

@Wulin-Tan there are several ways to speed this up; for example you do not necessarily need to call both load_model_from_checkpoint and get_dataset. Are you using the predict_new_vids.py script? I see that's what we're doing there, I can speed that up. If not using that script, can you share with me the code snippet you're using for inference?
Another question: do you want to compute the various unsupervised losses on your video data during inference? You can also speed this step up if you don't (though those losses are useful for outlier detection, so I would recommend keeping them).

Hi, @themattinthehatt

Yes, I am using predict_new_vids.py. model is for the parameter 'model', and dataset is for the parameter data_module.

model = load_model_from_checkpoint(cfg=cfg, ckpt_file=ckpt_file, eval=True)
......
data_module = get_data_module(cfg=cfg, dataset=dataset, video_dir=video_dir)

and then
export_predictions_and_labeled_video(
                video_file=video_file,
                cfg=cfg,
                ckpt_file=ckpt_file,
                prediction_csv_file=prediction_csv_file,
                labeled_mp4_file=labeled_mp4_file,
                trainer=trainer,
                model=model,
                data_module=data_module,
                save_heatmaps=cfg.eval.get("predict_vids_after_training_save_heatmaps", False),
            )

any improvement we can have?

which step or chunk of code to get losses? finally I get 2 more csv files other the predicted coordinates, like 'video_1_pca_singleview_error.csv' and 'video_1_temporal_norm.csv', are they the losses you mentioned?

@Wulin-Tan I have also updated predict_new_vids.py, which you will have with version 1.4.0. I rearranged the order of the code so that the data module only gets created once, which is what is taking so long (in the previous version it was unneccesarily created twice).
Note: I removed some of the configuration options, and force the output to be saved in the model folder under the subfolder video_preds!
Yes, video_1_pca_singleview_error.csv and video_1_temporal_norm.csv are the unsupervised losses, which you can use to flag outlier frames (kind of like the confidence; large values of the pca error or temporal norm are potentially problematic predictions). Like I said before I would recommend computing these values (as you see it happens automatically), but if you really want to speed things up you can not compute these, which means you don't need to create the data module. If you're interested in that let me know and I can show you how to do it (you'll need to write your own custom prediction script, but it's not much work).

HI, @themattinthehatt
I tried the updated predict_new_vids.py, it works.

closed by 786644e4c3d187b95397b51dd01cbe098c87664f


KOGITO-1505: Stunner - CDATA block missing

PR fixes CDATA missing block for following elements:

bpmn2:completionCondition
bpmn2:condition
bpmn2:conditionExpression
bpmn2:from
bpmn2:to
bpmn2:documentation
drools:metaValue
drools:script

Unfortunately XSLTProcessor doesn't support option is CDATA present, just keep it. The only possible solution is put CDATA always for elements from the list.
I checked big process with all elements and properties from KOGITO-395 and didn't find any further elements with CDATA.
Most of the values with CDATA are present in our custom drools:metaValue
The only concern for me were bpmn2:from and bpmn2:to. It is attributes of Data Assignments. The concern was that bpmn2:from and bpmn2:to can contain not only content, but also an ID of another element. See example of data Input Association:
      <bpmn2:dataInputAssociation>
        <bpmn2:targetRef>_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_GroupIdInputX</bpmn2:targetRef>
        <bpmn2:assignment>
          <bpmn2:from xsi:type="bpmn2:tFormalExpression"><![CDATA[managers]]></bpmn2:from>
          <bpmn2:to xsi:type="bpmn2:tFormalExpression"><![CDATA[_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_GroupIdInputX]]></bpmn2:to>
        </bpmn2:assignment>
      </bpmn2:dataInputAssociation>

In Input and Output this value with ID is reversed so it is not possible to make one of it (for example bpmn2:from) with CDATA and the second without.
But I did the same test as I did in in this comment https://github.com/kiegroup/kie-wb-common/pull/3170#issuecomment-600958885 (the only change is that repo moved from kogito-quickstarts to kogito-examples) and it was successful, so I assume that it is OK to store IDs in CDATA.

Hi @hasys! Thanks for the PR. The changes look fine to me, although I can't comment about whether they are correct or not, since I'm not familiar with the XML structure of BPMN files, so I trust your solution.
One thing that I thought about was whether it works for DMN files as well. I'm concerned that this bit breaks something on DMN:  xmlns:drools="http://www.jboss.org/drools" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL"

Hi @manstis, yes, you are right. This XSLTProcessor automatically encode your data. But there is several issues why we shouldn't relay on it and all user modified data are encoded/CDATAed on marshallers any way:

We need to align processes with Business Central, so we can't relay that XSLTProcessor will process everything for us since we doesn't have it in Business Central.
Google Chrome plugin doesn't have XSLTProcessor as well, so when you will save your file in Google Chrome extension your data won't be encoded (if you didn't encode it in your marshallers).
Sometimes BPMN engine don't decode values, so we need it as is and that where CDATA blocks come in. See example.
You anyway need to decode it back when you reading the file on your own, because this library used only on save but not on load.
We can give up XSLTProcessor anytime for example we implement prettifying on our side for Chrome.

So by this PR we are pretty much duplicating in XSLTProcessor the same behavior we already have in our marshallers. So good point, need to discuss it better how to fix this duplication in the future, because now we are doing new marshallers, so it can be especially actual. Thanks for pointing out!

@hasys Hello, I also tested DMN outside of VSCode too; and whatever marshaller we're using escaped the XML text i.e. even without passing explicitly through kogito-tooling use of XSLTProcessor DMN's XML was escaped. We can however provide a list of DMN nodes that should be persisted as CDATA entries. @jomarko @karreiro WDYT?

Hi @manstis it's interesting, because in BPMN Designer outside of VS Code it is never encoded until we call encode function on a property explicitly. How are you encoding/decoding attributes and element's values in DMN? Probably we can reuse it for new marshallers.

@hasys DMN uses a completely different XML library to BPMN for client-side marshalling! IIUC you use some port of the Eclipse EMF library whereas DMN uses a library called jsonix that generates JAXB-type JavaScript classes from the XSD.... it's possible the library DMN uses handles encoding (it appears that way).

@hasys DMN uses a completely different XML library to BPMN for client-side marshalling! IIUC you use some port of the Eclipse EMF library whereas DMN uses a library called jsonix that generates JAXB-type JavaScript classes from the XSD.... it's possible the library DMN uses handles encoding (it appears that way).

good point, thank you @manstis.
CC @romartin, @treblereel we will use the same one for new marshallers, right? Or how will we handle encoding/decoding in new marshallers?

Great, thank you @manstis,
@mastis, @jomarko, @karreiro, don't forget to provide a list of DMN nodes that should be persisted as CDATA entries. Or we can to move it to separate jira issue if you want. Thank you!

@hasys I don't think we need to provide any DMN elements that we need handled as CDATA sections as I was not able to replicate any issue with the (un)marshalling we have in place already (both inside of and outside of VSCode). If however you want to add some DMN ones then those I originally listed are fine (to begin with.. until/unless somebody finds issue somewhere). If you do add them to this PR I would want to re-test DMN to ensure their addition does not cause problems.

@hasys Actually, DefaultXmlFormatter is used in all our channels -- VSCode, Chrome, Online and Desktop. See:

packages/desktop/src/envelope/index.ts
packages/chrome-extension-pack-kogito-kie-editors/src/envelope/index.ts
packages/vscode-extension-pack-kogito-kie-editors/src/webview/index.ts
packages/online-editor/src/envelope/index.ts

I think that's why @manstis was able to see the same behaviour on DMN outside VSCode too. Please tell me if that changes anything and if we should do another round of testing.
All in all, thank you very much for the discussion. I agree with @romartin when he says that it's not ideal to have BPMN/DMN specifics in a "XML formatter" class, but I'm okay with that for now until we figure out where this logic should go. We will probably have to revisit that when #73 (SceSim) comes in, so it should be soon. (cc @yesamer)
@hasys We currently have an issue with our CI that actions/checkout@v1 can't be re-ran. There's a fix for it coming on #97. In the mean time, if you want to re-trigger the CI, do a pair of commits changing and un-changing something. CI works fine for new commits.

Hi @manstis, if there is no issues, I suggest not to fix it 😄
@romartin, @tiagobento, @cristianonicolai, @domhanak, @jomarko, did you have a chance to take a look at it?
I know it is not the best solution, but looks like the only one we can afford before the dev preview.

@hasys Please rebase you PR with master, #97 was just merged.

Hi @ederign,
good point. I tried to write some basic test, but I don't know how Node.js infrastructure works. I wrote the test like
import {DefaultXmlFormatter} from "../DefaultXmlFormatter";

describe("DefaultXmlFormatter", () => {
    test("CDATA preserved", () => {
        const formatter = new DefaultXmlFormatter();
        expect(formatter.format("<bpmn2:documentation><![CDATA[some stuff]]></bpmn2:documentation>"))
            .toEqual("<bpmn2:documentation><![CDATA[some stuff]]></bpmn2:documentation>");
    });
});

But it is failing because can't find some symbols inside of DefaultXmlFormatter (see below). Also there was a test for formatter before XSLTProcessor was introduced and removed after migration to this library, probably for the same reason, don't know :) Any way, can I ask you to help me if know how to deal with this kind of issues, I am not an expert in TS/Node JS :(
yarn run v1.19.1
$ jest
 PASS  src/__tests__/GwtAppFormerApi.test.ts
 PASS  src/__tests__/GwtEditorWrapper.test.ts
 PASS  src/__tests__/GwtEditorWrapperFactory.test.ts
 FAIL  src/__tests__/DefaultXmlFormatter.test.ts
  ● DefaultXmlFormatter › CDATA preserved

    ReferenceError: XSLTProcessor is not defined

      38 |   );
      39 |
    > 40 |   const xsltProcessor = new XSLTProcessor();
         |                         ^
      41 |   xsltProcessor.importStylesheet(xsltDoc);
      42 |   return xsltProcessor;
      43 | }

      at newXsltProcessor (src/DefaultXmlFormatter.ts:40:25)
      at DefaultXmlFormatter.Object.<anonymous>.DefaultXmlFormatter.format (src/DefaultXmlFormatter.ts:47:50)
      at Object.<anonymous> (src/__tests__/DefaultXmlFormatter.test.ts:22:26)

Test Suites: 1 failed, 3 passed, 4 total
Tests:       1 failed, 7 passed, 8 total
Snapshots:   0 total
Time:        2.576s, estimated 3s
Ran all test suites.
error Command failed with exit code 1.

HI @hasys! The code of your test looks perfect. However, the reason why your test is failing is because it's running on a Node.js environment, where the XSLTProcessor class is not globally available. On the browser, however, it is. That's why it works.
To fix that issue, you'll have to look for a library that implements XSLTProcessing in Node.js. Idk if that exists, but it's worth the try. See this SO answer for references. https://stackoverflow.com/questions/56889281/xsltprocessor-is-not-defined-in-node-js

@manstis @hasys no nodes comes to my mind. I tried a business rule task, invoking a DMN model while whitespaces and < or > were in use , but save and reopen worked fine.

@hasys imho if we can't test it just report it into JIRA for reference and let's proceed with this.

To check that test work, just remove bpmn2:documentation from cdata-section-elements argument in xsl:stylesheet tag of stylesheet. You will see this:

Hi @domhanak yes I agree with you. But anyway I added a test (I am not sure how good it is from Node ecosystem point of view but any way).
@ederign, @tiagobento, I tried several libraries most of them didn't work for me. For example:

xslt doesn't support Stylesheets so it is not possible to use it.
xslt-ts not compiling due to recommended dependencies not compatible. I tried several versions of dependencies and this version, but non of them worked for me
enketo-xslt not sure what is it for, also looks like we will have some license issues.
and so on

But I guess I found one working: node10-libxslt. It looks very heavy weight to me, but on the other side it is devDependency only, so maybe it is OK.
Anyway I don't know about Node infrastructure so much so please, review my last commit please :)

@hasys That's a nice finding! TBH I tried thinking of a way to improve this test, but since it looks like node10-libxslt does not implement the same API as XSLTProcessor in the browser, sharing the XSLT stylesheet between them seems reasonable enough.
This test asserts that our stylesheet is valid for our intents, so any XSLT implementation should behave the same, and we should be covered. (At least that's what we expect 😝)

Thank you @tiagobento, fixed

Hi @tiagobento,
looks like library I added is incompatible with our projects. According to documentation:
Environment compatibility

For now 64bits linux and 32bits windows are confirmed. Other environments are probably ok, but not checked. Please report an issue if you encounter some difficulties.

Node-libxslt depends on node-gyp, you will need to meet its requirements. This can be a bit painful mostly for windows users. The node-gyp version bundled in your npm will have to be greater than 0.13.0, so you might have to follow these instructions to upgrade. There is no system dependancy otherwise, libxslt is bundled in the project.

And looks like build failing on this node-gyp library.
node-pre-gyp ERR! command "C:\\hostedtoolcache\\windows\\node\\12.13.0\\x64\\node.exe" "D:\\a\\kogito-tooling\\kogito-tooling\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build" "--loglevel" "http"
node-pre-gyp ERR! cwd D:\a\kogito-tooling\kogito-tooling\node_modules\node1-libxmljsmt

Do you know how to fix it? Or we should to use another library for tests?

@hasys 😅
Do we have other options for a XSLT node library? If so, I think we should give it a shot. If not, we can further discuss how to proceed. CC @ederign

@hasys @tiagobento due to the limitations and challenges, if QE agrees (/cc @jomarko) we can create a JIRA for future research of this issue and, as an exception, merge this without test coverage.
@jomarko wdyt?

@ederign I am fine if @hasys will investigate xls libraries/testing in future. However I checked mostly from DMN point of view. I think still some QE ack for BPMN part is needed.
@domhanak what is your opinion? Maybe I am wrong in this PR s good to go already. Conversation  in comments was quite long so maybe I overlooked some ack.
Should I have a look also on BPMN part?

Hi @jomarko, I think @domhanak already answered here: https://github.com/kiegroup/kogito-tooling/pull/102#issuecomment-610249361
I already reverted state of this PR to pretest time and rebased to the master. I hope now it will be green and ready for merge. Thank you!

@jomarko I take a look on BPMN part.

All is done, @ederign, @tiagobento, your turn :)

please @tiagobento @ederign feel free to merge this, this fix is important for the release. Thx!

@hasys if you want to include this on the next release, all kogito tooling PRs should be cherry-picked for 0.3.x branch (https://github.com/kiegroup/kogito-tooling/tree/0.3.x).
Remember that we need the approval of EM + Architect to merge this on 0.3.x. (/cc @lazarotti @porcelli )


feat: 子弹图为空时使用placeholder占位

👀 PR includes

✨ Feature

[x] New feature

📝 Description
子弹图为空时使用placeholder占位
🖼 Screenshot

Before
After

🔗 Related issue link

🔍 Self-Check before the merge

[ ] Add or update relevant docs.
[ ] Add or update relevant demos.
[ ] Add or update test case.
[ ] Add or update relevant TypeScript definitions.

:tada: This PR is included in version @antv/s2-v1.40.0-alpha.1 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version @antv/s2-v1.40.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version @antv/s2-v2.0.0-next.4 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


⚠ ClamAV has degraded performance

In fa7837f, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 195 ms

Resolved: ClamAV performance has improved in 6246eaa.


Data for epitope prediction

Hi, thank you for the detailed repository and code!
I was looking to perform a similar analysis to the one you performed with curated TCR data to train and predict on new data. I was wondering how you set up your input data as I just see the master sheet. Did you break this into directories per epitope or antigen as recommended by DeepTCR? I am getting errors that counts should be associated with samples so just wondering how you got around this.
Thanks
Leeana

Hello! Yes, the input data should be organized into directories for each antigen or epitope (whichever you're interested in training based on). The code to do this is actually in the 02_vdj.R file (lines 300-323).

Oh I see thanks so much!


Migrate swapped (with predicate) from PitchSpellingTools

public func swapped <A> (_ a: A, _ b: A, if predicate: () -> Bool) -> (A, A, Bool) {
    return predicate() ? (b, a, true) : (a, b, false)
}

Closed by #70.


long helm charts are going too out of the box

While displaying the helm chart in the helm dashboard long chart goes out of the box.
Here is a screenshot of the issue: https://imgur.com/a/Is8j0Ry

Thanks. This is supposed to be fixed with https://github.com/komodorio/helm-dashboard/commit/2262445b7574497de3b2eea4ec30da25110dda0b


If assign belongsTo foreign_key column name same with associated name will broken

for example:
public function owner()
{
return $this->belongsTo(User::Class, 'owner', 'id');
}
will not work

public function owner()
{
return $this->belongsTo(User::Class, 'owner_id', 'id');
}
will work

I don't think this is meant to be supported.


Added set of messages to support Glonass and combined GNS

Added support for GNSS Fix Data message (GNS).
GSA, RMC and GGA messages extended to support GLONASS and GNS (combined systems).

List of new messages supported:
GPGNS, GLGNS, GNGNS, GLGSA, GNGSA, GNGGA, GLGGA, GNRMC, GLRMC.
It allows to use data from combined satellite navigation systems - currently GPS + GLONASS.

@GrzegorzBlok This is an amazing piece of work. Thank you very much. However it also introduces a significant amount of breaking changes, so would want to ponder a little bit over this first. Perhaps we could move it into a separate branch first, and I can meddle some with it.

@dotMorten Sure, branch might be a good idea. I'm not sure if I'm able to move it into a separate branch.
Just one note -  all implementations that I made are backward compatible, so any existing code should work with my this without requiring any change.

Hi Morten, are you still interested in the pull request? Do you want me to do anything about this to allow it to be merged?

We have to redo the PR. When you create it, you need to pick a different branch than the master branch to push it to.

I've created  a dev branch you can do the PR to.
You're right code is backward compatible, but there are still breaking API changes since you changed the inheritance hiararchy, and also if you look at the changes in one of the unit test, that change was made because a breaking change for one of the enums who's namespace change.


[Discussion] 0.1 release criteria

Let's brainstorm about what we'd like to get done before making a 0.1 release to crates.io!

It will be nice if we have these features:

Custom default handler (#10)

@tzilist is implementing this.
In addition, we might want to run a chain of middleware even if routing fails. Some middleware like compression should run regardless of the routing result.

Configuration (#5)

I have a vague idea on the design, which can cover default configuration, initialization from file/env, and per router/endpoint overriding. But we don't need to implement all at once; I think it's okay to start with defaults and overriding.

For 0.1, would love to see #51 landing. This will enable us to create a complete web app (easily) with a separate frontend with any framework and backend with tide and diesel.
P.S. I have a working example with tide + diesel + frontend.

@tirr-c

In addition, we might want to run a chain of middleware even if routing fails. Some middleware like compression should run regardless of the routing result.

Yeah, I was wondering how we might want to approach that. Want to open up an issue for further discussion?
I'm going to set up a 0.1 milestone and we can start marking issues, including the ones y'all have mentioned here. I'll also open some additional issues around docs.

OK, here's the 0.1 milestone, populated with most of the things mentioned here, other than a new issue for "always-applied" middleware.

@sendilkumarn

I have a working example with tide + diesel + frontend.

😍

Opened #61 and added it to the milestone.

@tirr-c

In addition, we might want to run a chain of middleware even if routing fails. Some middleware like compression should run regardless of the routing result.

Yeah, I was wondering how we might want to approach that. Want to open up an issue for further discussion?
I'm going to set up a 0.1 milestone and we can start marking issues, including the ones y'all have mentioned here. I'll also open some additional issues around docs.

In regards to this, I am thinking that I will have the router handle this instead of how we are handling it here. I suppose my idea here is that instead of having to have separate logic around whether a route is found or not, the user can just specify a response (just like any other endpoint) and the middleware will behave the same. Not sure what you guys think about this but let me know :)

Other thoughts (or really mostly echos 😄 ):

I'll echo @sendilkumarn comment and even expand on it. I think tide should handle OPTION, CONNECT and TRACE automatically.
Finalize config spec as @tirr-c mentioned. Specifically, we really should have a way to handle compilation configs and runtime configs.

I'll echo on a couple of points:

Compile time and runtime configuration
Staticfile serving
Templating examples.

I'd like to see some sort of logging infrastructure provided for users of Tide as a part of 0.1, but I don't think it is a blocking concern.

cc @killercup

@tzilist @bIgBV would you mind opening issues for the items on your lists that don't have issues yet? I'll get them tagged and on the milestone, and that way we'll have a good place to talk through the design as well!

0.1 has been released, and we're regularly releasing new versions now. I think it's safe to close this (:


sort extension does not use cell_parser function

Sort extension does not understand cell_parser function(if defined).
Reproduction steps:

http://koalyptus.github.io/TableFilter/custom-filtering.html - here is a special parser for filtering
It knows how to handle select and checkbox values => filtering works fine
change col_types for first and last column to string

Expected behavior:
Sort extension should use the same function like filters in order to get values table cells.
Observed behavior:
Sort extension tries to use different logic to get values from cells.
TableFilter version<EMAIL_ADDRESS>Browser and version: chrome 66.0.3359.181 (Official Build) (64-bit)
OS and version: windows 10

Tx for pointing this out @vojtechovsky, the inconsistency you described above should be fixed starting from v0.6.41. You can see the fix in action in same demo: http://koalyptus.github.io/TableFilter/custom-filtering.html


LPE GPS timeout

I had a test flight today with px4 stable branch + LPE estimator.
Several times there were a strange issues when copter in POSCTL mode becomes drift very fast.
I've inspect a logs and found following messages:
2016_06_25_10_13_10: [lpe] gps init lat  55.23 lon  37.74 alt 186.3 m
2016_06_25_10_13_10: [lpe] xy resume
2016_06_25_10_13_10: [lpe] home lat  55.23 lon  37.74 alt 119.2 m
2016_06_25_10_13_11: [blackbox] /fs/microsd/log/2016-06-25
2016_06_25_10_13_11: [blackbox] recording: 13_13_10.px4log
2016_06_25_10_13_12: [lpe] home lat  55.23 lon  37.74 alt 119.2 m
2016_06_25_10_13_14: LANDING DETECTED
2016_06_25_10_13_26: TAKEOFF DETECTED
2016_06_25_10_13_26: [lpe] home lat  55.23 lon  37.74 alt 119.2 m
2016_06_25_10_13_28: LANDING DETECTED
2016_06_25_10_13_28: TAKEOFF DETECTED
2016_06_25_10_13_29: [lpe] home lat  55.23 lon  37.74 alt 119.2 m
2016_06_25_10_13_41: [lpe] GPS timeout
2016_06_25_10_13_41: [lpe] xy timeout
2016_06_25_10_13_48: REJECT AUTO RTL
2016_06_25_10_13_54: [lpe] gps init lat  55.23 lon  37.74 alt 195.6 m
2016_06_25_10_13_54: [lpe] xy resume
2016_06_25_10_15_00: LOW BATTERY, RETURN TO LAND ADVISED
2016_06_25_10_15_03: LANDING DETECTED
2016_06_25_10_15_03: DISARMED by RC
2016_06_25_10_15_04: [blackbox] stopped (3611 drops)
2016_06_25_10_15_06: [lpe] GPS timeout
2016_06_25_10_15_06: [lpe] xy timeout
2016_06_25_10_15_38: ARMED by RC
2016_06_25_10_15_39: [blackbox] /fs/microsd/log/2016-06-25
2016_06_25_10_15_39: [blackbox] recording: 13_15_38.px4log
2016_06_25_10_15_41: DISARMED by RC
2016_06_25_10_15_42: [blackbox] stopped (180 drops)
2016_06_25_10_15_45: ARMED by RC
2016_06_25_10_15_46: [blackbox] /fs/microsd/log/2016-06-25
2016_06_25_10_15_46: [blackbox] recording: 13_15_45.px4log
2016_06_25_10_15_52: DISARMED by RC
2016_06_25_10_15_54: [blackbox] stopped (0 drops)

http://logs.uaventure.com/view/RZYxAMx9kWHBMCVkTc3kB9
After switching estimator to inav  gps timeout issue disappears and there were no any drifts.

@jgoppert I had the same on my test system.

The gps signal is poor so it  stops publishing position and effectively drops back to altitude mode. To fix we need to lower gps requirements.

Will look to find what gps  requirement failed in your log asap.

Here is why it timed out, your EPH went above 3.

Also, your version is somewhat outdated, as you don't have LPE_EPV_MAX (parameter for vertical that was reacently added)

So here the options:

Increase defaut LPE_EPH_MAX
When we exceed LPE_EPH_MAX after boot, do not stop using GPS to estimate position.

Also I like this idea:

Make estimator position timeout based on covariance of estimate instead of a fixed time interval, but still 5 seconds above the max EPH is still probably not going to work, so we will need to handle that with one of the other two steps mentioned above.

Optical flow has the same problem.
nsh> INFO  [local_position_estimator] [lpe] flow init: quality 153 std 19
INFO  [local_position_estimator] [lpe] xy resume
INFO  [commander] home: 40.4300001, -86.9290010, 41.23
INFO  [local_position_estimator] [lpe] home lat  40.43 lon -86.93 alt  41.2 m
INFO  [local_position_estimator] [lpe] flow timeout
INFO  [local_position_estimator] [lpe] xy timeout
WARN  [navigator] navigator: global position timeout
INFO  [local_position_estimator] [lpe] flow init: quality 119 std 4
INFO  [local_position_estimator] [lpe] xy resume

@iZhangHui You're likely flying over badly textured surfaces, where flow cannot stay locked. A log would help to confirm this.

#4914 will improve this. It will attempt to navigate without flow longer.


polyfill returns invalid sourceMappingUrl and kills app in Safari 9.1

To reproduce:
$ curl 'https://cdn.polyfill.io/v2/polyfill.min.js?features=Intl.~locale.en' -H 'Accept-Language: en-US,en;q=0.8' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11) AppleWebKit/602.1.13 (KHTML, like Gecko) Version/9.1.8 Safari/602.1.13' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' -H 'Cache-Control: max-age=0' -H 'Connection: keep-alive' | grep "source"
Result:
//# sourceMappingURL=Intl.min.js.map
Requesting that file:
$ curl 'https://cdn.polyfill.io/v2/Intl.min.js.map' -H 'Accept-Language: en-US,en;q=0.8' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11) AppleWebKit/602.1.13 (KHTML, like Gecko) Version/9.1.8 Safari/602.1.13' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' -H 'Cache-Control: max-age=0' -H 'Connection: keep-alive'
Results in:
Cannot GET /v2/Intl.min.js.map
Note that while other browsers seem to handle this okay, Safari 9.X is dying and showing us white screens (apparently) because it fails to properly load the original JS file.

Hi, I have this exact issue with //# sourceMappingURL=Intl.min.js.map failing on Safari 9.x and it unfortunately appears to persist, despite #1283.
To reproduce: https://cdn.polyfill.io/v2/polyfill.min.js?features=Intl.~locale.en&flags=always
If you search within that file you’ll find the offending source map comment which unfortunately prevents any of the polyfills from loading.
Please let me know if you need any more information from me and thank you for your efforts in maintaining such a great service!

@JakeChampion I have also confirmed that this is not fixed on either prod or the current QA build:
curl 'https://qa.polyfill.io/v2/polyfill.min.js?features=Intl.~locale.en' -H 'Accept-Language: en-US,en;q=0.8' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11) AppleWebKit/602.1.13 (KHTML, like Gecko) Version/9.1.8 Safari/602.1.13' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' -H 'Cache-Control: max-age=0' -H 'Connection: keep-alive' | grep "source"
I hacked around it a few months ago on our end, but figured you might want to know.

@bsangster-classy I did, yes. It looks like the commit didn't get added into master somehow, I've added it again by cherry-picking the commit.


OpenJS - upcoming conference news

Wanted to share this FYI out to the Express.js community to let ya’ll know that the OpenJS Foundation has opened its call for speakers for the upcoming virtual OpenJS World event on 9 June 2021. We would love to make sure the project is well represented in the conference content! If anyone is interested and has more questions, wants help writing an abstract, or wants to get involved with the CFP Reviews, email me at jory @ thestoryofjory dot com or ping me in Slack.
We’d also love your help getting the word out about the event - if you’d be up to putting a link or banner on the project website, tweeting from your project account, etc. we would be very grateful!

this issue can be closed, and this comment can be deleted.


How to do static assets middleware?

Hi can you please give me an example on how to use with http.FileServer for serving static assets?

:+1:  +1 to this Issue
The use case I'm interested is: goji serve static files in development, on /* and api on /api/v1/*
Would be useful to only register API endpoints, and put on a clever NotFound handler like @zenazn posted before.
If I succeed in creating a decent middleware I'll post it

I don't think I'm able to make a plugin out of it.. yet (my skills in go + goji are like... well.. forget it!)
But in the meantime I've solved implementing a reverse string pattern
It's very simple. Posting it here so if you have ideas, I may also benefit!
// ReverseStringPattern is a simple struct keeping the raw string
// and the prefix to skip in requests
type ReverseStringPattern struct {
	raw    string
	prefix string
}

// prefix returns "" so goji doesn't ever skip the matching function
func (s ReverseStringPattern) Prefix() string {
	return ""
}
func (s ReverseStringPattern) Match(r *http.Request, c *web.C) bool {
	path := r.URL.Path
	return !strings.HasPrefix(path, s.prefix)
}
func (s ReverseStringPattern) Run(r *http.Request, c *web.C) {}

func NewReverseStringPattern(s string) ReverseStringPattern {
	var prefix string = s
	if strings.HasSuffix(s, "*") {
		prefix = s[:len(s)-1]
	}
	return ReverseStringPattern{raw: s, prefix: prefix}
}

// serveStatic makes sure that if running for development
// purposes, it serves static content from /static
func serveStatic() {
	buildMode := os.Getenv("mode")
	switch buildMode {
	case "development", "":
		reverseApiPattern := NewReverseStringPattern("/api/*")
		goji.Handle(reverseApiPattern, http.FileServer(http.Dir("static")))
	case "production":
		return
	default:
		return
	}
}


Add source slices

SourceSlice may be helpful when:

Using slices into source instead of source+span. (nom uses this approach)
Using slice in error description

#[derive(Error, Diagnostic, Debug, Clone, PartialEq)]
#[error("return type mismatch: got \"{got}\", expected \"{expected}\"")]
pub struct ReturnTypeMismatch<'i> {
	/// Type of return value
	pub got: String,
        /// Span of returned value
        #[label("this has \"{got}\" type")]
        pub got_span: SourceSpan,

	/// Expected type of return value
	pub expected: &'i str,
        #[label("return type specified here")]
        pub expected_span: SourceSpan,  // <- This may be inferred from `expected`
}

could be changed to
#[derive(Error, Diagnostic, Debug, Clone, PartialEq)]
#[error("return type mismatch: got \"{got}\", expected \"{expected}\"")]
pub struct ReturnTypeMismatch<'i> {
	/// Type of return value
	pub got: String,
        /// Span of returned value
        #[label("this has \"{got}\" type")]
        pub got_span: SourceSpan,

	/// Expected type of return value
        // Maybe need to add something like: #[source_slice]
        #[label("return type specified here")]  // <- assumes that this is subslice of source code
	pub expected: &'i str,
}

@zkat what do you think of this idea? Would you accept a PR for this?


Are hard-coded automata useful?

Something like:
size_t match_fn(intptr_t* state, const char* s, size_t size) {}

Initially called with *state==0.
Returns size of largest match in the substring. Or 0 if no match.
It sets *state=0 when a longer string will not match.
Called with size==0 at end of input to cater to "end of line" matches.

In the spirit of the UNIX philosophy, this wouldn't be in the realm of the "one thing" that Lace should do well.
Also, if ZDDs become reality and support regex, then you'd basically get the same performance out of a compile-time constant ZDD.


Linux kernels 2024-01-22

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

No space left on device on OfBorg…

@OfBorg test kernel-generic.linuxTesting

Lib tests build locally.

@OfBorg test kernel-generic.linux_testing


Naming files

Hi everyone,
I'm having issues naming final files, that are placed into AWS S3.
They are named as the following example:<PHONE_NUMBER>3514_{my-ip}_d54c46f4b0c84360b7f5c1728c35796b.gz, however I would like to name them just as {uuid}.log.gz. How can I achieve this?
log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
    <Appenders>
        <Console name="ConsoleAppender" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss,SSS} [%t] %-5p %c{36} - %m%n"/>
        </Console>
        <Log4j2Appender name="Log4j2Appender">
            <PatternLayout pattern="%d{HH:mm:ss,SSS} [%t] %-5p %c{36} - %m%n"/>
            <verbose>false</verbose>

            <stagingBufferSize>100</stagingBufferSize>
            <stagingBufferAge>1</stagingBufferAge>

            <s3Bucket>myBucket</s3Bucket>
            <s3Path>me/logs-test/%d{yyyy/MM/dd}</s3Path>

            <s3Region>eu-central-1</s3Region>
            <s3PathStyleAccess>false</s3PathStyleAccess>
            <s3Compression>true</s3Compression>
            <s3SseKeyType>SSE_S3</s3SseKeyType>
            <s3CannedAcl>BucketOwnerFullControl</s3CannedAcl>
            <s3Compression>true</s3Compression>
            <s3KeyGzSuffixEnabled>true</s3KeyGzSuffixEnabled>
        </Log4j2Appender>
    </Appenders>
    <Loggers>
        <Root level="INFO">
            <AppenderRef ref="ConsoleAppender" />
            <AppenderRef ref="Log4j2Appender" />
        </Root>
        <Logger name="com.van.logging" level="debug" additivity="false">
            <AppenderRef ref="ConsoleAppender" />
        </Logger>
    </Loggers>
</Configuration>

Thanks in advance.

The log names are determined by the log4j-s3-search project; this is just a sample app that uses the project.
I don't think I made the log names configurable to that extent, but I'll look into it.

Is the inclusion of the host name / IP address the issue?
The UUID part alone cannot be used for the log name since that ID is generated once per run of the program, so it won't change per "file" uploaded to S3. Currently the date/time is used so that:

there is a way to sequence the logs.
each file uploaded won't overwrite the earlier ones.

I can add an option to remove the host name / IP address component so that the name will be, for your example,<PHONE_NUMBER>3514_d54c46f4b0c84360b7f5c1728c35796b.gz. Will that work for you?


Panel Duplication

Background
This is a Dec roadmap item, in order to create time efficiencies by allowing teams to duplicate a panel created for, e.g. sift, for further use for, e.g. Selection Day, rather than having to create afresh.
Once a panel has been created, teams can duplicate the same panel thereby saving time and resources.
User Story
As admin, I would like to be able to duplicate existing panels so that I can manipulate the information and swap panellists as required.
https://miro.com/app/board/uXjVL57tdUw=/
Benefit(s) to user (if not already clear from User story)
To save admins time and resources.
Feature(s) Description

[ ] The system should allow the user to create a copy of the original panel with all its details, including panellist information, when they want to duplicate that panel for further use.
[ ] Admins should be able to use the duplicated panel, when they need to create another panel with similar requirements, instead of creating it from scratch.
[ ] Admins can choose to duplicate all panels or only selected panels.
[ ] Admins are able to switch panellists from one panel to another.

Future iterations

[ ] Make stored panellist's information to be reactive so that when you start typing, it pops up so you can choose the right options.
[ ] As soon as admins start typing in a previously used panel i.e. 'Panel 10' for example, when they go to the same panellists who were in that panel, the platform will just populate it.

Acceptance Criteria
It's done when...

When the user attempts to duplicate the panel, the system should allow the user to create a copy of the original panel with all its details, including panellist information

When the user starts typing in the duplicated panel, the platform should populate it with the same panellists who were in the original panel

When the user wants to duplicate either all panels or selected panels, the system should allow the user to choose which panels to duplicate

When the user wants to switch panellists from one panel to another, the system should allow the user to do so

When the feature has been deployed, merged without errors, and relevant technical documentation and user guidance have been updated

Definition of Done

[ ] User stories/acceptance criteria met
[ ] Internal reviews passed (feedback actioned)
[ ] User testing passed
[ ] Relevant technical documentation updated
[ ] User guidance updated
[ ] Deployed and merged without errors

User Testing Steps
Specify for users what is being tested (but not how to test it.)
Feature Champion

Descope this item and review next year, there's currently no demand from teams for it.


TensorFlow 1.14 or 1.15 not detecting the Titan XP GPU. TensorFlow 2.x detectes the same Titan XP GPU !

System information

Have a simple code : to check the GPU and tested with the TensorFlow 1.14, 1.15 and TensorFlow 2.2 and 2.3. Code is shared below.

import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))
tf.config.list_physical_devices('GPU')

Output for TensorFlow 1.14 and TensorFlow 1.15
` python
Python 3.6.9 (default, Oct  8 2020, 12:12:24)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import tensorflow as tf
/home/rr/TF_1_14/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:516: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint8 = np.dtype([("qint8", np.int8, 1)])
/home/rr/TF_1_14/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:517: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint8 = np.dtype([("quint8", np.uint8, 1)])
/home/rr/TF_1_14/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:518: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint16 = np.dtype([("qint16", np.int16, 1)])
/home/rr/TF_1_14/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:519: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint16 = np.dtype([("quint16", np.uint16, 1)])
/home/rr/TF_1_14/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:520: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint32 = np.dtype([("qint32", np.int32, 1)])
/home/rr/TF_1_14/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:525: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
np_resource = np.dtype([("resource", np.ubyte, 1)])
/home/rr/TF_1_14/lib/python3.6/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:541: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint8 = np.dtype([("qint8", np.int8, 1)])
/home/rr/TF_1_14/lib/python3.6/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:542: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint8 = np.dtype([("quint8", np.uint8, 1)])
/home/rr/TF_1_14/lib/python3.6/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:543: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint16 = np.dtype([("qint16", np.int16, 1)])
/home/rr/TF_1_14/lib/python3.6/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:544: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint16 = np.dtype([("quint16", np.uint16, 1)])
/home/rr/TF_1_14/lib/python3.6/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:545: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint32 = np.dtype([("qint32", np.int32, 1)])
/home/rr/TF_1_14/lib/python3.6/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:550: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
np_resource = np.dtype([("resource", np.ubyte, 1)])
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))
2020-10-26 11:56:38.543745: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcuda.so.1
2020-10-26 11:56:38.570403: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1005] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-10-26 11:56:38.570983: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with properties:
name: TITAN Xp major: 6 minor: 1 memoryClockRate(GHz): 1.582
pciBusID: 0000:01:00.0
2020-10-26 11:56:38.571042: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcudart.so.10.0'; dlerror: libcudart.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64:/usr/local/cuda-10.1/lib64:/usr/local/cuda/extras/CUPTI/lib64
2020-10-26 11:56:38.571087: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcublas.so.10.0'; dlerror: libcublas.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64:/usr/local/cuda-10.1/lib64:/usr/local/cuda/extras/CUPTI/lib64
2020-10-26 11:56:38.571131: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcufft.so.10.0'; dlerror: libcufft.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64:/usr/local/cuda-10.1/lib64:/usr/local/cuda/extras/CUPTI/lib64
2020-10-26 11:56:38.571170: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcurand.so.10.0'; dlerror: libcurand.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64:/usr/local/cuda-10.1/lib64:/usr/local/cuda/extras/CUPTI/lib64
2020-10-26 11:56:38.571212: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcusolver.so.10.0'; dlerror: libcusolver.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64:/usr/local/cuda-10.1/lib64:/usr/local/cuda/extras/CUPTI/lib64
2020-10-26 11:56:38.571256: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcusparse.so.10.0'; dlerror: libcusparse.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64:/usr/local/cuda-10.1/lib64:/usr/local/cuda/extras/CUPTI/lib64
2020-10-26 11:56:38.573773: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcudnn.so.7
2020-10-26 11:56:38.573792: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1663] Cannot dlopen some GPU libraries. Skipping registering GPU devices...
Num GPUs Available:  0
`

_Output for TensorFlow 2.x
` python
Python 3.6.9 (default, Oct  8 2020, 12:12:24)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import tensorflow as tf
2020-10-26 11:46:11.025219: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))
2020-10-26 11:46:21.325573: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcuda.so.1
2020-10-26 11:46:21.349766: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:982] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-10-26 11:46:21.350134: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1716] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: TITAN Xp computeCapability: 6.1
coreClock: 1.582GHz coreCount: 30 deviceMemorySize: 11.91GiB deviceMemoryBandwidth: 510.07GiB/s
2020-10-26 11:46:21.350166: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1
2020-10-26 11:46:21.351260: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcublas.so.10
2020-10-26 11:46:21.352291: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcufft.so.10
2020-10-26 11:46:21.352479: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcurand.so.10
2020-10-26 11:46:21.353628: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcusolver.so.10
2020-10-26 11:46:21.354306: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcusparse.so.10
2020-10-26 11:46:21.356778: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudnn.so.7
2020-10-26 11:46:21.356860: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:982] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-10-26 11:46:21.357494: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:982] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-10-26 11:46:21.357935: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1858] Adding visible gpu devices: 0
Num GPUs Available:  1
`

OS Platform and Distribution: Ubuntu 18.04
TensorFlow installed from binary via pip
TensorFlow version (use command below):1.14, 1.15, 2.2 and 2.3
Python version: 3.6
CUDA/cuDNN version: 10.1
GPU model and memory: Titan XP

TF 1.0: python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" : v1.14.0-rc1-22-gaf24dc91b5 1.14.0

TF 2.0: python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)": v2.3.0-54-gfcc4b966f1 2.3.1

Describe the current behavior
The TensorFlow 1.14 and TensorFlow 1.15 not able to detect the GPU or not able use the GPU. In the same system in different virtual environment, TensorFlow 2.2 or TensorFlow 2.3 is able to detect GPU and able to use it as shown above.
Describe the expected behavior
All TensorFlow should be able to detect Titan XP and use the GPU.

Please switch to TF 2.x. We no longer release code on the 1.x branches.

Please switch to TF 2.x. We no longer release code on the 1.x branches.

my code is based on TF 1.14 running with TitanXP. I had to format the system and tried to reinstall all SW's. Hence requesting for support to run TF 1.14 or TF 1.15 to run with GPU Titan XP.

We can no longer support TF 1.x code. It's a matter of headcount and tech evolution.

Has there been any progress on this front? I am experiencing the same issue.
1.15 on Titan XP. Migrating to 2.x is not an option at this point

TF 1.x is no longer supported. We cannot do any change to code on 1.x.


Simplify (remove option)

✓ Checklist:

[ ] This PR has been added to CHANGELOG.md (at the top of the list);
[ ] Tests for the changes have been added (for bug fixes / features);
[ ] Docs have been added / updated (for bug fixes / features).

Codecov Report

Merging #159 (2c51af5) into main (2dc82b3) will decrease coverage by 0.67%.
The diff coverage is 57.29%.

@@            Coverage Diff             @@
##             main     #159      +/-   ##
==========================================
- Coverage   86.56%   85.89%   -0.68%
==========================================
  Files          53       53
  Lines        3572     3615      +43
==========================================
+ Hits         3092     3105      +13
- Misses        480      510      +30

Impacted Files
Coverage Δ

datanymizer_engine/src/settings/mod.rs
91.42% <0.00%> (ø)

datanymizer_dumper/src/lib.rs
58.09% <55.40%> (-2.52%)
:arrow_down:

datanymizer_dumper/src/postgres/dumper.rs
32.14% <68.42%> (-9.28%)
:arrow_down:

datanymizer_engine/src/settings/filter.rs
98.87% <100.00%> (ø)

datanymizer_engine/src/engine.rs
95.37% <0.00%> (-0.90%)
:arrow_down:

Continue to review full report at Codecov.

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


Docs > Getting Started > single-file-example broken link

At

Docs

Getting Started https://reactjs.org/docs/getting-started.html

Try React

Online Playgrounds

In the block
If you prefer to use your own text editor, you can also download this HTML file single-file-example ...
The single-file-example leads to
https://raw.githubusercontent.com/reactjs/reactjs.org/main/static/html/single-file-example.html
Which returns a 404 error.

The same broken link is also present in the next tutorial under the Quickly Try JSX subheading with raw text ... an example HTML file with JSX .... It's likely the broken link is also present in other tutorial pages although I've not checked.
I did some searching and it seems the issue is an incorrect branch name. The main in the link should be switched with master. The updated link would be: raw.githubusercontent.com/reactjs/reactjs.org/master/static/html/single-file-example.html.

@rohildshah thank you for the check. I see the original link works now. Both main and master are available now.


aio functions do not require librt on FreeBSD

On FreeBSD, the aio_ functions require librt only if they use
SIGEV_THREAD completion notification.  However, due to Rust's originally
poor support for C unions, libc doesn't even expose some of the fields of
struct sigevent that SIGEV_THREAD requires.  Accordingly, there is no
need to link librt to programs using aio via libc.
This change partially reverts 8c23f77704d4749f5f137c92a048e22fea9d385e
from PR #1630 .
While I'm here, fix the linkage of lio_listio on DragonflyBSD.  It
does require librt.

r? @JohnTitor
(rust-highfive has picked a reviewer for you, use r? to override)

r? @JohnTitor
(rust-highfive has picked a reviewer for you, use r? to override)

cc @myfreeweb

cc @myfreeweb

@bors r+

@bors r+

:pushpin: Commit f40f3068a0e5de31f663438a950e0fa5f5ef2e8d has been approved by JohnTitor

:pushpin: Commit f40f3068a0e5de31f663438a950e0fa5f5ef2e8d has been approved by JohnTitor

:hourglass: Testing commit f40f3068a0e5de31f663438a950e0fa5f5ef2e8d with merge 9d6d0186e92304e57aafa5e5724ce37c269cee36...

:hourglass: Testing commit f40f3068a0e5de31f663438a950e0fa5f5ef2e8d with merge 9d6d0186e92304e57aafa5e5724ce37c269cee36...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-11, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13
Approved by: JohnTitor
Pushing 9d6d0186e92304e57aafa5e5724ce37c269cee36 to master...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-11, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13
Approved by: JohnTitor
Pushing 9d6d0186e92304e57aafa5e5724ce37c269cee36 to master...

Thanks John!

Thanks John!


code stuck at "self.npc = manager.NeuralPointCloud(cfg)"

Hi, when i want to run the code for replica dataset, the code was stuck at Point_LAM.py
self.npc = manager.NeuralPointCloud(cfg)
It happened a few times. At one time it runs successfully.
Do you have any solution or idea about that?
Thanks!

Hi @Yiiii19,
Sadly, we did not encounter this issue you describe. Typically when code gets stuck like this, it can be RAM related. If you are using a cluster, you can perhaps try to request a bit more RAM and see if it makes a difference.


Suggestion: Offer a secondary slower release cycle?

The amount of work done in this project is amazing and highly commendable. Thank you!
However if Visual Studio Code wants to become more popular I feel like a slower release cycle would be welcomed as professionals can avoid issues that happen after speedy releases. Things / bugs / issues slip through too easily on the monthly release cycle and sometimes new functionality is not wanted or needed, at least not for a while.
Therefor I would like to offer this suggestion:
Can we create two release paths for Visual Studio Code: a fast-lane (current monthly releases) and a slower lane of quarterly releases?
Of course, bug fixes and patches could be released still on a monthly basis.
People can then pick if they would prefer updates faster or like to stick with an existing release longer.
Thanks for reading and your consideration.

We are grooming our issue backlog this month (see #58224). This issue doesn't meet the criteria we've established for keeping the issue open (criteria: not enough votes, unlikely to be done in the next 6-12 months, doesn't align with roadmap).


Getting "429 too many requests", how to use our own Googgle API key?

Hi, I am getting getting "429 too many requests" when translated several strings with Google Translate, do you know how to use our own Googgle API key? Thank you!
Also, is there a way to do batch machine translation at once?
What framework do you want to have? Please provide links of its i18n solution/package.

vue-i18n

Related to #310


[BUG] WaveShield Installation

Describe the Bug
WaveShield don't installs into resources that use regex and don't specify wich files extension should be loaded

Fixed


[LIVY-694] Upgrade Jetty to 9.4.18.v20190429

What changes were proposed in this pull request?
Upgrade Jetty to 9.4.18.v20190429 to fix CVEs.
How was this patch tested?
Existing UTs.

Codecov Report

Merging #244 into master will increase coverage by 0.06%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #244      +/-   ##
============================================
+ Coverage     68.45%   68.52%   +0.06%
- Complexity      927      928       +1
============================================
  Files           100      100
  Lines          5729     5729
  Branches        870      870
============================================
+ Hits           3922     3926       +4
+ Misses         1247     1244       -3
+ Partials        560      559       -1

Impacted Files
Coverage Δ
Complexity Δ

...ain/scala/org/apache/livy/utils/SparkYarnApp.scala
67.32% <0%> (+1.3%)
40% <0%> (ø)
:arrow_down:

...in/java/org/apache/livy/rsc/driver/JobWrapper.java
88.57% <0%> (+5.71%)
9% <0%> (+1%)
:arrow_up:

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 0804c8e...e70c47b. Read the comment docs.

thanks for the patch @peter-toth. I remember there were issues with the thrifserver part due to dependencies on hive which created issues with jetty versions different to the one used earlier. Have you checked that thriftserver works in http mode too with this patch?

Thanks for letting me know about that issue. I will check it with the updated Jetty version.

This PR duplicates an existing PR: https://github.com/apache/incubator-livy/pull/175/files
@peter-toth is there any status on the Jetty check? It would be good to merge the fix due to the outstanding CVE issue.

@coheigea , unfortunately I didn't have time to check http mode, but we are using version 9.4.26.v20200117 now.

This PR is superceded by https://github.com/apache/incubator-livy/pull/305


[Feat] Save and load cuckoo hashtable from hdfs

Description
Because of the storage mechanism of tensorflow, when the embedding table is large, the worker will consume a lot of memory, and eventually OOM.
This PR provides some methods to save or load files from hdfs for dynamic embedding tables.
Type of change

[ ] Bug fix
[ ] New Tutorial
[ ] Updated or additional documentation
[x] Additional Testing
[x] New Feature

Checklist:

[x] I've properly formatted my code according to the guidelines

[x] By running yapf
[x] By running clang-format

[ ] This PR addresses an already submitted issue for TensorFlow Recommenders-Addons
[ ] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works

How Has This Been Tested?
In the test file, you need to replace the filepath with the real hdfs path. In addition, you need to add the header file third_party/hadoop/hdfs.h of hadoop in tensorflow.

Hi @luliyucoordinate, please squash the commits into one, I believe all of them belong to one feature. After that I will merge it, Thank you!

ok


address accessibility issues

for reference, here's the current a11y score for the lighthouse audit

for reference, here's the current a11y score for the lighthouse audit