[Bug]: Assert error

Bug description
Steps to reproduce the problem:

Run my script (github.com/pluget/bukkitScraper)
After a long while script crashes with the following error

Error
  at assert (/home/mble/Code/repos/pluget/bukkitScraper/resourcesData/node_modules/puppeteer/src/common/assert.ts:27:11)
  at FrameManager._FrameManager_onFrameAttached (/home/mble/Code/repos/pluget/bukkitScraper/resourcesData/node_modules/puppeteer/src/common/FrameManager.ts:377:11)
  at /home/mble/Code/repos/pluget/bukkitScraper/resourcesData/node_modules/puppeteer/src/common/FrameManager.ts:97:28
  at /home/mble/Code/repos/pluget/bukkitScraper/resourcesData/node_modules/puppeteer/lib/cjs/vendor/mitt/src/index.js:51:68
  at Array.map (<anonymous>)
  at Object.emit (/home/mble/Code/repos/pluget/bukkitScraper/resourcesData/node_modules/puppeteer/lib/cjs/vendor/mitt/src/index.js:51:43)
  at CDPSession.emit (/home/mble/Code/repos/pluget/bukkitScraper/resourcesData/node_modules/puppeteer/src/common/EventEmitter.ts:102:18)
  at CDPSession._onMessage (/home/mble/Code/repos/pluget/bukkitScraper/resourcesData/node_modules/puppeteer/src/common/Connection.ts:346:12)
  at Connection._Connection_onMessage (/home/mble/Code/repos/pluget/bukkitScraper/resourcesData/node_modules/puppeteer/src/common/Connection.ts:165:17)
  at WebSocket.<anonymous> (/home/mble/Code/repos/pluget/bukkitScraper/resourcesData/node_modules/puppeteer/src/node/NodeWebSocketTransport.ts:61:24)

I believe this is bug on puppeteer side not on mine. It crashes after making couple of thousands requests. My machine have 16 GB of ram, i5 skylake processor, and runs Arch Linux
Puppeteer version
"puppeteer": "^15.0.0",     "puppeteer-extra": "^3.3.0",
Node.js version
v18.3.0
npm version
8.5.5
What operating system are you seeing the problem on?
Linux
Relevant log output
Error
    at assert (/home/mble/Code/repos/pluget/bukkitScraper/resourcesData/node_modules/puppeteer/src/common/assert.ts:27:11)
    at FrameManager._FrameManager_onFrameAttached (/home/mble/Code/repos/pluget/bukkitScraper/resourcesData/node_modules/puppeteer/src/common/FrameManager.ts:377:11)
    at /home/mble/Code/repos/pluget/bukkitScraper/resourcesData/node_modules/puppeteer/src/common/FrameManager.ts:97:28
    at /home/mble/Code/repos/pluget/bukkitScraper/resourcesData/node_modules/puppeteer/lib/cjs/vendor/mitt/src/index.js:51:68
    at Array.map (<anonymous>)
    at Object.emit (/home/mble/Code/repos/pluget/bukkitScraper/resourcesData/node_modules/puppeteer/lib/cjs/vendor/mitt/src/index.js:51:43)
    at CDPSession.emit (/home/mble/Code/repos/pluget/bukkitScraper/resourcesData/node_modules/puppeteer/src/common/EventEmitter.ts:102:18)
    at CDPSession._onMessage (/home/mble/Code/repos/pluget/bukkitScraper/resourcesData/node_modules/puppeteer/src/common/Connection.ts:346:12)
    at Connection._Connection_onMessage (/home/mble/Code/repos/pluget/bukkitScraper/resourcesData/node_modules/puppeteer/src/common/Connection.ts:165:17)
    at WebSocket.<anonymous> (/home/mble/Code/repos/pluget/bukkitScraper/resourcesData/node_modules/puppeteer/src/node/NodeWebSocketTransport.ts:61:24)

I believe this is bug on puppeteer side not on mine. It crashes after making couple of thousands requests.

Belief is not enough for us to triage this bug. Please investigate the request that causes the crash and produce a script that minimally showcases the crash.

I got same problem after upgrading to version 15

I believe this error should be fixed by the next release v16.0.0 (although I was not able to reproduce the issue using the repro, we had a similar error in other scenarios which I believe has the same root cause.

We just released v16.0.0. Would you give that version a try? As the version is expected to fix a very similarly looking bug, I am closing this one. Please feel free to re-open with a repro on v16.0.0 and later.


 I'll fix it in 1-2 hours.

Fixed in 3771b53e4fe391cc32eba1497c6c343c9974d1cc.
There are two issues here.
 So dashboard cards displayed goodjudgmentopen instead of GJOpen. There are currently two types, Forecast and FrontendForecast; I changed the type signature of <DisplayForecasts> component in my previous commit, but unfortunately haven't got around to changing types for /dashboards page, and since any type is allowed and most return values are still any, typescript haven't caught this, and I wasn't careful enough.
Second issue is that CSS could accomodate this situation better. I'll look into CSS now before closing this issue, to avoid later complications.

I'll look into CSS now before closing this issue

displayForecasts code turned out to be more complicated than I expected. Closing this issue for now.

Thanks for dealing with this!


Allows different instance_size for replicas

Description
Added a new var instance_type_replica that allows to create read replicas with a different size than it is on master.
The var name keeps compatibility with a call configured for an older version.

I know this isn't a clean merge at this point, but this functionality would be huge (and has meant I had to avoid using this module and roll my own resources, which makes me sad).  Any chance of getting a rebase from @lfventura and a promise to merge from the maintainers if that's done?

Thanks @lfventura for this pull-request.
v2.23.0 has been just released.
@apenney-beeswax You should be able to delete your fork now.


Bag of tags

Closes: https://github.com/mapbox/gabbar/issues/74

Did a git push --force-with-lease to get all the good stuff from the master branch.

One more git rebase master and git push --force-with-lease in preparation to merge.


Bump to PyO3 0.19

While Tantivy was bumped to 0.20 recently, PyO3 is still at 0.18 whereas 0.19 is current. I think it would be good to have both major dependencies at the current stable versions before making the next release. The migration guide at https://pyo3.rs/v0.19.1/migration.html?highlight=migration#from-018-to-019 contains some hints on what to look out for when making the change.

#98 Submitted. Fun fact 0.19.1 differs from 0.19.0 by a really bad memory reported by yours truly. Did we have fun in prod with that one!

I suspect that you mean https://github.com/PyO3/pyo3/issues/3285 ? Note that this was present since 0.18.0 and hence this package was already affected.


Allow sorting session history

Right now I have some sessions in the following order:

I'd like to have the option to sort these by date and time descending.

It looks like these are Still sessions, though I can't tell for sure from your image. Apparently sorting this session list was just missed, so it's been added and should sort in date/time descending order now, though I don't have a still and can't check for sure.

14286d097e3130d33c48aef50466f78560e53986 corrected this.

Thanks @zuiko42


New package: mbuilov.sed version 4.9

Pull request has been created with Komac v1.11.0 :blueberries:
Microsoft Reviewers: Open in CodeFlow

@wingetbot waivers Add Validation-Executable-Error


Run clippy on all-targets. Also, use --workspace instead of --all

The changes in #670 failed to lint tests and such.

Ah, right. I'll fix in #687?

Worth noting that cargo fmt doesn't seem to support --workspace (only --all), but I'll use it for clippy though.


RHIDP-2063: Remove not recommended line from docs

Versions:
1.1+
Jira link:

https://issues.redhat.com/browse/RHIDP-2063

Preview link:
https://redhat-developer.github.io/red-hat-developers-documentation-rhdh/pr-253/admin-rhdh/#proc-install-rhdh-airgapped-environment-ocp-helm_admin-rhdh
Reviews:

[x] SME: @coreydaley
QE: Not required, just removing a line, doesn't really change the content of the docs.
[x] Peer review: @linfraze

/lgtm

/cherrypick 1.1.x

/cherrypick 1.2.x


Merge Spanner work into master

I tried to clean this up, but it's too tricky as it was merged with master part way through - it doesn't rebase cleanly, and I don't want to lose information.
Ben, once it's green, if you could run the integration tests, that would be useful.

Looks like some changes were missed so I redid the master rebase using some git magic and all tests are passing on my PR here:
https://github.com/GoogleCloudPlatform/google-cloud-dotnet/pull/1113
looks like an appveyor issue -- but build works as do all my tests -- so I think its quite close.

Have taken your PR, added one commit, and that's what this is now. Will run your tests, and merge on green.

Tests pass, CI is green... merging!

Restored the branch so the Spanner team can fetch it for review.


[DataFactory] Blob Events Trigger sample json

Description
Adding example for new Blob Events Trigger in Azure Data Factory, this trigger fires when an event happens in Blob Storage and can start a data processing workflow.
Swagger Spec PR: https://github.com/Azure/azure-rest-api-specs/pull/3008

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] Please add REST spec PR link to the SDK PR
[x] I have read the contribution guidelines.
[x] The pull request does not introduce breaking changes.

General Guidelines

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

SDK Generation Guidelines

[x] If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
[x] The generate.cmd file for the SDK has been updated with the version of AutoRest, as well as the commitid of your swagger spec or link to the swagger spec, used to generate the code.
[x] The *.csproj and AssemblyInfo.cs files have been updated with the new version of the SDK.

Duplicate from #4360


Run integration tests on PR #14

Run integration tests on PR #14

@mortenpi Seems to be working fine in the integration tests. For example: https://github.com/bcbi-test/julia/pull/590

This is good to merge once CI is green.


Remove abseil dependency from Orbit.h

Orbit.h will be used as the public API for manual instrumentation, we shouldn't have it depend on anything.

Also maybe add a compile target for something with Orbit.h (depending on nothing) so that we do not break it during future refactorings.


Remove cacheable: true from ci_data.yml

Follow up from https://github.com/openstack-k8s-operators/ci-framework/pull/1499#discussion_r1584333119
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running

/approve
the less we use cached facts, the better imho. Thanks for that one, @lewisdenny


Used audio cut method

Hi,
I installed react-native-audio-video-tools to use cut() for audio
I have this output in the logs:

it happens while I try to cut an audio

Did you well installed react-native-ffmpeg?

Did you well installed react-native-ffmpeg?

Yes,
followed these steps:
yarn add react-native-ffmpeg
Added use_native_modules! to Podfile
and
pod install

On which platform are you testing ? Android or iOS ?

On which platform are you testing ? Android or iOS ?

Tested on both platform

Please can you provide more ways to help you, for instance, your piece of code, or more interesting, a full repo to debug your problem? Because there may be several sources of the problems including the way of using the package


Code cleanup and refactoring

Work in progress pull request for #76. I'll edit this to add details when it's ready for review.

The scope of this pull request is large enough so I'm going to stop here. This closes #76 even though it does not add pre-commit hooks. Reviewing the commit messages is the best way to get an overview of the changes made. To summarize:

Closes #7 by moving all *.py files out of the top level of the repository into appropriate subdirectories and removing an unnecessary level of analysis subdirectories
Following Python file naming conventions for *.py files and refactoring code accordingly
Closes #6 by deleting the old prototype files. They are interesting relics of old design ideas, but they will confuse new contributors and clutter the repository. Also removes the docker-demo for the same reason and some additional changes to partially address #29.
Closes #75 by switching the universal output pathway file format to tab-separated and adding an example of nodes with spaces in the names for the ML analysis testing.
Other code factoring to address Python linting issues.

@ntalluri can you please review these changes? Some affect your ML code, and you also have a good sense of how all of the SPRAS components work together.
@annaritz you don't need to do a full review but could quickly browse the summary above and commit messages to make sure you don't object to any changes.

This all looks great to me! Thanks @agitter and @ntalluri for tying up these loose ends.

@ntalluri and I discussed her review comments during our meeting today. These changes will create conflicts with her work in #80. Our plan is to merge this during our next meeting and clean up the merge conflicts together.


enableAccessibilityVoice not working in config

When setting enableAccessibilityVoice to true in the config, when I run a test I get no options for voice.
But when I pass enableAccessibilityVoice  as a command line arg npx cypress open -- env enableAccessibilityVoice=true it does give me the option for voice.
Video attached.
https://github.com/user-attachments/assets/4569ed75-c0d7-4c38-80fe-9d7fdb07d264

@w4dd325 , to set cypress environment variables in the cypress.config.js file you need to do as a sub property within the env property, instead of within e2e.
This is an example:
module.exports = defineConfig({
      // [...]
      env: {
            enableAccessibilityVoice: true
      }
      // [...]
});

You can also set it directly in the file cypress.env.json.
Details are explained in the Configuration section of the doc.
Cheers

All working - user error!! thank you!


Need access rights for pull request

Hi @feldmann-phytec, @smk-embedded,
I would need access rights to be able to push my WIP branch to submit my suggested changes.
Thanks,
Stefan

Hi @feldmann-phytec, @smk-embedded, I would need access rights to be able to push my WIP branch to submit my suggested changes.
Thanks, Stefan

Hi @sriedmueller,
where can I change the access rights for you?

Hi @feldmann-phytec,
under the settings tab of the project you can find the point collaborators and teams, where you can add me with Write role. That should do it.

@smk-embedded, it seems @feldmann-phytec does not have permission to change the access rights, can you please add me?


buf: 1.37.0 -> 1.38.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/bufbuild/buf/releases.
meta.description for buf is: Create consistent Protobuf APIs that preserve compatibility and comply with design best-practices
meta.homepage for buf is: https://buf.build
meta.changelog for buf is: https://github.com/bufbuild/buf/releases/tag/v1.38.0
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.38.0 with grep in /nix/store/8m3j99kv874iwdna7fr2xvslgdmg8nj9-buf-1.38.0
found 1.38.0 in filename of file in /nix/store/8m3j99kv874iwdna7fr2xvslgdmg8nj9-buf-1.38.0

Rebuild report (if merged into master) (click to expand)

17 total rebuild path(s)

17 package rebuild(s)

First fifty rebuilds by attrpath

buf
dart-sass
discourse
discourseAllPlugins
gitlab
gitlab-ee
ignite-cli
jekyll
jsonnet
quarto
quartoMinimal
rstudio
rstudio-server
rstudioServerWrapper
rstudioWrapper
shopware-cli

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/8m3j99kv874iwdna7fr2xvslgdmg8nj9-buf-1.38.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A buf https://github.com/r-ryantm/nixpkgs/archive/917dccb34be21a99fcce45cfca021fce37d73162.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/917dccb34be21a99fcce45cfca021fce37d73162#buf

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/8m3j99kv874iwdna7fr2xvslgdmg8nj9-buf-1.38.0
ls -la /nix/store/8m3j99kv874iwdna7fr2xvslgdmg8nj9-buf-1.38.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

18 packages built:

buf
dart-sass
dart-sass.pubcache
discourse
discourseAllPlugins
gitlab
gitlab-ee
ignite-cli
jekyll
jsonnet
jsonnet.doc
quarto
quartoMinimal
rstudio
rstudio-server
rstudioServerWrapper
rstudioWrapper
shopware-cli

Maintainer pings
cc @06kellyjac @lrewega for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

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

Result of nixpkgs-review pr 337443 run on x86_64-darwin 1

10 packages built:

buf
dart-sass
dart-sass.pubcache
ignite-cli
jekyll
jsonnet
jsonnet.doc
quarto
quartoMinimal
shopware-cli


Abort in ssl3_pkt.c

I have version <IP_ADDRESS> of ssleay32.dll and libeay32.dll and got a report of an abort at this location of ssl_pkt3.dll, the ssl3-write_byte() function, line 837:
   i = do_ssl3_write(s, type, &(buf[tot]), nw, 0);
    if (i <= 0) {
        /* XXX should we ssl3_release_write_buffer if i<0? */
        s->s3->wnum = tot;   <<---- ABORTS HERE
        return i;
    }

The s3 pointer probably went bad here.  It occurred during an FTP/TLS session connection drop.  It is intermittent.  I am tracing this down in our multi-threaded calling functions,  but I wanted to note the inline comment,:
/* XXX should we ssl3_release_write_buffer if i<0? */

where possibly the coder's question of releasing the write buffer when i<0 is necessary in order to have a graceful exit with a negative return value allowing for the calling function to capture the possible socket drop.
Thanks
Hector Santos, Santronics Software
hsantos@isdg,net

Do you use the same SSL * from multiple threads?

I have an 15+ years old multiple internet protocols client/server design.  Much to recall about the design but we did follow the long history of OpenSSL multiple thread model.  This includes using WIndows Locks/Mutexes and TLS (Thread Local Storage) design to help separate dynamic objects.  Very complex model, it has all been debugged and solidified over the many years.   For the FTP Server, there is an implicit (port 990) vs explicit AUTH TLS/SSL design.  When starting the FTP server, a certificate is loaded and a SSL context created for the process.  For each connection or explicit call to AUTH TLS/SL, ssl_accept(ftpserver->GetContext(), ssl_options) is called.
I'm currently going thru a load/stress test, forcing drops during file transfers, and nothing so far, but of course, that doesn't mean anything.
I was just wondering if there anything to consider with the coder's inline comment. if i < 0, i is there a socket error, i.e. like a drop?    I see what you mean if there was shared context between threads, you wouldn't be sure to release pointers at that point.

I was just wondering if there anything to consider with the coder's inline comment. if i < 0, i is there a socket error, i.e. like a drop?

That comment should just be removed. It is not necessary to call ssl3_release_write_buffer() at that point. All that function does is free up some memory that will get freed later anyway when SSL_free() is called.

if s->s3 is invalid or NULL at that point then something has gone badly wrong (probably somewhere else). It suggests some form of memory corruption (which could be due to threading issues as @kroeckx was probably thinking)

Within a single thread, I've been able to recreate socket drop file transfer aborts within ssl3_pkts.c and t1_enc.c.  100% repeatable.  Captured socket drop aborts are releasing session pointers, including ssl so this is all being re-investigated.  Could be a timing or initialing issue, while the data channel thread is doing I/O, pulling the rug from under its feet.  Async 101 stuff.  arggggggggggg.   Thanks for your input.

Ok - so can this issue be closed for now?

I'll close it,  I can always open it up again if I find something,.  My stress loads connection drops abort within the sslwrite() code consistently in the same various spots.  I want to double check w/ prior openssl versions since its the only big change in our last release was for the TLS v1.3/EDHE Cipher server-side enabling.  I also want to find out why an exception catch around the sslwrite call is not trapping the aborts .   Thanks


use http/2 features instead of websocket

use http/2 features instead of websocket
The idea was developed and discussed during an attempt to generally use http/2 instead of http/1
https://github.com/beenotung/ts-liveview/issues/4
Possible reasons to use http/2 solely instead of http/1or2 plus websocket
a) easier to setup/install/deploy
b) not having to take care for security and abuse of 2 different stacks
(see this for additional security fields of WS: https://brightsec.com/blog/websocket-security-top-vulnerabilities/ )
c) not having to take care for performance of two stacks
d) easier for features like auto reconnect (network break or change)
e) easier to debug
f) content delivery strategy has not to be split to two types of connections
(e.g. when using things like preload see https://github.com/beenotung/ts-liveview/issues/14 or lazy loading)
g) ...
Just aggregated the main information/sources (from https://github.com/beenotung/ts-liveview/issues/4):

http/2 seems to support full bidi streaming, so there seems to be:

no latency disadvantages compared to WS
no need for ajax

as far as I get, one need to use:

SSE to push messages down
96% coverage at can-I-use https://caniuse.com/?search=Server sent event
fetch api to send requests up
93% coverage at can-I-use https://caniuse.com/mdn-api_fetch
and there seems to be also a polyfill
if one really!? want/need more browser support (e.g. IE10) https://github.com/github/fetch

Details:

Articles like this (linked in another answer) are wrong about this aspect of HTTP/2. They say it's not bidi.
Look, there is one thing that can't happen with HTTP/2: After the connection is opened, the server can't initiate a regular stream, only a push stream. But once the client opens a stream by sending a request, both sides can send DATA frames across a persistent socket at any time - full bidi.
That's not much different from websockets: the client has to initiate a websocket upgrade request before the server can send data across, too.

...

If you need to build a real-time chat app, let's say, where you need to broadcast new chat messages to all the clients in the chat room that have open connections, you can (and probably should) do this without websockets.
You would use Server-Sent Events to push messages down and the Fetch api to send requests up. Server-Sent Events (SSE) is a little-known but well supported API that exposes a message-oriented server-to-client stream. Although it doesn't look like it to the client JavaScript, under the hood your browser (if it supports HTTP/2) will reuse a single TCP connection to multiplex all of those messages. There is no efficiency loss and in fact it's a gain over websockets because all the other requests on your page are also sharing that same TCP connection. Need multiple streams? Open multiple EventSources! They'll be automatically multiplexed for you.

this and more details in:
https://stackoverflow.com/a/42465368
edit:
if this can really be confirmed and it works like this, I was exactly right yesterday with my casual comment "could it be matched by others protocols and advanced configurations"  :-)
-> at first, the client has to open the stream, similar to how the client has to initiate the WS upgrade...
(so you could/should keep even the WS indicator badge on your demo, it only has to be renamed to: stream open)

some more background on http/2 bidi streaming:
https://web.dev/performance-http2/#streams-messages-and-frames

A Complete Guide to HTTP/2 in Node.js (With Example Code)
https://www.sohamkamani.com/nodejs/http2/

there should be  a way, since:
fetch api to send requests up:  93% coverage at can-I-use https://caniuse.com/mdn-api_fetch
and there seems to be also a polyfill  if one really!? want/need more browser support (e.g. IE10) https://github.com/github/fetch

web docs: using fetch API
https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

browser compatibility chart for using fetch API
https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch#browser_compatibility

many fetch examples:
https://github.com/mdn/fetch-examples/

...

I know how to enable server push updates to the client with SSE, but not sure how to send updates in stream from client to server.
I checked the examples in this article[1] again, seems still not possible in firefox (also tested with default settings in latest version of chrome (stable release))
[1] https://developer.chrome.com/articles/fetch-streaming-requests/
With http2's header compression, maybe it's fine to send multiple request (instead of using a single request)

so far so good :-)
hmm - is there nothing one could take from mentioned above sources 7, 6 and 5?

I just did a benchmark[1] on http2 request-response and websocket.
Tested locally with https/wss.
The observed speed:
request-response: 45 ms/cycle
websocket: 1 ms/cycle
[1] https://github.com/beenotung/ts-liveview/tree/benchmark/benchmark
Maybe this test does not align with the real-world access pattern, maybe the bottleneck are located in different place :thinking:

thats interesting! Would reallly interesting what about the numbers in full real world example appliccation.

just a another deep link:
8) Consuming a fetch as a stream
https://developer.mozilla.org/en-US/docs/Web/API/Streams_API/Using_readable_streams#consuming_a_fetch_as_a_stream

Regarding consuming a fetch response as stream, it may be easier to use Server-Event-Stream, it native reconnect mechanism. On the other hand, we cannot send fetch request as stream yet (expect multi-part form, but that still require all blobs of the file to be ready when creating the form data).
When mainstream browsers support TextEncoderStream, or make it possible to stream ReadableStream as request body, it may be more lightweight alternative to websocket which having similar performance.

fetch examples consisting of live demos and its source code have been moved to:
https://github.com/mdn/dom-examples/tree/master/fetch

What do you think of this example?
https://mdn.github.io/dom-examples/fetch/fetch-text/
Isn't this the direction we are looking for?
It's really fast... plz look at the screenshot of webdevtool

added some detail into comment above

or am I thinking into a complete wrong direction?

when clicking around speed is varying between 3ms and 26ms (not perfectly sure if this is the full loop):

Converting the end-to-end time used for each request into refresh rate (Hz) is an interesting perspective.
I did some benchmark testing end-to-end used time for API calling with websocket and ajax (fetch), it looks longer time then the text API demo, probably because the demo used static file but my benchmark API need to some some calculation and json encoding/decoding.
locally tested result:

API approach
used time between making request and checking response

fetch
30 - 45 ms/req

websocket
>1 ms/req

glad to see you are looking into details further!
just two questions regarding speed:

this is quite a big difference in speed in your benchmark between websocket and fetch.
-> Do you have any idea what the reason could be (beside websocket efficiency)?
Is data traveling the same way? Is maybe the proxy involved?

regarding speed difference between text demo and your benchmark:
-> If its from

some calculation and json encoding/decoding
shouldn't this added time also be present in same height for websocket?
Or could one follow if websocket is below 1ms, the time for calculation should be also well below 1ms since this is also part of websocket?

regarding the question: what is fast enough?
we had to first answer the question: fast enough for what?
for a multiplayer game? Than we should be end to end in the field of 120Hz (8ms)
for a UI where users are feeling that they are directly manipulating objects, 6Hz (100ms) seems to be enough

the response time guidelines for web-based applications are the same as for all other applications. These guidelines have been the same for 46 years now, so they are also not likely to change with whatever implementation technology comes next.

https://www.nngroup.com/articles/response-times-3-important-limits/

when thinking about "fast enough for which usecase"...

Maybe it does not have to be a hard decision.
Maybe one can start with the variant which is most simple and secure to setup and to use for everyone interested in this project.
Maybe this is already fast enough for everyone interested in.
Maybe it's getting even faster with evolution of some internal things
Maybe it is getting faster at latest when switching to http/3 is an realistic possible option
Maybe one will like to add an additional super fast path, harder to setup and to use but suuuuuper fast...

The local test was done directly between browser and node.js server. The proxy was not involved.
I think we can implement fetch based transfer as an option, and make it easy to switch between different transport.
Right now we have ws-native and ws-lite option, fetch-native can be another option, and probably make it the default option to avoid extra http connection


Syslog Support

Adds support for multiple logging output.
Configure log level via string (i.e.: "INFO" or "DEBUG" etc.).
NOTE: Breaks the log level numbers (the log level enum is now in line with syslog).

Looks really good--thanks!

Thanks for the feedback.  It's also worth noting this only adds support for logging to syslog via UDP.  Syslog also supports logging to a local socket and over TCP (something to look into adding in the future).

@kmsquire I recently updated this PR, fixed a few julia 0.4 deprecation warnings and added a max message length attribute to the SysLog type, this allows you to truncate log messages.  I was finding that my application was crashing on some large debug messages when trying to send them over the UDPSocket.

@kmsquire Any plans to merge this in?
We're going to be keeping a fork at https://github.com/analyzere/Logging.jl so I have a vested interest in preventing these two from diverging too much :)

Thanks for the bump.  I've been working my way through issues in other packages, and haven't spent a lot of love here.

No problem, I've seen the other things you've been doing, you're very busy. Thanks!

@sbchisholm @DanielArndt I've added you both as collaborators here, so if there other things that you see that need attention, I'd love the help.
My hopes/plans:

move this repo to JuliaLang
integrate the basic framework into Julia itself, and have this package and/or others just provide extra features.  (https://github.com/JuliaLang/julia/issues/13515)
borrow ideas/code from LumberJack.jl (which is probably pretty good, but I can't get myself past the naming scheme)

It seems that people use this package, so I think the first item is reasonable so that at least more people have access to fix things.  That said, just moving it to JuliaLang doesn't guarantee that.
For the others, I don't know if/when I will find the time. Like a lot of people, I'm a volunteer here, and my availability ebbs and flows.  I'm also about to become a first-time father, so I should probably take care of at least the first item pretty soon... ;-)


Make it possible to override default colors

When I continued implementing this into my personal apps,  I needed to be able to override the default colors.
Upon looking into how we'd do it for Bootstrap 4 (https://github.com/twbs/bootstrap/issues/23112). It looks like we were missing the !default on the colors.
Adding it back allows apps to override it in their scss files.

Thoughts on this one @licatajustin?


Replicate API Added

Hey this model is absolutely amazing, great work!!
We've added it to replicate: https://replicate.com/zsxkib/instant-id
And all the files needed to run in cog can be found in this PR
We'd really appreciate if you could merge this
Thank you so much for your contribution to the AI community

Thank you so much❤

Why you want to add other files? I think add it in README.md is enoght?

The other files (cog.yaml, predict.py) means that any user with a GPU can easily run your model locally, using Cog containers, there's no need what so ever to think about downloading weights, installing cuda versions, etc. Thinks just work.
E.g. a user can run cog predict -i<EMAIL_ADDRESS>-i width=1024 -i height=1024 after cloning and using Cog, everything will just run!
Let me know what you think @haofanwang :))

I see. Can you add a few lines to explain how to use in README.md? @zsxkib

Hey @haofanwang
I've made the changes you asked for:

cog/predict.py
File runs when user calls cog predict -i ...
cog/README.md
A README explaining what Cog is, how it works, etc.
cog.yaml
Unfortunately, this file has to be in the root dir for Cog to work properly.
.gitignore
I've added one line for a hidden .cog folder.
README.md
I've added one line to add a Replicate badge so that people can run it in a web UI.

I hope this helps :))

LGTM, thank you❤!


Simple example repo for building scala and protobuf with bazel

Hi team. First off, thank you for this excellent software.
I am trying to get started with protobuf in an existing scala repository that builds with bazel. Some simple search attempts largely came up empty when trying to find a minimal example (which I would then try and integrate).

TLDR; I am trying to get this small example of my own to run:
https://github.com/abhandaru/bazel-scala-proto-example
Any advice, re-labeling of this issue, or pointers to solutions would be hugely appreciated.
The example project above contains the following:

A README.md with bazel settings, command used, and error output
A WORKSPACE file with scala, protobuf, and rules_scala versions

These versions might be stale, happy to retry with suggested SHAs

A src/example folder with a BUILD file and two source files

Thank you for taking a look. Let me know if the issue format needs any changes.

Okay, solution found.
The ScalaPB documentation covers my mistake. The name of the file without the extension is appended to the package name. This is different from how it works with the java bindings, where you can specify the exact name on the CLASSPATH.
I have updated my example and it builds just fine.
Will close the issue as resolved, but let me know if you find the repo useful (otherwise I can delete it)

Glad to hear it’s resolved!
I don’t need the repo but the community and people coming from google might.
On Wed, 6 Nov 2019 at 2:55 Adu Bhandaru<EMAIL_ADDRESS>wrote:

Closed #873 https://github.com/bazelbuild/rules_scala/issues/873.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/rules_scala/issues/873?email_source=notifications&email_token=AAKQQF73STAEGPB765RDMFLQSIIZHA5CNFSM4JJJK6U2YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOUVIS6YQ#event-2773561186,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKQQF4SXB2HYJQGL5XIYOTQSIIZHANCNFSM4JJJK6UQ
.


Prop:Help Create own model from scratch or fine tuning pre trained model?

My scope create Finnish language chat based on seq2seq model.
Can you give me some hits to start up.
Create own model from scratch or fine tuning pre trained model?
Particularly interesting
https://huggingface.co/Helsinki-NLP/opus-mt-fi-fi model
Maybe it possible to make fine tuning using Finnish language chat pairs
Kuka sei? /t Mina Alex
................................
Any hints appreciated.
Maybe exist ready made project?
In fact I use for now:
https://medium.com/axel-springer-tech/headliner-easy-training-and-deployment-of-seq2seq-models-2a26508b4dae
https://github.com/as-ideas/headliner
Thanks.

The MT models are not trained for replying to messages but rather to produce the same meaning covered by the input in some output message. Typically this is done for different languages but it can also be used in the same language for paraphrasing (or possibly error correction). I don't think it can be fine-tuned to do chat responses, this would rather require training from scratch I believe ...

I have about 1 mio chat pairs.
How I can startup create model?

I guess you should have a look into general seq2seq models and train from scratch. I don't think that the OPUS-MT models are a good starting point.


[android_intent_plus] Building app with plugin causes APK build output to be placed outside of \build directory

System info
Issue occurs on: Android
Plugin name: android_intent_plus
Plugin version: 1.0.1
Flutter doctor output:
[√] Flutter (Channel stable, 2.2.1, on Microsoft Windows [Version 10.0.19041.985], locale en-MY)
    • Flutter version 2.2.1 at C:\src\flutter
    • Framework revision 02c026b03c (11 days ago), 2021-05-27 12:24:44 -0700
    • Engine revision 0fdb562ac8
    • Dart version 2.13.1

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Users\Jason\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_SDK_ROOT = C:\Users\Jason\AppData\Local\Android\sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] VS Code, 64-bit edition (version 1.56.2)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.23.0

[√] Connected device (3 available)
    • Mi A2 (mobile) • 2adfa93 • android-arm64  • Android 10 (API 29)
    • Chrome (web)   • chrome  • web-javascript • Google Chrome 90.0.4430.212
    • Edge (web)     • edge    • web-javascript • Microsoft Edge 91.0.864.37

• No issues found!

Steps to Reproduce

In Flutter 2.2.1 stable, create a new Flutter app project: flutter create <project name>
Add plugin to pubspec.yaml: android_intent_plus: ^1.0.1
flutter build apk

Actual result
Build output is placed in <project dir>\android\app\build directory.
Expected result
Build output is placed in the <project dir>\build directory.
Workaround
I managed to work around the issue by modifying the android\build.gradle file to mirror the build.gradle content created  by earlier versions of Flutter.
Excerpt from android\build.gradle created by Flutter 2.2.1:

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
    project.evaluationDependsOn(':app')
}

Changed to:

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

I wonder if there is something that can be fixed at the plugin level so as to avoid having to apply the workaround for each new project?

i have same issue.
any news update?

I'm having the same issue.
When I use android_intent_plus: ^3.0.1, the android/app/build/ directory is created, with dozens (hundreds?) of files. This directory is not in any .gitignore, so Android Studio asks to add all those files to the git commit.
I also tried with the now deprecated android_intent: ^2.0.2 plugin, and the same thing happens.
@jongkb's workaround works.
I didn't encounter this issue with other plugins.

I just encountered this issue with android_intent_plus. The workaround described above resolved the issue.

I just encountered this issue with android_intent_plus. The workaround described above resolved the issue.

Same here using
android_intent_plus: ^4.0.3

The aforementioned workaround works.


Raycasting not yet implemented

The xml3d element has a method getElementByRay(), but it is not implemented. Raycasting is a pretty fundamental feature, it would be very nice to have.

Closing this issue as getElementByRay was added in  9d1e3cf411bef844d21ef485c2b9ff852ea61892.


Add Redistribute transform to model, Java SDK, and most active runners

This initial PR adds Redistribute transform(s) according to:

Design doc for Redistribute (dev@ thread)
Design doc for Redistribute allowing duplicates (dev@ thread)

The various runners were unable to pass the tests without specialized translation, which suggests bugs in their GBK implementation actually. But I just went ahead and implemented specialized translations to match Reshuffle.
Note that the commits in the PR are independent and should not be squashed

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

Adding R from my collaborators and people who spoke up on dev threads.
R: @Naireen
R: @lostluck
R: @je-ik

One question which wasn't in the design docs was how to implement: wrap Reshuffle (aka build a composite that just invokes Reshuffle and relies on everything built around it) or fork. This PR chose to fork. Pro/con:
Arguments for wrapping:

less code
runners that implement Reshuffle specially already will implement Redistribute the same way
if there is something I missed in how Reshuffle is treated, it will get picked up because we are still using it

Arguments for forking:

decouple whatever state a runner may store, and just generally decouple their evolution
people won't unpack their "Redistribute" and see a Reshuffle inside and get the wrong idea
(minor) can remove update compatibility path
if there is something I missed in how Redistribute and Reshuffle are different, we are free for them to diverge

So I chose forking but could be convinced otherwise. My way creates more code and more work, because we need to make runners treat it specially - for Dataflow we can do way better than the existing Reshuffle translation, for the other runners it'll be a re-use of existing Reshuffle translation.

OK this is ready for review. I don't know if you all are interested in reviewing it or I will also CC @robertwb. I think the separate commits might be easier to review separately (I'm happy to put them in their own PR but also just focusing a review on a particular code root is equivalent)

model proto
Java SDK impl with translation to proto
Each runner - I did Dataflow first but then Spark had test failures so I guess basic GBK fails to preserve metadata so I just went ahead and added translations to Spark, Flink, Samza too.

Redistribute itself and the ValidatesRunner tests are lifted straight from Reshuffle so equivalent levels of assurance FWIW.

The new translation for Redistribute.arbitrarily() in the portable batch Flink runner caused a problem. I think there may be a bug in how composites are implemented because it still had transforms that consumed PCollections that had been eliminated. It is feature creep anyhow. Just translating Redistribute.byKey() brings it to parity. So I removed the special translation in the portable runner. Since it passed tests in the non-portable runner, I left it there.

The problem in the portable runner was that it was not registered as a "native" transform. I don't know the details, but this influences the fuser.

OK this is now green. The test suites that are still running were green before and have not been touched. Please review!

Seems that streaming wordcount is timing out at 900 seconds pretty reliably :-/
I'll keep kicking that test perhaps. Presumably it has about 1 second of compute and 15 minutes of turn up turn down though. Oof.

Rebased passed the failure at HEAD just to get a fully green signal on this PR.

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

Project coverage is 68.56%. Comparing base (37609ba) to head (bdfc781).
Report is 11 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master   #30545      +/-   ##
============================================
+ Coverage     68.51%   68.56%   +0.04%
- Complexity     2980     2981       +1
============================================
  Files           352      352
  Lines         27857    27857
  Branches       3231     3231
============================================
+ Hits          19087    19099      +12
+ Misses         7305     7295      -10
+ Partials       1465     1463       -2

Flag
Coverage Δ

java
68.56% <ø> (+0.04%)
:arrow_up:

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

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

BTW the test failures are an issue with how GHA is selecting a JVM it look like. We have precommit and postcommits passing

Yea, I actually do feel strongly about the one remaining issue. I get what you are saying about directly re-using the reshuffle translator as a way of expressing "the reshuffle translation is good enough for this use case", and this is a point where I diverge with many programmers.
One helpful way I think about from the perspective of both Reshuffle and Redistribute translations being perpetual works-in-progress. If someone goes in and messes with the function "reshuffleTranslator" in either Flink or Dataflow, I don't expect them to be aware of all the places it is used. They should edit with confidence that the blast radius is just Reshuffle. So having separate-but-coincidentally-currently-identical pieces of code achieves that. Contrast that with the case where we intend one to always evolve with the other, due to logical necessity. In that case, we would also want them to only be thinking about Reshuffle, but anything implemented via Reshuffle would get the changes, because we want them to. So in this particular case, I want them to be as independent as possible. In fact, I want to actually re-deprecate Reshuffle as soon as we get RequiresStableInput implemented fully ;-) and I also want to drive all at-least-once usage to Redistribute.

Looks like several VR PostCommits failing after this PR:
https://github.com/apache/beam/actions/workflows/beam_PostCommit_Java_ValidatesRunner_ULR.yml?query=event%3Aschedule
https://github.com/apache/beam/actions/workflows/beam_PostCommit_Java_PVR_Samza.yml?query=event%3Aschedule
https://github.com/apache/beam/actions/workflows/beam_PostCommit_Java_PVR_Flink_Streaming.yml?query=event%3Aschedule
https://github.com/apache/beam/actions/workflows/beam_PostCommit_Java_PVR_Spark3_Streaming.yml?query=event%3Aschedule
https://github.com/apache/beam/actions/workflows/beam_PostCommit_Java_PVR_Spark_Batch.yml?query=event%3Aschedule
example error
https://github.com/apache/beam/actions/runs/8881963750/job/24385538170
> Task :runners:spark:3:job-server:validatesPortableRunnerStreaming

org.apache.beam.sdk.transforms.RedistributeTest > testRedistributeAfterSessionsAndGroupByKey FAILED
    java.lang.RuntimeException at RedistributeTest.java:265

org.apache.beam.sdk.transforms.RedistributeTest > testRedistributeAfterFixedWindowsAndGroupByKey FAILED
    java.lang.RuntimeException at RedistributeTest.java:286

org.apache.beam.sdk.transforms.RedistributeTest > testRedistributePreservesMetadata FAILED
    java.lang.RuntimeException at RedistributeTest.java:244

org.apache.beam.sdk.transforms.RedistributeTest > testRedistributeAfterSlidingWindowsAndGroupByKey FAILED
    java.lang.RuntimeException at RedistributeTest.java:307

org.apache.beam.sdk.transforms.RedistributeTest > testRedistributeAfterFixedWindows FAILED
    java.lang.RuntimeException at RedistributeTest.java:327

org.apache.beam.sdk.transforms.RedistributeTest > testRedistributeAfterSlidingWindows FAILED
    java.lang.RuntimeException at RedistributeTest.java:347

Ah, I neglected the PVR suites.

I am opening a revert in a minute but taking a look also.

Samza PVR is existing issue with Reshuffle so sickbay is parity
ULR seems to have some completely wild incorrect implementation (the Redistribute is a valid composite that ULR doesn't do anything special)
Flink PVR is a problem actually I fixed during the iteration on the pull request but reverted according to reviewer comments and I guess when I rebased the trigger file no longer had a delta so it seemed green
Spark and Spark 3 PVR is parity and needs to be sickbayed

I think I want to roll forward but without the runner translations. These are valid composites. When I first pushed it up, though, most runners failed. So there may be an issue with the composite definition.


Using Docker distribution with Mac M2

The docs give examples for running containers with NBVIDIA GPU settings.
Is it possible / is there an optimal docker run command for running the containers on a Mac M2? Would be useful to have some mention in the docs.

+1 here – I was the following error when trying to use the provided docker-compose.yml file:
98.85 qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory
98.85 ./docker_build_script_ubuntu.sh: line 34: python3.10: command not found
------
failed to solve: process "/bin/sh -c cd /workspace && ./docker_build_script_ubuntu.sh" did not complete successfully: exit code: 127

I believe this is because images are built for x86/64 Linux but when emulated on Apple Silicon they get run as amd64.
I was able to get the image to build with the following docker-compose.yml (add platform: linux/x86_64 and remove Nvidia-related config):
version: '3'

services:
  h2o-llm:
    platform: linux/x86_64
    build:
      context: ./
      dockerfile: Dockerfile
      args:
        BUILDKIT_INLINE_CACHE: "0"
    image: h2o-llm
    shm_size: '64gb'
    command: generate.py --load_8bit True --base_model 'EleutherAI/gpt-j-6B'
    restart: unless-stopped
    volumes:
      - ./h2o-llm:/root/.cache # Location downloaded weights will be stored
      - ./.cache:/workspace/.cache
    ports:
      - 7860:7860
    # deploy:
    #   resources:
    #     reservations:
    #       devices:
    #         - driver: nvidia
    #           count: all
    #           capabilities: [ gpu ]

volumes:
  h2o-llm:
    name: h2o-llm

While this was building (very slow, it took ~40 mins) I did some research and I think the native Mac route described here is the way to go for the following reasons:

When running with the platform arg Docker has to emulate another architecture and it will be massively slower when running operations on the CPU (CPU inference is already slow enough without emulation)
Can't take full advantage of Docker Virtualization Framework & VirtioFS mount acceleration
Accelerated GPU training is enabled only when using Apple’s Metal Performance Shaders (MPS) as a backend for PyTorch – for this you have to run natively as Docker probably will not get MPS support any time soon.

TL;DR – unless the authors or community have any creative suggestions, install it natively or it will probably be too slow for any real-world use cases 🙂

It's possible to build a native arm46 image, I guess. I'm not sure how that works for enabling any form of acceleration. (I've cross-built non-gpu requiring images before, but handling GPUs in a cross-platform way is perhaps a step too far for a simple cross-build approach.)

I'm sure it's possible, but probably not in our roadmap.


Manually listing schemas with keys different than the actual schema module name leads to unexpected behavior

When we have Blogs.Post and Rooms.Room schemas and define them like this in kaffy:
resources: [
    room: [
      name: "Room",
      schemas: [
        example: [schema: ChitChat.Chat.Room, admin: ChitChatWeb.RoomAdmin]
      ]
    ],
    blog: [
      name: "Blog",
      schemas: [
        test: [schema: ChitChat.Blog.Post]
      ]
    ]
  ]

Kaffy will not be able to create/update schemas correctly.
Currently, kaffy uses the schemas keys to construct URLs which it shouldn't.
We need a fix for now, but we also need to evaluate having atom keys in the schemas list since they are becoming irrelevant. The previous example could be written as follows:
resources: [
    rooms: [
      name: "Room",
      schemas: [
        [schema: ChitChat.Chat.Room, admin: ChitChatWeb.RoomAdmin]
      ]
    ],
    blogs: [
      name: "Blog",
      schemas: [
        [schema: ChitChat.Blog.Post]
      ]
    ]
  ]

My 2 cents here, maybe it might be good to think without rush on this one to get it right.
What about something like:
config :kaffy,
  admin_title: "Admin Portal",
  otp_app: :chit_chat,
  ecto_repo: ChitChat.Repo,
  router: ChitChatWeb.Router,
  admin_config: [
    [
      section_name: "Accounts",
      order: 1,
      resources: [
        [title: "User", schema: ChitChat.Accounts.User, admin: ChitChatWeb.UserAdmin],
        [title: "Credential", schema: ChitChat.Accounts.Credential, admin: ChitChatWeb.CredentialAdmin]
      ]
    ],
    [
      section_name: "Chat",
      order: 2,
      resources: [
        [title: "Room", schema: ChitChat.Chat.Room, admin: ChitChatWeb.RoomAdmin]
      ]
    ]
  ]

On a side note, not sure how config.exs works with I18n, maybe something to think about.
Thanks for your great work :1st_place_medal:

This needs way more thinking than I expected.
One thing though is that, with lists in elixir, you don't need the :order key since the order is preserved, unlike maps.

Some decision doesn't need to be taken too quickly :)
Thanks for the info on order :+1:

This is related to #122
It doesn't address the "misnaming" problem, but that should be clear in the docs.


fix loader to output only es5 script

After the awesome #33 PR, loader writes es6 code const on final bundle.

Good call, @Poincare can you merge and publish?

Ah, yes this looks good. Thanks for catching this. Merging.


[Roadmap] Branching structure

This details the way we want to branch out and organise the codes branches.
This is based on Gitflow Workflow.

master will always contain the code for the latest release
develop will contain the latest development version for beta testing enrolled users
features/* will contain single issues being developed. Once developed they're merged into develop and tagged with a beta release version. They should be named 'features/22-some-brief-description'
releases/* will contain all the code from each feature branch that are going out in the next release and should all be merged into the branch. Once approved and tested it gets merged into master and tagged. They should be named 'releases/4-1-1-release'
hotfixes/* will contain hotfixes going to be merged directly into master then tagged. Hotfixes should only need to occur when there is a very critical bug in the current release that needs to be fixed ASAP. All hotfix branches should be branched off of master.

Feature branches are deleted once in a release branch. Any issues that come up after the features branch has been merged into a release branch should be resolved by creating a new feature branch off the release branch.
An example of a good name for a feature branch is say we have an issue (#44) which is about users not being able to download modpacks on Sunday. A good name for a feature branch would be features/44-unable-to-download-modpacks-on-sunday and go from there.
While the initial development goes on, a temporary 'initial-code' branch will be used them merged into develop when testing is ready.

No opposition to this, so sticking with this

If I were you I would use the singular not the plural

That works


Twitter example?

Hi I've tried using your Github example for Twitter, and haven't managed to get the token passing right to Twitter, so I get an error that the app hasn't send the token. Have you tried to do this with Twitter or have an example?  Thanks!

I’m out of town, but will be sure to test it when I’m home in a couple of days and let you know. I should set up a test site for all the contrib helpers.

Thanks that would be great as your Github works like a charm :)

@mspanish I need to push an update to remove that, unfortunately twitter doesn't support OAuth2 for login (only oauth1) which is something that I currently don't plan to support. I plan to add some other examples along with a site to test that they all work soon.
Sorry for misleading you with incorrectly including that as an option!


How to implement Batch GEMM with Triton?

Hi,
Thanks for the Good Work!
Recently, I am doing some benchmark about the performance of the Triton.
I want to implement the Batch GEMM but do not know how to implement it with high performance.
Can I find some hints to help me implement it with Triton.
Thanks a lot!

You can add tl.program_id(2) dimension in the grid for the batch dimension and adjust the pointer arithmetic accordingly.


Initial commit for Partitionable Loop Interface.

This adds the initial implementation of interface to specify which
loops are partitionable. This change just adds the external models for
all operations this is needed for.
A test pass is added that just generates a util.unfoldable_const
with values that show which loops of the operation are partitionable.

util is not the right place for this - we don't want util to have a dep on linalg, and in general the util stuff is meant to be used across all dialects (vm, hal, stream, flow, codegen, etc) - can this go in codegen instead? or flow?

Sure... I'd prefer to put it in Codegen/Interfaces but I need it a Flow as well. So adding it to Flow would work too. I'll move it there if Flow is fine for you...

would linalg_ext work? given that's coupled to linalg_ext and flow and codegen already depend on that may make more sense
(ideally one day linalg is optional in flow)

would linalg_ext work? given that's coupled to linalg and flow and codegen already depend on that may make more sense (ideally one day linalg is optional in flow)

linalg_ext is now part of llvm-external-projects. So  not sure that it fits there. I can move it there if needed. This stuff is hermitic enough to not have any other dependency apart from Linalg, LinalgExt (and Tensor dialect in core)

up to you! I'm fine with flow for now as it's already tangled with linalg


Kubernetes v1.9.5 support

What this PR does / why we need it: adds Kubernetes v1.9.5 support:
https://github.com/kubernetes/kubernetes/releases/tag/v1.9.5
Release note:

adds Kubernetes v1.9.5 support

@JiangtianLi let me know when we have a published v1.9.5 Windows image


SCB-892 Output plugins configs in version api

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Format the pull request title like [SCB-XXX] Fixes bug in ApproximateQuantiles, where you replace SCB-XXX with the appropriate JIRA issue.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Run go build go test go fmt go vet to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Coverage decreased (-11.2%) to 60.866% when pulling 75af0e79d945e4e66bac38897c9b4ebf2bcc49f8 on little-cui:ver into 9fc039bda4e01adb71ae3f78ef3c9c0683228e2f on apache:master.


modex: add modex analysis tool package

Motivation for this change
Add new tool not currently in nixpkgs.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@vyp Thanks for the feedback, and especially locating that copyright text.  I have a different understanding of the "free"-ness aspect based on further research, and so I've updated it based on that understanding (and included that information in the patch comments to ensure it remains associated with the text in question for future reference), so please take a look at the patch and let me know if you agree or where I am misunderstanding the issue.

@kquick From https://nixos.org/nixpkgs/manual/#sec-meta-license, for stdenv.lib.licenses.free , it says:

Catch-all for free software licenses not listed above.

"free software" refers to "the four essential freedoms" listed here: https://www.gnu.org/philosophy/free-sw.en.html. The important thing to realize, and this is confusing, is that "free software" isn't actually referring to gratis software, software that you don't have to pay money for. Whether or not it's gratis is irrelevant to whether it is "free software".
Freedom 0 there says:

The freedom to run the program as you wish, for any purpose.

But the copyright header here says "This software is for educational purposes only.". I'm not a lawyer but that seems to suggest you may only use this software for educational purposes, so it's nonfree because it doesn't comply with freedom 0.
The term "free software" is almost synonymous with "open source", even though open source has its own separate definition: https://opensource.org/osd-annotated. So if something is not open source, it's also most likely not free software. I mention this because the first criteria listed here:

Free Redistribution
The license shall not restrict any party from selling or giving away the software [...]

makes it quite obvious that modex is not open source, because it doesn't allow to sell the software (the requirement that "no monies are exchanged" when distributing). Free software requires this through freedom 0 as well, but it's vague and not as explicit, so it's harder to explain. :woman_shrugging:
So for the above reasons, I recommend setting the license to unfreeRedistributable, because from the nixpkgs manual, although it's unfree, it still means we can redistribute it through the nixpkgs channel, as long as we don't charge money for it. Or at the very least, set meta.license.free to false.
Otherwise if you disagree with me, of course feel free to tell me why. The situation seems pretty clear to me though, but it's possible I may have overlooked things.

@vyp, I agree that free and open are both distinct terms, and even considered separately there are multiple interpretations.  You started with the GNU interpretation of "free" above, but there are many other interpretations of "free" (most of which are less stringent than the GNU version which embodies Stallman's perspective on the matter).  You then referenced the OSI description of "open", which supplies their perspective on one aspect of that term.
While both of these represent interesting perspectives on the matter, there is a wide range of meanings of "free" that can be applied and it's possible to find other licenses and perspectives which conflict with these two as well.  Ultimately, the term "free" can be interpreted in a number of ways (some of which are conflicting), which is why I consulted https://nixos.org/nixpkgs/manual/#sec-meta-license to determine the Nixpkgs application of the term in order to conform most closely to the interpretation most applicable to this situation.
The Nixpkg application of the term from the above reference describes "unfreeRedistributable" as "... can be redistributed in binary form. ... legal to distribute the output of the derivation.".  The license expressed for modex does allow the redistribution of source code and is therefore less restrictive than unfreeRedistributable.  The primary application of the term "free" from the Nixpkg perspective appears to be the concern over violation of the copyright holder's rights if the package is distributed in source or binary form via the nix channels, and both of these appear to be allowed for the modex license.
By marking the modex package as "unfree", it also requires the user to enable unfree packages in order to install it, and I believe that gate should be reserved for controlling licenses with much more onerous restrictions than the one represented by modex.
Does this information help explain why I've classified this license in this way for the pull request?

The primary application of the term "free" from the Nixpkg perspective appears to be the concern over violation of the copyright holder's rights if the package is distributed in source or binary form via the nix channels

Respectfully I disagree. To me, it's quite clear when the description of the attribute mentions "free software", it's referring to https://www.gnu.org/philosophy/free-sw.en.html. And as such, if anything doesn't meet these criteria, they must be unfree. But rather than debate on our interpretations of what stdenv.lib.licenses.free actually allows, I feel like we should just ask someone from the Nix team to clarify. And if anyone knows the answer, it's probably someone like @edolstra or @rbvermaa.
I will say though, that if modex is allowed under stdenv.lib.licenses.free, then at the least the description for stdenv.lib.licenses.free should be changed to not mention "free software", as it's misleading.

By marking the modex package as "unfree", it also requires the user to enable unfree packages in order to install it

Yeah so I'd consider this a feature. I think what you're saying though, is that your issue is that you want to be able to use modex without enabling allowUnfree, because even though modex isn't fully free, it's not completely restrictive like most nonfree software and still gives you a lot of rights, and gives access to the source code. My issue though is that I don't want nonfree software without enabling allowUnfree. I think a potential middle ground here would be to have a new option for licenses such as this? For example, allowUnfreeEducational which would only enable a new class of unfreeEducational licenses such as this one, or something? (I don't know if that would be accepted though even if you agree to it. :confused:)

I agree that free and open are both distinct terms

FYI I wasn't really making or stressing this point, I don't think it's really relevant to this discussion anyhow. I just meant to say that "free software" is practically synonymous with "open source", to be able to make the point that modex is neither "free software" nor "open source".

Stalled


DO-NOT-MERGE: libgccjit experiment (work-in-progress)

Inspired by Vladimir's talk at LPC, this is a proof-of-concept of populating a libgccjit context from a MIR module, and then compiling it with libgccjit.
This could allow for libgccjit to be used as a tier 2 JIT compiler in conjunction with MIR for tier 1.
Additionally, Vladimir's talk identified a weakness of libgccjit: the difficult of creating the environment through the API.  With this approach, C could be compiled to MIR, and then injected into libgccjit.
Right now it's a very rough proof-of-concept that only implements a few instructions and modes.  I'm posting it now in order to get early feedback.  In particular it  doesn't yet support forward references.  But it does support compiling trivial binary mir files via libgccjit.
Given that you don't want external deps, I'm not sure where this should ultimately live.  Also, I used C++ to simplify  the implementation, but could recode it in C if that's a deal-breaker.

I should also say that this is the first time I've looked in detail at mir, so I've no doubt misunderstood some things.

Thank you, David!  I really appreciate your work.  I'll will definitely experiment with this code and I hope in some way MIR->libgccjit will be used in the future.


Use slimmer 8.2.0

The new version adds an extra meta tag to the page. This will be
read by the analytics JavaScript if it is there (and give us the
ability to segment performance metrics per rendering application
amongst other things).
I'm planning to deploy rails upgrade soon so figured I'll sneak this one in as well to avoid deploying this twice.
/cc @edds

Wow, nice coincidence. Closing in favour of https://github.com/alphagov/calculators/pull/116


html/custom tags

how can I use tags to output items, for example, to display a table?

I'm not sure what you are trying to do, but you cannot use HTML tags in Vuido. The table widget it currently being implemented in libui, so in the future it will be available in Vuido.

how to call the table in libui?

As I said, the table is currently being implemented, so it's not available yet.


Todo testing

Please check our PR ;  do followings thing in this project 💯

Apply unit test on edit 👍
Add some test for complete status 👍
Add some test for updation 👍
Follow eslinters, webpack settings  👍

Please check our PR ; do followings thing in this project 💯

Apply unit test on edit 👍
Add some test for complete status 👍
Add some test for updation 👍
Follow eslinters, webpack settings  👍
Used jest framework for testing 👍

@souad988 Please check i updated the code

Thanks for the reivew


Hello gatty mia ferma and world started I have the internet for the program and more of the world

Kings of world and death of the world

Hello 👋🏻 It looks like you may be practicing using GitHub. That's great! But, this repository is in active use, and this may be distracting those who maintain it. I'm going to close this, but if you'd like to suggest a bug fix or feature, please open a new issue with the context and information in the body. Thanks!


Firestore Query Data Listener not work in Windows 8, 8.1 and 10

Environment

Operating System version: Windows 8 , 8.1 , 10
Firebase SDK version: 5.10.0 && 6.3.0
Library version: 5.10.0 && 6.3.0
Firebase Product: Database - Firestore - Listeners

Problem
I developed a desktop app in Java for windows and linux(I work on linux), this app listen the change in database(Firestore), everything goes fine in linux ... but when i used the same listener in windows, Not worked.
I reproduced the bug using the examples in the docs and using admin-sdk key.
https://firebase.google.com/docs/firestore/query-data/listen
Steps to reproduce:

Run the code in windows 8 , 8.1 or 10.
Change Database and wait if you get some prints or event.

Code:
package com.example.bug;

import com.google.auth.oauth2.GoogleCredentials;
import com.google.cloud.firestore.DocumentChange;
import com.google.firebase.FirebaseApp;
import com.google.firebase.FirebaseOptions;
import com.google.firebase.cloud.FirestoreClient;
import com.google.cloud.firestore.EventListener;
import com.google.cloud.firestore.Firestore;
import com.google.cloud.firestore.FirestoreException;
import com.google.cloud.firestore.QuerySnapshot;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import javax.annotation.Nullable;

public class App
{
    private static Firestore db = null;
    private static final String keyFile = "dev-credential.json";
    private static final String firebaseUrl = "https://example-bug.firebaseio.com";

    public static void loadKey() throws IOException {

            FileInputStream serviceAccount = new FileInputStream(keyFile);
            FirebaseOptions options = new FirebaseOptions.Builder()
                .setCredentials(GoogleCredentials.fromStream(serviceAccount))
                .setDatabaseUrl(firebaseUrl)
                .build();

            FirebaseApp.initializeApp(options);
    }

    public static void listen() {

        db.collection("cities")
        .whereEqualTo("state", "CA")
        .addSnapshotListener(new EventListener<QuerySnapshot>() {
          @Override
          public void onEvent(@Nullable QuerySnapshot snapshots,
                              @Nullable FirestoreException e) {
            if (e != null) {
              System.err.println("Listen failed: " + e);
              return;
            }

            for (DocumentChange dc : snapshots.getDocumentChanges()) {
              switch (dc.getType()) {
                case ADDED:
                  System.out.println("New city: " + dc.getDocument().getData());
                  break;
                case MODIFIED:
                  System.out.println("Modified city: " + dc.getDocument().getData());
                  break;
                case REMOVED:
                  System.out.println("Removed city: " + dc.getDocument().getData());
                  break;
                default:
                  break;
              }
            }
          }
        });
    }

    public static void main( String[] args ) throws IOException
    {
        // Load Admin SDK
        loadKey();
        // Get DB
        db = FirestoreClient.getFirestore();

        // Listen ...
        listen();

    }
}

I found the reason of the bug, it only happen in windows and is related to the cloud and the local time machine configuration, it has to be synchronized with the time provided by time.windows.com.
In my case this happen because the time in my country has been delayed 1 hour (summer time)
Solution: Synchronize time using microsoft service.
Note: QueryListener does not detect the time related error, also there is no log.
The response below has been getted from a normal query:
{
  "error" : "invalid_grant",
  "error_description" : "Invalid JWT: Token must be a short-lived token (60 minutes) and in a reasonable timeframe. Check your iat and exp values and use
a clock with skew to account for clock differences between systems."
}


ipsec tunnel not usable when node and webui the same server

What i have: 2 servers

Rancher WebUI + node - host0
Node - host1

When i create containers omv0 (host0) and omv1 (host1) and trying to ping from
omv0 >> omv1 i see
From <IP_ADDRESS> icmp_seq=2 Redirect HostFrom <IP_ADDRESS>: icmp_seq=2 Redirect Host(New nexthop: <IP_ADDRESS>)
or vice versa
omv1 >> omv0
From <IP_ADDRESS> icmp_seq=2 Redirect HostFrom <IP_ADDRESS>: icmp_seq=2 Redirect Host(New nexthop: <IP_ADDRESS>)
But if i move webui to another server everything works fine.
Steps to reproduce.

docker run -d --restart=always -p 8080:8080 rancher/server
Add host from webui and run something like this
docker run -d --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v0.9.2 http://<IP_ADDRESS>:8080/v1/scripts/E0EB7F9AC686E938AA7A:1455228000000:cEqUn3gNtMKT5nJLZiu28QzIwcc
on same server where you run rancher webui
add second node
ping from container0 to on node0 to container1 from node1 - FAIL
add node2
deactivate node0 (where you run webui)
ping containers again - WORKING

Probably related to
https://github.com/rancher/rancher/issues/3493
https://github.com/rancher/rancher/issues/2901

rancher-net on node1
root@63e6b239946a:/# swanctl --list-sas
conn-<IP_ADDRESS>: #3, CONNECTING, IKEv2, e1c24286ce98f613:0000000000000000
  local  '%any' @ <IP_ADDRESS>
  remote '%any' @ <IP_ADDRESS>
  active:  IKE_VENDOR IKE_INIT IKE_NATD IKE_CERT_PRE IKE_AUTH IKE_CERT_POST IKE_CONFIG CHILD_CREATE IKE_AUTH_LIFETIME IKE_MOBIKE
conn-<IP_ADDRESS>: #2, ESTABLISHED, IKEv2, 9a01ba6aad0b602f:20241d4273439fe0
  local  '<IP_ADDRESS>' @ <IP_ADDRESS>
  remote '<IP_ADDRESS>' @ <IP_ADDRESS>
  AES_CBC-128/AES_XCBC_96/PRF_AES128_XCBC/MODP_2048
  established 520s ago, rekeying in 13678s
  child-<IP_ADDRESS>: #1, reqid 1234, INSTALLED, TUNNEL-in-UDP, ESP:AES_CBC-128/HMAC_SHA1_96
    installed 520s ago
    in  cb577108,  32676 bytes,   389 packets
    out cd9b685f,  32676 bytes,   389 packets
    local  <IP_ADDRESS>/0
    remote <IP_ADDRESS>/0

rancher-net on node2
root@e0cba04d9963:/# swanctl --list-sas
conn-<IP_ADDRESS>: #3, CONNECTING, IKEv2, f07bf967c97afdf9:0000000000000000
  local  '%any' @ <IP_ADDRESS>
  remote '%any' @ <IP_ADDRESS>
  active:  IKE_VENDOR IKE_INIT IKE_NATD IKE_CERT_PRE IKE_AUTH IKE_CERT_POST IKE_CONFIG CHILD_CREATE IKE_AUTH_LIFETIME IKE_MOBIKE
conn-<IP_ADDRESS>: #2, ESTABLISHED, IKEv2, 9a01ba6aad0b602f:20241d4273439fe0
  local  '<IP_ADDRESS>' @ <IP_ADDRESS>
  remote '<IP_ADDRESS>' @ <IP_ADDRESS>
  AES_CBC-128/AES_XCBC_96/PRF_AES128_XCBC/MODP_2048
  established 524s ago, rekeying in 12876s
  child-<IP_ADDRESS>: #1, reqid 1234, INSTALLED, TUNNEL-in-UDP, ESP:AES_CBC-128/HMAC_SHA1_96
    installed 525s ago
    in  cd9b685f,  33012 bytes,   393 packets
    out cb577108,  33012 bytes,   393 packets
    local  <IP_ADDRESS>/0
    remote <IP_ADDRESS>/0

rancher net on node0 (node+ webui)
root@1f5840d89e02:/# swanctl --list-sas
root@1f5840d89e02:/#

I have been able to reproduce. Are you adding containers or services?
What docker version are you running?
Can you just double check whether or not execing into the network agent and trying ot the ping the Rancher IP of the other network agent (i.e. ping 10.42.x.x) work?

Are you adding containers or services?
Yes
What docker version are you running?
1.9.0, 1.9.1, 1.10.0, 1.10.1

double check

Here you you network-agent on my connected node (no webui)
root@11c74f4b7fb7:/# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
5: eth0@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP g
roup default
    link/ether 02:9f:76:d5:e9:47 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/16 scope global eth0
       valid_lft forever preferred_lft forever
    inet <IP_ADDRESS>/16 scope global eth0
       valid_lft forever preferred_lft forever
    inet <IP_ADDRESS>/32 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::9f:76ff:fed5:e947/64 scope link
       valid_lft forever preferred_lft forever
root@11c74f4b7fb7:/# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
^C
--- <IP_ADDRESS> ping statistics ---
46 packets transmitted, 0 received, 100% packet loss, time 45011ms

Now ping from NetworkAgent from webui rancher server to the node
root@fbac8b675896:/# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
^C
--- <IP_ADDRESS> ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2008ms

root@fbac8b675896:/# ^C
root@fbac8b675896:/# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defaul
t
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
17: eth0@if18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
 group default
    link/ether 02:9f:76:21:59:1a brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/16 scope global eth0
       valid_lft forever preferred_lft forever
    inet <IP_ADDRESS>/16 scope global eth0
       valid_lft forever preferred_lft forever
    inet <IP_ADDRESS>/32 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::9f:76ff:fe21:591a/64 scope link
       valid_lft forever preferred_lft forever

Issue in ipsec routing not in docker.

This sounds similar to https://github.com/rancher/rancher/issues/3477, but I'm still trying to reproduce the exact issue.

@fedya What OS are you using for your server/hosts?

@fedya : Do you have any updates regarding this issue?

@fedya If you can provide more details, please re-open. Since we haven't heard from you for awhile, I'll close this issue.


Enhancementoptimize costAndEnforceJob

Proposed changes
Issue Number: close #xxx
Problem summary
In costAndEnforceJob, we find on flame graph that there's duplicated calculation in RequestChildrenDriver and loop when a groupExpression run the job again. We should just run enforce.
Now we can finish generating the best plan from a sql with 12 tables and 50 hash join conjuncts less than 100ms.
Next phase we will optimize single table analysis.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[x] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[x] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[x] No Need

Does it need to update dependencies:

[ ] Yes
[x] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[x] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 39.57 seconds
load time: 652 seconds
storage size:<PHONE_NUMBER>3 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221103044101_clickbench_pr_39040.html

plz add the Effect of optimization to the commit msg

it is not a good idea to add cache, close it


Appconfiguration logs extensively and does not respect log levels

Azure.Appconfiguration:
1.0.0:
Docker image: FROM mcr.microsoft.com/vscode/devcontainers/python:0-3, also effects functions deployed to Azure (tested with consumption, v3):
3.8.2:

Describe the bug
Using appconfig spams the logs + function monitoring, annoying but not a show stopper.
Setting the loglevel has no effect,
To Reproduce
Steps to reproduce the behavior:
Simple function
import azure.functions as func
from azure.appconfiguration import AzureAppConfigurationClient as appclient

def main(req: func.HttpRequest) -> str:
    client = appclient.from_connection_string("conn_str")
    setting = client.get_configuration_setting(key="some_key")
    return "test"

Expected behavior
Using appconfiguration should not produce any specific logs unless loglevel set to debug, re documentation:  https://docs.microsoft.com/en-us/python/api/overview/azure/appconfiguration-readme?view=azure-python
Screenshots

Hi @espenairmine
I'm not sure I agree on:

appconfiguration should not produce any specific logs unless loglevel set to debug

SDK are able to log into all levels, critical, warning, info and debug depending of what is necessary. What you see is the HTTP info logger, which is here on purpose, and can be disabled using usual logging level setting by level. For instance:
azure_logger = logging.getLogger("azure")
azure_logger.setLevel(azure_logger, logging.WARNING)

Hi @lmazuel
I should have been more precise in my statement:
appconfiguration should not produce verbose  logs unless loglevel set to debug
I assumed setting the log level to warning with (as sett in the docs):
 logging.basicConfig(level=logging.WARNING)
would reduce the logs, but the above has no effect.
Following your approach did the trick.
Thanks for quick and helpful reply!


Bump deps

Bump Lodash because of https://www.npmjs.com/advisories/577

I personally consider using tilde or caret as a bad practise, but as you wish :)

@MhMadHamster Would you please release new version?

done


Proposed new IUnityContainerAsync interface

    public interface IUnityContainerAsync : IDisposable
    {
        /// <summary>
        /// Registers implementation type <param name="injectionMembers"></param> via provided collection of it's interfaces.
        /// </summary>
        /// <remarks>
        /// This method allows creation of single registration for multiple interfaces the object of type <param name="type"></param>
        /// might be exposing. Registrations created with this method are self contained and will never 'Map' to other registrations.
        /// In other words this registration will always create build plan and resolve new objects through it.
        /// </remarks>
        /// <param name="interfaces">Collection of interfaces that <paramref name="type"/> exposes to container</param>
        /// <param name="type"><see cref="Type"/> that will be used to instantiate object.</param>
        /// <param name="name">Name of the registration</param>
        /// <param name="lifetimeManager">Lifetime manager that will be responsible for managing created object's lifetime.</param>
        /// <param name="injectionMembers">Injection configuration objects.</param>
        /// <returns></returns>
        IUnityContainer RegisterType(IEnumerable<Type> interfaces, Type type, string name, LifetimeManager lifetimeManager, params InjectionMember[] injectionMembers);

        /// <summary>
        /// Register an instance with the container.
        /// </summary>
        /// <remarks>
        /// <para>
        /// Instance registration is much like setting a type as a singleton, except that instead
        /// of the container creating the instance the first time it is requested, the user
        /// creates the instance ahead of type and adds that instance to the container.
        /// </para>
        /// </remarks>
        /// <param name="interfaces">Collection of interfaces that <paramref name="instance"/> exposes to container</param>
        /// <param name="instance">Object to be registered</param>
        /// <param name="name">Name for registration</param>
        /// <param name="lifetimeManager">
        /// <see cref="LifetimeManager"/> manager that controls how this instance will be managed by the container.
        /// Following are the only valid options: <see cref="ContainerControlledLifetimeManager"/>, <see cref="SingletonLifetimeManager"/>, <see cref="ExternallyControlledLifetimeManager"/>
        /// </param>
        /// <returns>The <see cref="IUnityContainer"/> object that this method was called on (this in C#, Me in Visual Basic).</returns>
        IUnityContainer RegisterInstance(IEnumerable<Type> interfaces, string name, object instance, LifetimeManager lifetimeManager);

        /// <summary>
        /// This is a fast way to check if type is registered with container
        /// </summary>
        /// <remarks>This method is quite fast. Although it is not free in terms of time spent,
        /// it uses the same algorithm the container employs to obtain registrations and wastes very little time.</remarks>
        /// <param name="type"><see cref="Type"/> to look for</param>
        /// <param name="name">Name of the registration</param>
        /// <returns></returns>
        bool IsRegistered(Type type, string name);

        /// <summary>
        /// Lists all registrations available at this container.
        /// </summary>
        /// <remarks>
        /// This collection contains all registrations from this container as well
        /// as from all predecessor containers if this is a child container. Registrations
        /// from child containers override registrations with same type and name from
        /// parent containers.
        /// The sort order of returned registrations is not guaranteed in any way.
        /// </remarks>
        IEnumerable<IContainerRegistration> Registrations { get; }

        /// <summary>
        /// Resolve an instance of the requested type from the container.
        /// </summary>
        /// <param name="type"><see cref="Type"/> of object to get typeFrom the container.</param>
        /// <param name="name">Name of the object to retrieve.</param>
        /// <param name="overrides">Any overrides for the resolve call.</param>
        /// <returns>The retrieved object.</returns>
        Task<object> Resolve(Type type, string name, params ResolverOverride[] overrides);

        /// <summary>
        /// The parent of this container.
        /// </summary>
        /// <value>The parent container, or null if this container doesn't have one.</value>
        IUnityContainer Parent { get; }

        /// <summary>
        /// Create a child container.
        /// </summary>
        /// <remarks>
        /// A child container shares the parent's configuration, but can be configured with different
        /// settings or lifetime.</remarks>
        /// <returns>The new child container.</returns>
        IUnityContainer CreateChildContainer();
    }```

@ENikS Is there anywhere an implementation of this interface? I couldn't find it in the nuget package.

It is under development

@ENikS Thank you for the information! May I ask, for which version is it planned?

It should be available in v6.x sometime next year

Thank you again!


SQL syntax: SELECT ... FOR UPDATE

About
CrateDB does not understand SQL syntax SELECT ... FOR UPDATE, which will be generated by SQLAlchemy when using the .with_for_update() method. Documentation about this method can be found at sqlalchemy.orm.Query.with_for_update.
Details
The corresponding MLflow code is at SqlAlchemyStore._update_latest_metrics_if_necessary, and looks like this:
latest_metrics_batch = (
    session.query(SqlLatestMetric)
    .filter(
        SqlLatestMetric.run_uuid == logged_metrics[0].run_uuid,
        SqlLatestMetric.key.in_(latest_metric_keys_from_db),
    )
    # Order by the metric run ID and key to ensure a consistent locking order
    # across transactions, reducing deadlock likelihood
    .order_by(SqlLatestMetric.run_uuid, SqlLatestMetric.key)
    .with_for_update()
    .all()
)
latest_metrics.update({m.key: m for m in latest_metrics_batch})

Exception
SQLParseException[line 3:118: mismatched input 'FOR' expecting {<EOF>, ';'}]
E               [SQL: SELECT latest_metrics.key AS latest_metrics_key, latest_metrics.value AS latest_metrics_value, latest_metrics.timestamp AS latest_metrics_timestamp, latest_metrics.step AS latest_metrics_step, latest_metrics.is_nan AS latest_metrics_is_nan, latest_metrics.run_uuid AS latest_metrics_run_uuid
E               FROM latest_metrics
E               WHERE latest_metrics.run_uuid = ? AND latest_metrics.key IN (?) ORDER BY latest_metrics.run_uuid, latest_metrics.key FOR UPDATE]
E               [parameters: ('1f3f38dddc474454977a9af49d636ffd', 'm_b')]
E               (Background on this error at: https://sqlalche.me/e/20/f405)

Remarks
I am just starting to track a few observations before working around them, in order to share them with people interested about it, and to give them a chance to discuss them. While reporting about it, most issues have been resolved already, by improving the CrateDB SQLAlchemy dialect on some spots we missed, or working around them by bringing in more experimental code.

The corresponding patch looks like this.
https://github.com/crate-workbench/mlflow-cratedb/blob/34a2b32f4ce9e02d36bf22938cb69e12de9eb5d3/mlflow_cratedb/patch/crate_python.py#L31-L45

As the monkeypatch is successful here so far, we converged this into https://github.com/crate/crate-python/issues/577.


Improve github pages documentation

See changes, which are already deployed at https://c2sm.github.io/iconarray/index.html
Changes:

add Getting started page
neaten side bar, eg sectioned and widened so not truncated anymore.

Before merge need to change documentation.yml to deploy main branch again.

https://github.com/ammaraskar/sphinx-action/issues/6 workaround for failing sphinx action build now that cartopy is pip installed with iconarray


'Error decoding audiobuffer' with .ogg file

I'm trying to use wavesurfer with .ogg files generated with this fork of Recorderjs that uses libopus compiled with emscripten.
Chrome will natively read the files, and will correctly play them using the  element, but I am unable to have them read by wavesurfer. A sample file is here
I would very much like to use wavesurfer but need to encode the audios in this way.

Decoding is done by browser, so file a bug with the browser.


Jenkins clean data

Describe the bug
Jenkins only collects incremental builds, but deletes all table.builds and converts all builds again.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior

delete builds which job name changed
find the latest build in the table, and convert the incremental tool layer builds, then we will do different things for different situation

For builds which job name changed, we delete all of them, then collect and convert them with new job name
For builds which job has been deleted, we delete all of them
For builds which job name not changed, we only collect and convert incremental builds

But it's hard to convert, we need to iterate jobs first, then find the latest build belong to the specific job, lastly convert them by cursor. This is why we delete all builds and reconvert all of them.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

It's better to delete all jenkins data and reconvert, we discussed this before


Kanban Setup

There are two members in our team
Miftah @miftah1991
Francisco @franciscoPonceDev
https://github.com/miftah1991/Pokemon/projects/4

STATUS: CHANGES REQUIRED ♻ ♻
Hi @miftah1991 and @franciscoPonceDev,
Good job so far!
✔ Kanban board is well set up
✔ Correct number of columns
However, there are some issues that you still need to work on to go to the next project but you are almost there!
Required Changes ♻

[ ] Kindly decide who is Student A and Student B and ensure that all your tasks are assigned to the appropriate student (see image for example)

[ ] Since there are only 2 students on the project, kindly remove all tasks pertaining to Student C

[ ] The following tasks have duplicates on your board. Kindly remove the duplicates

[0.5pt] Find external API - group task
[1pt] Choose assets - group task
[0.5pt] Set up the project with Webpack and Jest- group task
[0.5pt] Add header - group task
[0.5pt] Add footer - group task
[4pt] - Display list of items on the Homepage - Student A
[4pt] -Display Comments pop up with selected item's details - Student B
[4pt] - Display number of likes for each item on the Homepage - Student A
[3pt] - Display comments for a given item on the Comments pop-up - Student B
[3pt] - Create feature: add new like - Student A
[4pt] - Create feature: add new comment - Student B
[3pt] - Add all items counter on the Homepage - Student A
[3pt] - Add comments counter - Student B
[3pt] - Add tests for items counter - Student A
[3pt] - Add tests for comments counter - Student B

Optional suggestions
Every comment with the [OPTIONAL] prefix is not crucial enough to stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the Issue thread if something is not 100% clear. And please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Issue for re-reviews. You should use the same Issue submitted for the first review, either valid or invalid unless it is requested otherwise.

As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

@TedLivist
Thanks for your review,
Sorry for the inconvenience we have set up the kanban on the demo project and then we set up the project on the Live project and mistakenly we have submitted the demo project link in the issue, in our Pokemon Project the Kanban is already setup as per the requirements.

STATUS: APPROVED ✔ ✔
Hi @miftah1991 and @franciscoPonceDev,
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the Issue thread if something is not 100% clear. And please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


move up rabbitmq version to 3.6.10*.

upstream rabbitmq.com repo release 3.6.10-1 on 5.25, This is only version in their repo which now forces us to move to this version.

retest