Add LightningCLI(run=False|True)

What does this PR do?
Fixes #8615, #8251
Part of #7508
After discussing with @mauvilsa, we came to the conclusion that the solution of having a __init__(run: bool) flag to disable fit is better than doing it by not passing a subcommand:
# what this PR implements
# LightningCLI(..., run=False)
$ python script.py ...

# vs

# what was the previous idea
# LightningCLI(...)
$ python script.py ...

This is because there is no case where the user would go from doing python script.py fit <some_args> to python script.py <some_args> without code changes because to do so, the user would need to write cli.trainer.fit(cli.model) anyways after the CLI instantiation.
With that in consideration, we require the user to explicitly set run=False.
This way, you have to really mess up to run fit twice accidentally.
Does your PR introduce any breaking changes? If yes, please list them.
None
Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[x] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[x] Did you list all the breaking changes introduced by this pull request?
[x] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

after running, the Trainer instance could be modified overriding the fit, test, etc. methods such that it shows an error instead of running.

This would limit those who want to fit with run=True and still call test manually later (or fit again!)

Can you share why run is set to True by default ?

Because the entire design is focused on getting up-and-running as easily as possible.
Setting it to False would require a full restructure of the docs.

Furthermore, it doesn't fully resolve #8615 as it will run fit by default.

We can remove that issue from the "fixes" list. This PR support the choice

This seems counter-intuitive as you could argue that test should also be run too.

The CLI docs only mention that it is designed to run fit by default so that is documented.

you could argue that test should also be run too.

This is entirely fair, running fit only was just the initial design. #7508 will add support for test

I would prefer user to opt-in on a running fit to avoid confusion.

Again, #7508 will make it opt-in as providing a subcommand will be a requirement with run=True (default)


Remove unnecessary check for boolean

musics.get(i).wasPlaying is a boolean value, no need to use == true to check it.

Correct me if I am wrong, but doesn't the java compiler know to fold that down to what you posted?

—
Reply to this email directly or view it on GitHub
https://github.com/libgdx/libgdx/pull/3269#issuecomment-120496505.

@badlogic Farm them all :smile:


$transition not returning promise correctly

from @shanesmith in #150
Also running into @jvisser's issue so I've created a plunkr below.
http://plnkr.co/edit/po3jqSI7swYrAVaUFwxj?p=preview
Some quick sleuthing tell me that the bug is somehow related to https://github.com/christopherthielen/ui-router-extras/blob/master/src/transition.js#L43 and how it's used a few dozen lines below, probably should be returning data instead...

Cheers!


Improve error messages in pkg/netutils/server/server_test

Hopefully shedding some light on #134

OK, we apparently have some other new error, which is that Travis isn't automatically finding our dependencies any more (also seen in other failures today). The second patch fixes that.


How do you display 25 rows in a table for Blazorise and MudBlazor?

I downloaded the repository, opened the Blazorise solution, and run it. After choosing the "Fetch data" menu item only 5 rows were displayed in the table:

Then I run the MudBlazor solution, and selected 25 item per page in the table. But after pressing F5 (refresh the page) only 10 rows in the table are displayed.
How did you test displaying 25 rows in the table?

this is not the final version, The Blazorise solution doesn't have blazorise in it yet. I had some computer problems before I was able to push the latest changes. whenever I get a chance I will try to fix it and push the finished versions.


theano tutorial is incredible slow

ian@11:~/cleverhans/tutorials$ KERAS_BACKEND="theano" python mnist_tutorial_th.py
Using Theano backend.
INFO: '~/.keras/keras.json' sets 'image_dim_ordering' to 'tf', temporarily setting to 'th'
X_train shape: (60000, 1, 28, 28)
60000 train samples
10000 test samples
Loaded MNIST test data.
Defined Theano model graph.
Starting model training using Theano.
Defined optimizer.
Epoch 0
    Epoch took<PHONE_NUMBER>941437 seconds

@mahnerak do you know what could be going on?

For me, it takes about 6 seconds per epoch. (GTX980 with cuDNN enabled)
It seems like your GPU device is not enabled for theano.
By default you can see Using gpu device 0: GeForce GTX 980 (CNMeM is disabled, cuDNN 5005) if you're running it on a GPU.
In order to enable GPU support, add these lines to .theanorc file in your home directory.
[global]
device = gpu0

This should be fixed now. Feel free to reopen if that's not the case.


Adams County, Idaho Research

emailed<EMAIL_ADDRESS>

closed out issue: https://github.com/openaddresses/openaddresses/issues/3804


Is MonadPlus instance lawful?

let f = if _ then throwError e else pure unit
Then (pure true <|> pure false) >>= f is not the same as (pure true >>= f) <|> (pure false >>= f). Because in the first example, the exception thrown by f is not caught.

I don't think your example is great, because it's observable the same. The first exception is caught, but the second one throws, which is identical to an outside observer. But in general, distributivity doesn't really apply to effects.
(log "foo" <|> log "bar") >>= \_ -> log "baz"
(log "foo" >>= \_ -> log "baz") <|> (log "foo" >>= \_ -> log "baz")

Are observably different.

Actually I take that back, I'm getting this mixed up with ParAff. That above is lawful.

And again you are right in your original post 😆 Long day...

I'll remove this instance in my branch.

Does this mean that Alternative is also bad, since it relies on similar distributivity?

IO like structures can't be MonadPlus (https://github.com/slamdata/purescript-io/issues/3)
But I think it can be lawful MonadOr (https://github.com/purescript/purescript-control/issues/35)


When a Building does not have a location, make sure to use the location of one of its doors.

Resoved by https://github.com/mizzou-capstone-capybaras-2022/capybara-campus-crawl/commit/1bfa74a43c3342d7aa24113bbf3d725b915e32e5


Add "Add(IEnumerable collection)" to ObservableRangeCollection

Description of Change
Added extension method to ObservableRangeCollection so that it can be initialized with another collection in collection initializer.
Bugs Fixed

Fixes #756

API Changes
void Add<T>(this ObservableRangeCollection<T> source, IEnumerable<T> collection)
Behavioral Changes
ObservableRangeCollection now can be initialized with another collection in collection initializer:
EventTypes = new ListViewModel<EventType>()
{
    ItemsSource = { timetableInfo.EventTypes(lessonInfo.Lesson.ID).OrderBy(et => et.Entity.ShortName) }
};

PR Checklist

[x] Has tests (if omitted, state reason in description)
[ ] Has samples (if omitted, state reason in description)
[x] Rebased on top of main at time of PR
[x] Changes adhere to coding standard

[ ] Updated documentation

@maxkoshevoi do you mind adding a unit test for this feature (just to be safe)?

@AndreiMisiukevich let me know if this looks good for you.


Createdisk: update sparsify helper to use for microshift bundle also

During microshift bundle creation d90d53d22d51fdf406e265ac964206f46d2badd0 we created sparsify_lvm to move fast to have microshift bundle sooner. With this PR we are going to use sparsify helper for microshift bundle and remove the sparsify_lvm helper.

/cherry-pick release-4.14


Fix image build error when assembly has a basis event

Fixs
  File "/mnt/workspace/jenkins/working/aos-cd-builds/build%2Fcustom/art-tools/doozer/doozerlib/cli/__main__.py", line 557, in dgr_rebase
    (real_version, real_release) = dgr.rebase_dir(version, release, terminate_event, force_yum_updates)
  File "/mnt/workspace/jenkins/working/aos-cd-builds/build%2Fcustom/art-tools/doozer/doozerlib/distgit.py", line 2402, in rebase_dir
    real_version, real_release = self.update_distgit_dir(version, release, prev_release, force_yum_updates)
  File "/mnt/workspace/jenkins/working/aos-cd-builds/build%2Fcustom/art-tools/doozer/doozerlib/distgit.py", line 1582, in update_distgit_dir
    parent_build_nvr = parse_nvr(parent_build_info._nvr)
  File "/home/jenkins/.local/lib/python3.6/site-packages/kobo/rpmlib.py", line 194, in parse_nvr
    nvr_parts = nvr.rsplit("-", 2)
TypeError: 'MissingModel' object is not callable
2021-08-24 04:13:43,922 ERROR [containers/openshift-kubernetes-nmstate-operator] 'MissingModel' object is not callable

The field name is nvr instead of _nvr.

Codecov Report

Merging #500 (f09f844) into master (e61eb0c) will increase coverage by 32.22%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##           master     #500       +/-   ##
===========================================
+ Coverage        0   32.22%   +32.22%
===========================================
  Files           0       42       +42
  Lines           0    10511    +10511
  Branches        0     2196     +2196
===========================================
+ Hits            0     3387     +3387
- Misses          0     6916     +6916
- Partials        0      208      +208

Impacted Files
Coverage Δ

doozerlib/distgit.py
32.60% <0.00%> (ø)

doozerlib/rhcos.py
69.36% <0.00%> (ø)

doozerlib/state.py
50.00% <0.00%> (ø)

doozerlib/olm/bundle.py
23.40% <0.00%> (ø)

doozerlib/__init__.py
54.54% <0.00%> (ø)

doozerlib/cli/config_plashet.py
0.00% <0.00%> (ø)

doozerlib/metadata.py
54.40% <0.00%> (ø)

doozerlib/cli/__main__.py
0.00% <0.00%> (ø)

doozerlib/dotconfig.py
21.42% <0.00%> (ø)

doozerlib/config.py
0.00% <0.00%> (ø)

... and 33 more

Continue to review full report at Codecov.

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


Real bad contrast for the display?

I got one of the pre-assembled units to test this design out (and I love every other part of it), but the screen seems to have horrific viewing angles from the top, where it's viewed from 99% of the time, and fine from the bottom.
Is this normal? Is the screen defective, or should be upside down?
https://photos.app.goo.gl/fy1NVs8dXJzjTkKT7

Nextion has changed their LCD panels around some time a couple years ago and the viewing angles aren't always great from some directions.  If the viewing angle works better from below, there is a simple (if somewhat stupid) fix - physically mount the device upside down, and then flash the Nextion firmware HASwitchPlate-Inverted.tft to the LCD.  That firmware is the same as the normal LCD firmware, just flipped 180°.
Give it a shot and let me know how it goes!

Sorry for the delayed response... The inverted firmware and turning upside down fixed my issue, but since I used a 3 slot decora plate, I couldn't just mount it upside down, but had to print a new plate as the LCD is not symmetrical.


Added redirect to oss vs saas page

Fixes a FAQ URL on Robusta website

@pavangudiwada should it be /master like the others and not master?
If you've tested, please go ahead and merge.

@aantn Fixed it. Previous local test worked because there isnt a /master path to replace and I manually tried it. The / was included at the end of localhost:8000/ so thought it would work.


Replacing hal.ex.submit_and_wait with queued operations and fences.

Adding compiler/runtime support for lowering the asynchronous stream dialect ops into HAL ops, materializing a timeline (today just one but multiple in the future), and passing through to the runtime HAL module. This allowed for the removal of the existing placeholder submit_and_wait op and enables queue-ordered allocations to be implemented in the HAL.
This is likely not the final design but unblocks work on coroutines, queue-ordered allocations, webgpu, and plumbing fences through the user-facing API/native ABI. Future refinements may create overrides that use semaphores instead of fences to avoid fence heap allocations when not required, but for most single-function classic ML models once we plumb fences through the ABI no internal fences are required. The current timeline materialization also strictly orders all invocations where instead we should be able to elide those when there's no internal program state to protect.
Because the various HAL backends all need work (CUDA/ROCM in particular need massive work) nearly everything is synchronized exactly as it was before but now that synchronization happens in the IR we emit and we can selectively start supporting async per target.
Progress on #1285 (just need to put fences on the ABI!).
Progress on #8093 (added yieldable fence waits).
Progress on #9572 (added compiler/runtime glue for queue-ordered allocs).

I reworked the elide timepoints pass in Adding --iree-stream-elide-timepoints pass. to be simpler/support more cases (and have tests) - no major changes anywhere else and it's just simpler now (replaced nasty flaky fixed-point iteration algo with a single loop).


Tasks do not cancel during shutdown

In this code coroutine won't be canceled if TCP connection is a live during shutdown process.  Coroutine is waiting for wake-up, ev thread is waiting for socket events. The only way to close coroutine is to send something through connection or close it on remote site.
Expected behavior is to wake up all tasks and throw canceled exception if manager is shuting down.
static engine::Task task;

class StuckedTCPServer final : public userver::components::LoggableComponentBase {
 public:
  static constexpr std::string_view kName = "stucked-tcp-server";

  StuckedTCPServer(const userver::components::ComponentConfig& component_config,
                  const userver::components::ComponentContext& component_context)
      : userver::components::LoggableComponentBase(component_config, component_context) {
    userver::server::net::ListenerConfig listener;
    listener.port = 8080;
    task = utils::Async(
        "listener",
        [](auto socket) {
          while (!engine::current_task::ShouldCancel()) {
            auto s = socket.Accept({});
            std::array<char, 32> buf;
            s.RecvAll(buf.data(), buf.size(), {});
          }
        },
        userver::server::net::CreateSocket(listener));
  }

  void OnAllComponentsAreStopping() override {
    // close active connections
  }
};

int main(int argc, char* argv[]) {
  auto component_list = components::ComponentList()
                            .Append<os_signals::ProcessorComponent>()
                            .Append<components::Logging>()
                            .Append<components::Tracer>()
                            .Append<components::ManagerControllerComponent>()
                            .Append<components::StatisticsStorage>()
                            .Append<components::DynamicConfig>()
                            .Append<components::DynamicConfigFallbacks>()
                            .Append<StuckedTCPServer>();

  return userver::utils::DaemonMain(argc, argv, component_list);
}

You made your task static, and with that you are now responsible for its lifetime/cancellation - tasks do cancel themself at destruction, thus making task a member of StuckedTCPServer should be enough.
You could probably leave your task static and SyncCancel it in component destructor, but static tasks are defenitely not the way to go: the framework provides a component system with well defined lifetimes/ownership model

You made your task static, and with that you are now responsible for its lifetime/cancellation - tasks do cancel themself at destruction, thus making task a member of StuckedTCPServer should be enough.
You could probably leave your task static and SyncCancel it in component destructor, but static tasks are defenitely not the way to go: the framework provides a component system with well defined lifetimes/ownership model

It's just an example. Task can be stored in some dynamic object which lifetime is controlled by its own coroutines i.e. coroutine exits object destroyed.
Yes, I can track all connections store them in some container and destroy from components destructor. But it is very strong limitation on service architecture.

Task can be stored in some dynamic object which lifetime is controlled by its own coroutines

Who owns who then?

store them in some container

Sounds good to me

But it is very strong limitation on service architecture.

Well, even if it is (and honestly i doubt that), i think it's not the framework who limits you, but rather c++ itself

Looking at the sources of Socket, it looks like it supports task cancellations. Could you please provide a minimal reproducible example, using RunStandalone and no static variables?

Will close in a few days without an MVE.

We added a TCP server example https://userver.tech/d1/d1a/md_en_userver_tutorial_tcp_service.html
It should help in writing new applications


Can we know the outbound IP

In Azure App Service, we have (possible)OutboundIP's.
It seems the outbound IP is not the same as the inbound IP for the Azure container instances.
Is there somewhere I can find this Outbound IP for the container instance?
Alternatively, is there a list of ranges that are documented for all the container instances in a region?

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

ID: ff247151-29f6-4a55-61b2-e5eae2d48927
Version Independent ID: 159517fe-202c-967d-f572-49c4f6988c46
Content: Introduction to container groups - Azure Container Instances
Content Source: articles/container-instances/container-instances-container-groups.md
Service: container-instances
GitHub Login: @dlepow
Microsoft Alias: danlep

Thanks for the question. We are currently investigating and will update you shortly.

It seems the outbound IP is not the same as the inbound IP for the Azure container instances.
Yes

Is there somewhere I can find this Outbound IP for the container instance?
They are automatically assigned and may change when ACI restarts.   There is no way we can keep the outbound ip same.

Alternative is to use Azure Kubernetes service.

We will now close this issue. If there are further questions regarding this matter, please tag me in a comment. I will reopen it and we will gladly continue the discussion.

@Karishma-Tiwari-MSFT thank you for the information.
Can it be mentioned in the documentation that the container's Public IP address is only the inbound IP, and not the outbound (which is impossible to get)?
Thank you.

Well you can get the outbound IP by connecting to the container and executing curl ifconfig.me . However the fact that the IP address can change from time to time is kind of bad.

At least give us a list of ranges that it can have.
Also curl is not available in default instances.


Explore buildah in place of kaniko

https://buildah.io/
Buildah is an OCI image builder by the same team who builds podman. It's worth exploring if we can get any benefits using buildah in place of kaniko.

We just migrated from using envbuilder directly to processing .devcontainer with envbuilder's devcontainer.Compile and invoking buildah with the resulting Dockerfile, env, etc. (also embedding buildah in our Go code). The big win for us is ability to prepull and unpack base images in advance so they are ready to go when running the actual build. This base image pulling and unpacking can dominate the build time with kaniko. Also, buildah uses overlayfs when available, so snapshotting is free and more robust than kaniko's userspace mechanism.


Fix LAL test query api.

Fix LAL test query api

[ ] Add a unit test to verify that the fix works.
[x] Explain briefly why the bug exists and how to fix it.

[ ] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #.
[x] Update the CHANGES log.

fix service instance id in log test result.
remove BINDING.get().log(logData); in tag extractor, this method resets KEY_LOG_CONTAINER to null and will cause lal test result returns empty.
use TagsRawData as test resut, I think it is better than searchable tags for lal debug purpose.

Test APIs are jot supported by current UI for a while.


x/review/git-codereview: automatically assign reviewers

Many contributors don't assign a reviewer to their CLs, either because they don't think they need to or they don't know who would be a good reviewer. In theory, those CLs are supposed to get promptly triaged and assigned reviewers. In practice, they aren't, and CLs fall through the cracks.
I suggest that when 'git mail' is invoked without specifying a reviewer with the -r flag, it automatically selects one.
The selection algorithm can be tuned over time, but as an initial pass, I'd suggest a recency-weighted sum of who has committed to and/or reviewed the files touched by the CL, falling back to directories/parent directories as needed for new files/directories. The initial reviewer can always redirect to another reviewer if the algorithm guesses wrong.
If the CL contains DO NOT REVIEW or DO NOT SUBMIT, it will not automatically select a reviewer.
This won't help with people who don't use git-codereview. An alternative that would cover them is to set up a bot that monitors CLs and does the automatic reviewer assignment. Doing it in git-codereview seems simpler and easier and probably sufficient, though.
Feedback requested.
cc @bradfitz @adg @quentinmit @spf13

Many contributors don't assign a reviewer to their CLs, either because they don't think they need to or they don't know who would be a good reviewer.

FTR: Some contributors, me included, do not normally assign a reviewer because they are told not to do so:

Contribution Guidelines/Mail the change for review
Unless explicitly told otherwise, such as in the discussion leading up to sending in the change list, it's better not to specify a reviewer.

I agree with cznic: this feels like a documentation issue.
I don't assign a reviewer because i am told to do so. If we just change the guidelines I feel even I as a newbie contributor could figure out a possible reviewer.

I don't think changing the documentation will be enough to solve this problem.
Suppose we write something like

once you've uploaded you change, assign it to an appropriate reviewer.

Then what? I've contributed for like 2 years I don't really know who should I add as a reviewer on half of the changes I upload... I doubt a novice contributor will know better.

One possible solution could be to write a wiki page with a map package -> [list of suggested reviewers]. For example
net -> bradfitz
math/big -> gri

etc... but if we can compile such a list easily, then it could be a good idea to also include it in the codereview tool for automatic assignement like josharian suggests.

Related issue: #12364

Related to #12364, we should probably can create a list of reviewers by looking at who has approved reviews for the package in the past X months and blame the previous author of the lines. Then, pick 2 or 3 people and assign the CL to them.
Btw, none of this has to be done in the codereview program. We should probably use Gerrit hooks if we want to automate the assignment.

I like the idea of having a auto-assignment bot.
gerrit is used by a lot of other projects too, so people
coming from other gerrit-using projects might not be
using our own tool.

I should mention that we now have https://golang.org/s/owners which is a rough list of owners per package.

oh sweet!
On Sat, Jul 15, 2017 at 2:03 PM, Joe Tsai<EMAIL_ADDRESS>wrote:

I should mention that we now have https://golang.org/s/owners which is a
rough list of owners per package.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/17555#issuecomment-315551546, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABYNbHRwFVamDXI14wtw8GaTCDoNSROiks5sOP7sgaJpZM4KeC8O
.

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3

Is this being worked on actively?
My thinking is that having  owners in spreadsheet is a maintenance burden. That doc has not beed updated in 1 year.
What if there could be some kind of package which can return suggested reviews based on the change, older changes along with reviewes? It could be a package using which we can build additions to Gerrit, git-codereview, and other tools. I am a new contributor to the project and have really hard times trying to figure out the reviewers.

cc @andybons

I created a CL a while ago to introduce an owners package, but I am too busy to keep working on it at this point. See https://go-review.googlesource.com/c/build/+/39390.

There is a plan to create an endpoint on dev.golang.org that can be queried both by humans and machines to find owners. @rakyll’s prior work on this will be helpful. Thanks!

@andybons I think this issue has been resolved by CL 121018 (though that CL doesn't mention it in the commit message), is that right? If so, we can close this issue.


Split chunks vendors not working

Hey!
When I do in my webpack.js:
mix.js('resources/js/app.js', 'public/dist/js').extract()
It still creates one file app.js. I want three files: app.js, vendor.js, manifest.js.
What am I doing wrong?

Take a look at this #303


Cannot parse PKIX1Explicit-2009.asn: (token "2"): syntax error, unexpected number

When trying to parse PKIX1Explicit-2009.asn from https://github.com/P1sec/pycrate/blob/master/pycrate_asn1dir/IETF_PKI_RFC5911/PKIX1Explicit-2009.asn, the following error is thrown:
[minfrin@bob asn1]$ ~/src/asn1/asn1c-trunk/asn1c/asn1c -E -F ./tmp/pycrate-master/pycrate_asn1dir/IETF_PKI_RFC5911/PKIX1Explicit-2009.asn
ASN.1 grammar parse error near ./tmp/pycrate-master/pycrate_asn1dir/IETF_PKI_RFC5911/PKIX1Explicit-2009.asn:263 (token "2"): syntax error, unexpected number
Cannot parse "./tmp/pycrate-master/pycrate_asn1dir/IETF_PKI_RFC5911/PKIX1Explicit-2009.asn"
Is this a known issue?

You can read from asn1p_y.y, it does not support versionNumber: inside [[   ]]

As a result of this bug, it is not possible for asn1c to parse the schemas from https://tools.ietf.org/html/rfc5912#section-14.

I'm seeing the same problem here, which  makes it difficult to use asn1c to handle anything that depends on RFC 5912 as well.

To be specific, i'm running into this problem while trying to add support for x25519 and Ed25519 (from rfc 8410) to certlint, which depends on asn1c.

@brchiu, do you have any suggestion for how to adapt asn1p_y.y to support versionNumber inside [[ and ]]?
Looks like it has to do with TOK_VBracketLeft and TOK_VBracketRight, those only look usable in conjunction with ComponentTypeLists, and i don't understand yacc/etc well enough to know how to add it.


Settings background not transparent

After the most recent discord update (the one that required a reinstall of better discord bandaged) the background of the settings panel is no longer transparent. This appears in the settings as well as server settings.
I solved this issue by adding a new theme that added the following css lines as a quick fix.
.contentRegionScroller-26nc1e,
.theme-dark .da-sidebarRegion,
.theme-dark .da-contentRegion,
.theme-dark .da-standardSidebarView,
.theme-light .da-sidebarRegion,
.theme-light .da-contentRegion,
.theme-light .da-standardSidebarView{
    background-color:transparent;
}

Redundant, having two classes when we can just [class*="theme-"]

Works, thanks!

did not work :l


[MINOR][TESTING] Enable new configs by default for 1.0.0-beta - 2

Change Logs
As above.
Impact
Testing only.
Risk level
none
Documentation Update
N/A
Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

This is for testing #9998 only and no longer needed.


Plex 1.15 Codecs download URL

New codec download URL in 1.15
https://downloads.plex.tv/codecs/a22632d-2034/linux-x86_64-standard/libaac_decoder.so

Plex released PMS 1.15.1  few days ago (Plex pass)


fix comment in certutil.go

Signed-off-by: TianTianBigWang<EMAIL_ADDRESS>Please provide a description of this PR:

@TianTianBigWang: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
224c214f5e6e6a13504ccb2aadaa99341b59bf36
link
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


Implement a healthcheck endpoint

Implement an endpoint in the API that, when called, returns the running version of the API along with its status (if all of the modules are initialized properly, there is a database connection etc)

The endpoint should be of type GET, /healthcheck
The endpoint should return status 200
The endpoint must be documented with Swagger UI (might have to wait for Swagger UI to be implemented)
The endpoint must have tests

You can use My Sonitoproject as inspiration for structure

Notification Showcase
This should give @IroniX2 a notification

@IroniX2 Test number two

no


rds-controller support for Arm?

Is there support or plans to support arm64 for the rds-controller? Getting this error after switching to arm64 arch.
kubectl logs rds-chart-1651668389-7d685b5bfc-z6zlr
standard_init_linux.go:228: exec user process caused: exec format error

Version: 0.0.30

Hey @Preen we're tracking ARM support in this issue https://github.com/aws-controllers-k8s/community/issues/138. One of our engineers is working on a proof of concept. Unfortunately, we cannot give any precise timelines now, hopefully, we get this supported before the end of the year.


[BUG] UpdateRequest never update.

What is the bug?
the api.update.go using wrong HTTP request path.
How can one reproduce the bug?
Steps to reproduce the behavior: create UpdateRequest and execute it.
What is the expected behavior?
Swap line 101 & 103 of "opensearchapi/api.update.go".
What is your host/environment?

OS: macos
Version 12
Plugins

Do you have any screenshots?
None.
Do you have any additional context?
None

This also affects api.create.go. Generated path /{index}/{type}/{id}/_create is no longer accepted by opensearch 2.0


code cleanup: Use exports/avoid shadowing

This should be a pretty quick review.

This will save some prep commit later during the migrations. Thanks!

Great, merged, thanks @showell!


How do I know if the IPU device is employed ?

I have succeeded run the demo "ipu_modelsx4_demo", but whether I turn the IPU device enabled or disabled in device manager, the demo runs flawless, and I can't tell if there are any difference.
I suggest that releasing a single executable file what runs some simple tests to make sure everything related to IPU are good or not. It's better if there is a demo do not need any environment setups (conda, python, etc.), then everybody can use it to test their hardware, but not only developers.
Another suggestion is examples in pure C/C++ and other low-level tools.  In our recent projects, we uses pure C/C++/cuda for inference. To be honest, that makes life much easier. With Ryzen AI, we still don't want to employ any sophisticated solutions. But we need the low-level interfaces/tools and examples how to use them.
A project like cutlas from NVIDIA is a good show. We don't use it, but from their codes, we can easily learn how to using their hardware effectively and efficiently.

@ocwins , thanks for offering these suggestions. Let us review your suggestions internally.
The demo is possibly running on CPU when you disabled the IPU device.

@ocwins , thanks for offering these suggestions. Let us review your suggestions internally.
The demo is possibly running on CPU when you disabled the IPU device.

A program shows detail info and if it can do some benchmark may be the best.  (with or without source code)
And at moment, the demo, it seems that the fps/cpu usage are no significant changes when I disabled the IPU device.  How can I know if the IPU is properly employed ? Are there some outputs can be used to distinguish?

The demo is possibly running on CPU when you disabled the IPU device.

I did some more investigation and it seems that the demo always run on CPU regardless of whether the IPU device is enabled or not.

@uday610 Please have the team view this https://www.asrock.com/microsite/aiquickset/index.html
ASRock has made a simple to use application that they have decided to restrict the use of to their GPUs unfortunately, but it is exactly what a consumer friendly Ryzen AI app should be. I just want to install an app and start prompting images, audio and text. :)

@uday610 Please have the team view this https://www.asrock.com/microsite/aiquickset/index.html
ASRock has made a simple to use application that they have decided to restrict the use of to their GPUs unfortunately, but it is exactly what a consumer friendly Ryzen AI app should be. I just want to install an app and start prompting images, audio and text. :)

In my opinion, we should not go so far at current stage.
First, we need an program to test and benchmark our hardware. A simple mma (matrix multiplication and accumulation) demo with correctness check could achieve this goal.
In my current understanding, IPU is a hardware which runs binaries, AMD provided two binaries at moment, 1x4 and 5x4. Running 1x4 binary on IPU could provide 2 TOPS computing power for a single application/program and users could run 5 application employs IPU at same time. 5x4 binary could provide 10 TOPS computing power for a single application and users could run only one application at same time.
A demo only do arithmetic without any other business logic could prove that the IPU works well and can be pushed to its max computing power. And with source codes of a demo like this, developers especially real programmers could learn the way how to use IPU with its full capability.
Personally, I do not like those onnx (and other frameworks) codes. I want to know how to directly operate the IPU, how to submit inputs and where to get the results. If we could learn how to make a binary running on IPU, it would be perfect.
AI is a set of apps but not the foundation making AI works, programs/examples/frameworks of/for AI is too far from the hardware. Something like onnx or vitisai(?) are somehow a bit closer, but still not suitable to test/demonstrate the IPU itself, examples of running LLM are too heavy for the purpose, that purpose is making users/developers familiar to the hardware.
But I know companies have their strategy and policy at one time. The decision maker may not have willing to give developers (outside the company) all things under the hood.
What I can say is that a demo/example as small as possible (under the restriction from company), it could tell us if the hardware works properly and if the max computing power can be achieved, a program like this is necessary at this very early stage.
A tool like this is good to the team of RyzenAI-SW too. When users/developers meet troubles, you can ask them running this tool to prove their environments are configured properly. @uday610, @andyluo7
Some apps show what IPU can do at high-level are good, but a tool checks the hardware and its capability is a must. That is my opinion.

https://www.youtube.com/watch?v=IVPT6scMaaw

that publication date
current stage
If you only knew how bad things really are.

https://www.youtube.com/watch?v=IVPT6scMaaw

that publication date
current stage

If you only knew how bad things really are.

What should I say...
" A thousand mile trip begins with one step. " ;p
As I can see, from current stage to a stage being totally usable and useful is not too far. Problem here is that many works after current stage have been done, but works at/before current stage are not or not done well.

Hi @ocwins
The multi-model demo is just updated https://github.com/amd/RyzenAI-SW/pull/27 , you may try the same.
Regarding your other suggestion, the team is developing a low-level utility/tool to interact with the IPU standalone/independently. Hopefully we will be able to provide an early access release soon, stay tuned.
Thank you,

Hi @ocwins The multi-model demo is just updated #27 , you may try the same. Regarding your other suggestion, the team is developing a low-level utility/tool to interact with the IPU standalone/independently. Hopefully we will be able to provide an early access release soon, stay tuned.
Thank you,

About my suggestion, thank you (and the team) for listening.
About the multi-model demo, it is still problematic. there are typos in generate_script.py:
bat_file =["set XLNX_VART_FIRMWARE=%cd%\\..\\1x4.xclbin\n",
           "set PATH=%cd%\\..\\bin;%cd%\\..\\python;%cd%\\..;%PATH%\n" # comma
           "set PYTHONPATH="+pythonpath_value+";%PYTHONPATH%" # \n and comma
           "set DEBUG_ONNX_TASK=0\n",
           "set DEBUG_DEMO=0\n",
           "set NUM_OF_DPU_RUNNERS=4\n",
           "set XLNX_ENABLE_GRAPH_ENGINE_PAD=1\n",
           "set XLNX_ENABLE_GRAPH_ENGINE_DEPAD=1\n",
           "%cd%\\..\\bin\ipu_multi_models.exe %cd%\\config\\"]

With corrected scripts, ipu_multi_models.exe pops a message box complaining of "glog.dll was not found" and fails to run. The old version didn't have this problem.

hi @ocwins. in my conda environment, the glog.dll was installed along with Anaconda3. Could you please try running conda install glog and then execute the program again? BTW, my anaconda installer version is Anaconda3-2023.07-2-Windows-x86_64.

Hi @lidachang-amd ,
the glog problem is resolved by installing it.
But there is a new problem, console output:
FAIL : LoadLibrary failed with error 127 "" when trying to load "C:\RyzenAI\SW\demo\multi-model-exec\bin\onnxruntime_vitisai_ep.dll"
and there is a message box showing something like this.
The demo works if we replace onnxruntime_vitisai_ep.dll by its previous version. But it still works without IPU (disabled in device manager), and the CPU usage is as same as the IPU is enabled.
So it's hardly to tell if the IPU was employed in these experiments.

Did You delete the cache (C:\temp{User_name}\vaip.cache) firstly, or you can set XLNX_ENABLE_CACHE=0 to disable the cache.

Did You delete the cache (C:\temp{User_name}\vaip.cache) firstly, or you can set XLNX_ENABLE_CACHE=0 to disable the cache.

No difference is observed after deleting cache or set XLNX_ENABLE_CACHE.
BTW, onnxruntime_vitisai_ep.dll provided in this version may be not properly compiled. The message box shows that the entry point could not be found. There could be a name mismatch caused by C++ name mangling.


Component error: tibber_custom - Integration 'tibber_custom' not found.

Assuming this custom repository should be added as an integration in HACS? Selecting any other category gives error "Repostitory structure for 0.2 is not compliant"
After adding "tibber_custom:" to configuration.yaml I get errors in log when restarting HA:
Logger: homeassistant.components.hassio
Source: components/hassio/init.py:420
Integration: Hass.io (documentation, issues)
First occurred: 10:02:40 (1 occurrences)
Last logged: 10:02:40
Component error: tibber_custom - Integration 'tibber_custom' not found.
There are also two other errors showing up in log that probably is related (they dissapear when "tibber_custom:" is not present in configuration.yaml);
Logger: root
Source: helpers/entity.py:422
First occurred: 10:02:34 (20 occurrences)
Last logged: 10:11:34
Uncaught thread exception
Traceback (most recent call last):
File "/usr/local/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.8/site-packages/pyShelly/block.py", line 181, in update_status_information
self.raise_updated()
File "/usr/local/lib/python3.8/site-packages/pyShelly/base.py", line 36, in raise_updated
callback(self)
File "/config/custom_components/shelly/block.py", line 68, in _updated
self._update_ha_state()
File "/config/custom_components/shelly/block.py", line 60, in _update_ha_state
self.schedule_update_ha_state(True)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 422, in schedule_update_ha_state
assert self.hass is not None
AssertionError
Logger: pyShelly
Source: helpers/entity.py:422
First occurred: 10:02:34 (16 occurrences)
Last logged: 10:11:34
Error update device status: 227F90 SHSW-1, , Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/pyShelly/block.py", line 191, in update_status_information dev.raise_updated(force_update_devices) File "/usr/local/lib/python3.8/site-packages/pyShelly/base.py", line 36, in raise_updated callback(self) File "/config/custom_components/shelly/device.py", line 59, in _updated self._update_ha_state() File "/config/custom_components/shelly/device.py", line 51, in _update_ha_state self.schedule_update_ha_state(True) File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 422, in schedule_update_ha_state assert self.hass is not None AssertionError
Error receive CoAP
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/pyShelly/block.py", line 191, in update_status_information
dev.raise_updated(force_update_devices)
File "/usr/local/lib/python3.8/site-packages/pyShelly/base.py", line 36, in raise_updated
callback(self)
File "/config/custom_components/shelly/device.py", line 59, in _updated
self._update_ha_state()
File "/config/custom_components/shelly/device.py", line 51, in _update_ha_state
self.schedule_update_ha_state(True)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 422, in schedule_update_ha_state
assert self.hass is not None
AssertionError
Otherwise this seems as awesome stuff for HA and Tibber users :)

Assuming this custom repository should be added as an integration in HACS?

Yes


Eventstore doesnt re-connect properly after disconnection

So i put down eventstore (docker) while nestjs app is running, i re-run docker and eventstore is up. nestjs app says connected as well but in reality its not connected, see below.
[NestWinston] Info	9/8/2021, 7:26:40 PM [EventStoreBus] Persistent subscription "adgroup" on stream $ce-ad_groups created ! {"resolveLinkTos":true,"minCheckPointCount":1} - {"service":"service-ad-group"} +45ms
[NestWinston] Info	9/8/2021, 7:26:40 PM [EventStoreBus] Persistent subscription "adgroup" on stream $ce-campaign created ! {"resolveLinkTos":true,"minCheckPointCount":1} - {"service":"service-ad-group"} +1ms
[NestWinston] Info	9/8/2021, 7:26:40 PM [EventStoreBus] Connecting to persistent subscription "adgroup" on stream $ce-campaign - {"service":"service-ad-group"} +8ms
[NestWinston] Info	9/8/2021, 7:26:40 PM [EventStoreBus] Connecting to persistent subscription "adgroup" on stream $ce-ad_group - {"service":"service-ad-group"} +27ms
[NestWinston] Info	9/8/2021, 7:26:40 PM [EventStoreBus] Connecting to persistent subscription "adgroup" on stream $ce-ad_groups - {"service":"service-ad-group"} +0ms
[Nest] 5589   - 09/08/2021, 7:26:40 PM   [EventStoreCore] Subscription started. +486ms
[NestWinston] Info	9/8/2021, 7:26:40 PM [EventStore] Connected to persistent subscription adgroup on stream $ce-campaign! - {"service":"service-ad-group"} +150ms
[Nest] 5589   - 09/08/2021, 7:26:40 PM   [EventStoreCore] Subscription started. +6ms
[NestWinston] Info	9/8/2021, 7:26:40 PM [EventStore] Connected to persistent subscription adgroup on stream $ce-ad_group! - {"service":"service-ad-group"} +5ms
[Nest] 5589   - 09/08/2021, 7:26:40 PM   [EventStoreCore] Subscription started. +4ms
[NestWinston] Info	9/8/2021, 7:26:40 PM [EventStore] Connected to persistent subscription adgroup on stream $ce-ad_groups! - {"service":"service-ad-group"} +12ms
Enabling inline tracing for this federated service. To disable, use ApolloServerPluginInlineTraceDisabled.
[NestWinston] Info	9/8/2021, 7:26:45 PM [NestApplication] Nest application successfully started - {"service":"service-ad-group"} +5s
[Nest] 5589   - 09/08/2021, 7:26:46 PM   [EventStoreCore] TcpPackageConnection: connection [{"host":"<IP_ADDRESS>","port":1113}, L{"host":"<IP_ADDRESS>","port":62493}, 732befcb-9265-413b-b33b-151ee028a2ed] was closed with error: Error: This socket has been ended by the other party
    at Socket.writeAfterFIN [as write] (node:net:449:14)
    at TcpConnection.module.exports.TcpConnection._trySend (/Users/user/Project/service-ad-group/node_modules/node-eventstore-client/lib/dist.js:2844:21)
    at TcpConnection.module.exports.TcpConnection.enqueueSend (/Users/user/Project/service-ad-group/node_modules/node-eventstore-client/lib/dist.js:2828:8)
    at TcpPackageConnection.module.exports.TcpPackageConnection.enqueueSend (/Users/user/Project/service-ad-group/node_modules/node-eventstore-client/lib/dist.js:2639:20)
    at EventStoreConnectionLogicHandler.module.exports.EventStoreConnectionLogicHandler._handleTcpPackage (/Users/user/Project/service-ad-group/node_modules/node-eventstore-client/lib/dist.js:2226:22)
    at /Users/user/Project/service-ad-group/node_modules/node-eventstore-client/lib/dist.js:1821:10
    at Immediate._handlers.<computed> [as _onImmediate] (/Users/user/Project/service-ad-group/node_modules/node-eventstore-client/lib/dist.js:2474:7)
    at processImmediate (node:internal/timers:466:21) +5202ms
[NestWinston] Warn	9/8/2021, 7:26:46 PM [EventStore] Connected to persistent subscription adgroup on stream $ce-campaign dropped connectionClosed : Error: Connection was closed. - {"service":"service-ad-group"} +472ms
[NestWinston] Warn	9/8/2021, 7:26:46 PM [EventStore] Connected to persistent subscription adgroup on stream $ce-ad_group dropped connectionClosed : Error: Connection was closed. - {"service":"service-ad-group"} +7ms
[NestWinston] Warn	9/8/2021, 7:26:46 PM [EventStore] Connected to persistent subscription adgroup on stream $ce-ad_groups dropped connectionClosed : Error: Connection was closed. - {"service":"service-ad-group"} +1ms
[Nest] 5589   - 09/08/2021, 7:26:56 PM   [EventStoreCore] TcpPackageConnection: connected to [{"host":"<IP_ADDRESS>","port":1113}, L{"host":"<IP_ADDRESS>","port":62714}, 7a3bb650-3a03-4d07-ac2f-5bba1ff2afbc]. +10291ms
[Nest] 5589   - 09/08/2021, 7:26:56 PM   [EventStoreCore] TcpConnection: successfully connected to {"host":"<IP_ADDRESS>","port":1113} +1ms
[NestWinston] Info	9/8/2021, 7:26:56 PM [EventStore] Connection to EventStore established! - {"service":"service-ad-group"} +10s
[Nest] 5589   - 09/08/2021, 7:26:56 PM   [EventStoreCore] Connected to eventstore +25ms

the green ones in image, i manually re-run the nestjs apps. Once i restart the apps only then missed events are replayed, not upon re-connect.

Hi Kodeine,
Thank you for your interest!
The connector is currently been updated these days, and soon a v5 will be release, that will be compatible with the last version of ES, using gRPC, so this shouldn't be an issue anymore after that.

Hello @AlexandreDecollas ,
I am aware you u guys are working on a newer client version and i'm very excited to start using it. The problem right now is i have a lot of services using the older version of this package and it will take me some time to migrate to the newer version. In the meantime, is it possible to push a hotfix patch for this disconnection issue? I would be really thankful.
i am using "nestjs-geteventstore": "1.6.4",


Release notes says it works again, but doesn't - atleast on Mac

I'm still getting the "same" bug whenever I try to open a video with freetube:// with and without the extention to Firefox. Is there anything we should add to our settings, to make this work properly?

Mac is difficult for me to test because I don't have a device to test with.  I'll have to setup a VM to figure out what's going on.  Can you please describe what the "Bug" is that you're experiencing?  Is it similar to #618?

Sorry, but I didn't get as many details in as in #618. But yes, it seems like it is the same case for me, I'm also using 0.9.0.
Would also like to say thank you for creating this project!

Going to close this here because this is an issue with FreeTube itself and not the extension


History.replace always creates a new key in sessionStorage (version 3)

I have a problem with the history always creating a new item in the session storage on history.replace even if I pass the previous key. This will result in a storage exceed limitation issue after some usage. Is there any reason why it creates a new session item instead of overwriting the previous session item? Is this as intended or it's it a bug?
Here is an example and you can look at the sessionStorage getting bigger and bigger.
http://jsbin.com/doyixusuvu/edit?js,console,output

This is intended behavior. The key is unique to each location object.

So the intended behavior is to fill the sessionStorage until it breaks?

No. We already stopped using sessionStorage in v4. I don't currently maintain v3.

leave this comment at this time


Business central on-prem croatian (hr-HR) language bug

Hello,
There is a bug in Croatian system language, in On-Prem release of Business Central, that comes with installation.
When you change to Croatian language, you get an error when you try to launch any report.
There is a space in boolean translation in ,Yes,No (", Da,Ne"). So when on Croatian you cannot open any report.

Translated:
Filer " Yes" is not valid for field Public visible on table object options. Value "Yes" cannot be evaluated to boolean type.
BR

We're investigating. Thanks for reporting.

I have provided the translation feedback to our translation supplier. We will fix the issue and make sure that it is included in the next OnPrem update (CU update 2). Thank you for reporting!


Multiple months on the popup

Currently we are seeing only one month on the Calendar. It will be very useful if we can set an option to see multiple months. For instance if i want to see a 3 month calendar it would be very useful.

Duplicate of #1154


Prompt fails to load in Termux

Description

Note: I am just making this bug to close it with my PR.
I am surprised this hasn't been reported before.
On the Android terminal emulator Termux, the default configuration breaks the shell prompt completely.
Expected behavior

You see the pretty prompt on login like you do on desktop.
Actual behavior

Instead of showing the prompt, zsh shows an error message and leaves the user with a fallback dollar prompt.
$ zsh --login
pmodload: no such module: prompt
$ # useless white dollar prompt

Steps to Reproduce

Install Termux
pkg install zsh
Install prezto the normal way
zsh --login or chsh -s zsh and open a new window

Versions

Prezto commit:
b3c27bb, but has existed for as long as I remember
ZSH version:
zsh 5.4.2 (arm-unknown-linux-androideabi)
OS information:
LG G3 d851
Qualcomm Snapdragon 801 (armv7, 32-bit)
Android 7.1.2 via Resurrection Remix 5.8.5
Termux 0.60

Any update on this issue?

Termux has a styling addon , so probably that might have something to do with 'prompt not found'

Any news on this?

Any news on this?

I have no way of diagnosing this because I don't have a good way to run termux. PRs or any background information would be welcome.

I have no way of diagnosing this because I don't have a good way to run termux. PRs or any background information would be welcome.

Indeed is a really specific scenario.
What I know is that Termux project created a Docker image in https://github.com/termux/termux-docker. I've used in the past to test their package manager... Maybe it could be used to at least simulate this problem?

Indeed is a really specific scenario.
What I know is that Termux project created a Docker image in https://github.com/termux/termux-docker. I've used in the past to test their package manager... Maybe it could be used to at least simulate this problem?

I'm sorry, I was sleeping on the job. 🤦♂
It still isn't working.

I'm sorry, I was sleeping on the job. 🤦♂
It still isn't working.

I found the issue, and it appears to be a zsh issue. I will try to sort it out there.

I found the issue, and it appears to be a zsh issue. I will try to sort it out there.

@easyaspi314 can you give us more information about the issue being in zsh itself, or maybe a workaround?

@easyaspi314 can you give us more information about the issue being in zsh itself, or maybe a workaround?

Should this really be marked as completed? It seems impossible to run prezto on termux and I'm getting the same error as in #1561 which appears to have been closed without merging. The error I get is:
pmodload: no such module: history-substring-search
pmodload: no such module: prompt                           pmodload: no such module: git
pmodload: no such module: ruby

For those who met the issue prompt or history-substring-search no such module, you can simply change the module load order in .zpreztorc, let completion be the last one should fix this issue.


Converting to Go Modules and depending on k8s.io/test-info

This PR supersedes #111 from @stevekuznetsov
Converting the repository over to go modules and also breaking our dependence on a custom copy of kubernetes.io/test-infa.  Unfortunately, the PR looks a whole lot larger than it really is, due to the re-vendoring done by go mod.
This PR also contains the changes for #113

/assign @smarterclayton

Here is a git patch file that contains all the changes outside of the vendor folder...
patch.txt

Could you literally break up the commits in the PR so that it's easy to view and review in the GitHub UI?

Could you literally break up the commits in the PR so that it's easy to view and review in the GitHub UI?

@stevekuznetsov I've updated the PR to contain 2 commits (1 with the source code changes and the other with the re-vendoring).

What's the process for deploying this in the test namespace and letting it run to see if it falls over? I'm mostly happy with this but if we have low-risk rollout options, let's use them

What's the process for deploying this in the test namespace and letting it run to see if it falls over? I'm mostly happy with this but if we have low-risk rollout options, let's use them

I ran, and tested, these changes all day today.  The good news is that I did find one bug related to the naming of the ProwJob's that resulted in an infinite loop of jobs getting created.  The fix has been added to this PR (f781155).  Other than that, the release-controller appears to be operating as expected.

Cool, saw that update from you.
/lgtm
/approve

/hold
In case we push straight to prod let's do this in the morning

@smarterclayton @stevekuznetsov Revisiting this PR since it's been a few weeks.  Anything needed, on our end, to free it from the hold and getting it merged?

@bradmwilliams no -- the /hold was, as my comment was alluding to, only there to hold this in case that the merge results in a push to production with this code, since I added my approval at night and was not going to be around to watch it. Whenever you are ready, please /hold cancel.

/hold cancel
/approve
Will watch this and see if it blows up


ol.interaction.Interaction API docs typo

Required is doubled here:
Method called by the map to notify the interaction that a browser event was dispatched to the map.
The function may return false to prevent the propagation of the event to other interactions in the map's interactions chain.
Required. Required.

PR https://github.com/openlayers/ol3/pull/5061

Closed via #5061


Add doc links for React and Angular SDKs

Location : https://is.docs.wso2.com/en/5.11.0/develop/sdk-overview/
Add the React and Angular SDKs which were recently completed and compatible with 5.11.0
[1] https://github.com/asgardeo/asgardeo-auth-react-sdk
[2] https://github.com/asgardeo/asgardeo-auth-angular-sdk

Already fixed.


trap invalid opcode / illegal instruction (core dumped)

Describe the bug
When starting reth on an Intel i5-4278U it crashes du to an invalid opcode. Is the CPU too old?
Here's how the start looks like:
2024-01-24T20:35:33.589013Z  INFO reth::cli: reth 0.1.0-alpha.16 (d8a9b58) starting
2024-01-24T20:35:33.589052Z  INFO reth::cli: Opening database path="/some/reth-eth-mainnet-data/db"
2024-01-24T20:35:33.592394Z  INFO reth::cli: Configuration loaded path="/some/reth-eth-mainnet-data/reth.toml"
2024-01-24T20:35:33.593035Z  INFO reth::cli: Database opened
2024-01-24T20:35:33.593296Z  INFO reth::cli: Pre-merge hard forks (block based):
- Frontier                         @0
- Homestead                        @1150000
- Dao                              @1920000
- Tangerine                        @2463000
- SpuriousDragon                   @2675000
- Byzantium                        @4370000
- Constantinople                   @7280000
- Petersburg                       @7280000
- Istanbul                         @9069000
- MuirGlacier                      @9200000
- Berlin                           @12244000
- London                           @12965000
- ArrowGlacier                     @13773000
- GrayGlacier                      @15050000
Merge hard forks:
- Paris                            @58750000000000000000000 (network is not known to be merged)

Post-merge hard forks (timestamp based):
- Shanghai                         @1681338455

bash: line 1:  8314 Illegal instruction     (core dumped) reth node --datadir=/some/reth-eth-mainnet-data --nat=extip:(my-ip-removed) --full

dmesg:
[ 3670.918117] traps: reth[8077] trap invalid opcode ip:55e4ca2a212e sp:7ffe9930fca8 error:0 in reth[55e4c8000000+2d1a000]

Steps to reproduce

Download reth alpha16 for Linux/x86
Run "reth node ..."

Node logs
No response
Platform(s)
Linux (x86)
What version/commit are you on?
alpha16
What database version are you on?
(default)
What type of node are you running?
Full via --full flag
What prune config do you use, if any?
No response
If you've built Reth from source, provide the full command you used
No response
Code of Conduct

[X] I agree to follow the Code of Conduct

Could you try running make maxperf-no-asm and let us know if it still errors?

Before that can you open it in a debugger and print the stacktrace?

I believe we build dist binaries with RUSTFLAGS=native

oh? I don't think we should do that

awesome, this helped narrow it down to blst, which conditions on the platform
https://github.com/supranational/blst/commit/83d78c2a122e8e1f643b6efb991247ff6689bb85
Let's introduce a portable feature to c-kzg-4844 which enables the blst portable feature.

PR here: https://github.com/ethereum/c-kzg-4844/pull/389


chore: test Node.js 10, remove Node.js 4 which is EOL

Coverage remained the same at 96.667% when pulling 98e2eecca35899628ed58379c0d2df533da7c270 on DanielRuf:chore/test-nodejs-10 into 6e39f89aac1597208543da9765841f3b615f7da7 on johncrisostomo:master.

Coverage remained the same at 96.667% when pulling 98e2eecca35899628ed58379c0d2df533da7c270 on DanielRuf:chore/test-nodejs-10 into 6e39f89aac1597208543da9765841f3b615f7da7 on johncrisostomo:master.

Coverage remained the same at 96.667% when pulling 98e2eecca35899628ed58379c0d2df533da7c270 on DanielRuf:chore/test-nodejs-10 into 6e39f89aac1597208543da9765841f3b615f7da7 on johncrisostomo:master.


hello how make income call  reject or accept video call

hello how make income call  reject or accept video call

To have incoming call accept and reject functionality, you can use refer this repository: https://github.com/AgoraIO/Advanced-Video/tree/dev/backup/Calling-Interface/Agora-RTC-With-ConnectionService-Android
After you implemented connectionservice, you can easily start the uikit activity when the user accepts the call.


Mass JSON encoding => mix iterate() and resultAsArray()

I've got a huge table and I just want to get this as json.
I'm able to "process the whole data table as an array"
      $q = $qb->getQuery();
      $q->setHint(Query::HINT_INCLUDE_META_COLUMNS, true);
      $data = $q->getResult(Query::HYDRATE_ARRAY);

This takes 4 seconds for 15k records
And to "process each object 1 by 1 cleaning doctrine everytime"
      $q = $qb->getQuery();
      $data = $q->iterate();

(though, this last solution leads me to manually encoding to json every row)
This takes 15 seconds for 15k records (!) even if I detach($current) and even clear() entity manager.
How would I "process each record 1 by 1 as an array" ?
I tried $data = $q->iterate(Query::HYDRATE_ARRAY); which gave me an error

You'd probably use SQL for that. If speed is necessary, the ORM is NOT designed to get you there fast, when it comes to batch processing.
Closing as can't fix.

@ocramius thanks for your answer.
Even if I can see that indeed the ORM was not designed with speed mind, I don't think in 2016 web can call simple SQL select to json serialisation of 15000 rows without any joint a "batch processing"...

@cyrilchapon it really depends on the amount of data, queries, etc.
We have performance tests that hydrate/persist 10k records within .2 seconds, so if you think there is a performance problem somewhere, there needs to be some sort of benchmark exposing it, or some profiling exposing a particularly slow piece of the logic.
If you have large JSON structures, then most overhead will end up being in json_decode(), which we don't have control on.
If your entities implement JsonSerializable, then you may have an issue in that logic.
It's not as simple as " I don't think in 2016 web can call simple SQL select to json serialisation of 15000 rows", there needs to be some testing and some reproducible issue.
That said, 15000 rows loaded into memory is way out of scope for this ORM: wrong tool for the job already.


Reporting taxonomy value update: ms.service = functions -> azure-functions

Please see attached spreadsheet for azure-docs-sdk-java usage of the ms.service reporting taxonomy value functions, which should be removed and replaced with the ms.service reporting taxonomy value **azure-functions
functions_to_azure-functions.xlsx
**
Please Assign to:

Daniel Jurek (@danieljurek)

With the Label:

Docs

Please Assign to:

Daniel Jurek (@danieljurek)

With the Label:

Docs


Support asset-library / camera roll URLs

Currently the library doesn't support iOS asset-library URLs which are what the RN CameraRoll integration supplies to you.  This PR adds a check for the asset-library URL and then uses the iOS Photos library to make the image available to Firestack to then upload.
This is based off code given in one of Google's CodeLabs for Firebase: https://codelabs.developers.google.com/codelabs/firebase-ios-objc/index.html?index=..%2F..%2Findex#8

Was looking for this. Awesome!

@alexkendall just note that there's a subsequent PR https://github.com/fullstackreact/react-native-firestack/pull/66 which hasn't yet been merged to fix permissions issues when deploying to a device.


Can't connect

Not sure what I'm doing wrong. On-prem source server https://:8443/ with known admin username and password that works through the web UI and Jamf Admin, but when I try to get a list of files in jamfcpr I get "No packages found.  Please verify server, username, and password are correct."
Is there something obvious I'm missing?

?SMB or AFP share?  Anything in the log?  Hold the option key while clicking the List button, does the share appear?

From: Chris Waldrip @.***>
Sent: Tuesday, May 4, 2021 5:12 PM
To: BIG-RAT/jamfcpr
Cc: Subscribed
Subject: [BIG-RAT/jamfcpr] Can't connect (#5)
Not sure what I'm doing wrong. On-prem source server https://:8443/ with known admin username and password that works through the web UI and Jamf Admin, but when I try to get a list of files in jamfcpr I get "No packages found. Please verify server, username, and password are correct."
Is there something obvious I'm missing?
[Screen Shot 2021-05-04 at 5 10 30 PM]https://user-images.githubusercontent.com/7740383/117070525-d7aadd00-acfb-11eb-96e9-dd7fe350e921.png

You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/BIG-RAT/jamfcpr/issues/5, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFJYQF6N6G6ONQ4JJDXOZITTMBPNHANCNFSM44DOTC6Q.
[ { @.": "http://schema.org", @.": "EmailMessage", "potentialAction": { @.": "ViewAction", "target": "https://github.com/BIG-RAT/jamfcpr/issues/5", "url": "https://github.com/BIG-RAT/jamfcpr/issues/5", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { @.": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

Source is SMB. Nothing with the option key. Here's a log file I just took with the same server/user/password settings as the previous screenshot. Both users have full admin rights, fwiw.
20210505_112529 -------------------------------------------------------
20210505_112529 -        jamfcpr Version: 1.0.2 Build: 1
20210505_112529 -------------------------------------------------------
20210505_112529 [directoryOrServer] sourceTextFieldPrefix: http
20210505_112529 [directoryOrServer] userDefaults.object(forKey: "share"): unmounted
20210505_112529 [directoryOrServer] source: server
20210505_112539 [ViewController replicate_Button] Parameters.downloadOption: Options
20210505_112539 [directoryOrServer] sourceTextFieldPrefix: http
20210505_112539 [directoryOrServer] userDefaults.object(forKey: "share"): unmounted
20210505_112539 [directoryOrServer] source: server
20210505_112540 [betweenTags] Nothing found between <packages> and </packages>.

20210505_112540 [betweenTags] Nothing found between <cloudDistributionPoints> and </cloudDistributionPoints>.

20210505_112540 [ViewController-replicate_Button] destination server full package info: [:]
20210505_112540 [ViewController-replicate_Button] destination server package info: [:]
20210505_112540 [ViewController-replicate_Button] JCDS info: [:]
20210505_112540 replicate from JCDS
20210505_112553 [directoryOrServer] sourceTextFieldPrefix: http
20210505_112553 [directoryOrServer] userDefaults.object(forKey: "share"): unmounted
20210505_112553 [directoryOrServer] source: server
20210505_112553 [ViewController.reloadFileList] source: server
20210505_112553 [ViewController.reloadFileList] display packages from server
20210505_112553 [ViewController.reloadFileList] webPackages: []
20210505_112553 [ViewController.reloadFileList] call packageTableView.reloadData()
20210505_112553 [betweenTags] Nothing found between <fileservers> and </fileservers>.

20210505_112553 [betweenTags] Nothing found between <cloudDistributionPoints> and </cloudDistributionPoints>.

20210505_112553 JcdsServerXml: <cloudDistributionPoints></cloudDistributionPoints>
20210505_112553 [betweenTags] Nothing found between <packages> and </packages>.

20210505_112553 [ListCloudPackages-casperJxmlGet] xmlData: <packages></packages>

20210505_112553 [betweenTags] Nothing found between <cloudDistributionPoints> and </cloudDistributionPoints>.

20210505_112553 [betweenTags] Nothing found between <packages> and </packages>.

20210505_112553 [ListCloudPackages-casperJxmlGet] packageData: <packages></packages>

20210505_112553 [ListCloudPackages-casperJxmlGet] self.packagesDict: [:]
20210505_112553 [JcdsDelegate] serverArray: []
20210505_112553 [ListPackages.casperJxmlGet] No packages found.  Please verify server, username, and password are correct.
20210505_112556 [VewController.list_Button] self.mountedShare: file://
20210505_112556 [ViewController.representedObject] directory: Directory(files: [], url: Packages -- file:///)
20210505_112556 [directoryOrServer] sourceTextFieldPrefix: http
20210505_112556 [directoryOrServer] userDefaults.object(forKey: "share"): unmounted
20210505_112556 [directoryOrServer] source: server
20210505_112556 [ViewController.reloadFileList] source: server
20210505_112556 [ViewController.reloadFileList] display packages from server
20210505_112556 [ViewController.reloadFileList] webPackages: []
20210505_112556 [ViewController.reloadFileList] call packageTableView.reloadData()
20210505_112556 [VewController.list_Button] server self.representedObject: Packages -- file:///

Added some additional logging to see if we can't find the issue.  If you can share some log info when holding down the option key while clicking list.  Like to see if you get anything similar to:
20210512_052429 [VewController.list_Button] using option key
20210512_052429 [AuthCheck.validate] Start task
20210512_052429 [AuthCheck.validate] Authenticated to https://manage.domain.local:8443
20210512_052429 [ListPackages] using option key
20210512_052429 [JxmlDelegate] checking dp01.my.domain
20210512_052429 [JxmlDelegate] checking primary.my.domain
20210512_052429 [JxmlDelegate] checking webshare.my.domain
Where it should list the distribution point(s) available.

Thanks for the new build. Downloaded, launched, verified my server and credentials, and held option and clicked list. Similar issue. Here are the logs...
20210513_133246 -------------------------------------------------------
20210513_133246 -        jamfcpr Version: 2.0.0 Build: 1
20210513_133246 -------------------------------------------------------
20210513_133246 [directoryOrServer] sourceTextFieldPrefix: http
20210513_133246 [directoryOrServer] userDefaults.object(forKey: "share"): unmounted
20210513_133246 [directoryOrServer] source: server
20210513_133258 [ViewController replicate_Button] Parameters.downloadOption: Options
20210513_133258 [directoryOrServer] sourceTextFieldPrefix: http
20210513_133258 [directoryOrServer] userDefaults.object(forKey: "share"): unmounted
20210513_133258 [directoryOrServer] source: server
20210513_133258 [ViewController.fetchPackageList] fetching destination JCDS information
20210513_133258 [JcdsDelegate.uploadInfo] Start task
20210513_133300 [JcdsDelegate.betweenTags] Nothing found between tags.
20210513_133300 [JcdsDelegate.betweenTags] Nothing found between tags.
20210513_133300 [JcdsDelegate.betweenTags] Nothing found between tags.
20210513_133300 [JcdsDelegate.betweenTags] Nothing found between tags.
20210513_133304 [directoryOrServer] sourceTextFieldPrefix: http
20210513_133304 [directoryOrServer] userDefaults.object(forKey: "share"): unmounted
20210513_133304 [directoryOrServer] source: server
20210513_133304 [ViewController.reloadFileList] source: server
20210513_133304 [ViewController.reloadFileList] display packages from server
20210513_133304 [ViewController.reloadFileList] webPackages: []
20210513_133304 [ViewController.reloadFileList] call packageTableView.reloadData()
20210513_133304 [VewController.list_Button] using option key
20210513_133304 [AuthCheck.validate] Start task
20210513_133304 [ListPackages.betweenTags] Nothing found between <fileservers> and </fileservers>.

20210513_133304 [ListPackages.betweenTags] Nothing found between <cloudDistributionPoints> and </cloudDistributionPoints>.

20210513_133304 JcdsServerXml: <cloudDistributionPoints></cloudDistributionPoints>
20210513_133304 [ListPackages.betweenTags] Nothing found between <packages> and </packages>.

20210513_133304 [ListCloudPackages-casperJxmlGet] xmlData: <packages></packages>

20210513_133304 [ListPackages.betweenTags] Nothing found between <cloudDistributionPoints> and </cloudDistributionPoints>.

20210513_133304 [ListPackages.betweenTags] Nothing found between <packages> and </packages>.

20210513_133304 [ListCloudPackages-casperJxmlGet] packageData: <packages></packages>

20210513_133304 [ListCloudPackages-casperJxmlGet] self.packagesDict: [:]
20210513_133304 [JcdsDelegate] serverArray: []

Odd how it went from
20210513_133304 [AuthCheck.validate] Start task
to
20210513_133304 [ListPackages.betweenTags] Nothing found between  and .
??without either validating of showing a login failure. Have to dig a bit more.

From: Chris Waldrip @.***>
Sent: Thursday, May 13, 2021 1:34 PM
To: BIG-RAT/jamfcpr
Cc: Leslie N. Helou; Comment
Subject: Re: [BIG-RAT/jamfcpr] Can't connect (#5)
Thanks for the new build. Downloaded, launched, verified my server and credentials, and held option and clicked list. Similar issue. Here are the logs...
20210513_133246 -------------------------------------------------------
20210513_133246 -        jamfcpr Version: 2.0.0 Build: 1
20210513_133246 -------------------------------------------------------
20210513_133246 [directoryOrServer] sourceTextFieldPrefix: http
20210513_133246 [directoryOrServer] userDefaults.object(forKey: "share"): unmounted
20210513_133246 [directoryOrServer] source: server
20210513_133258 [ViewController replicate_Button] Parameters.downloadOption: Options
20210513_133258 [directoryOrServer] sourceTextFieldPrefix: http
20210513_133258 [directoryOrServer] userDefaults.object(forKey: "share"): unmounted
20210513_133258 [directoryOrServer] source: server
20210513_133258 [ViewController.fetchPackageList] fetching destination JCDS information
20210513_133258 [JcdsDelegate.uploadInfo] Start task
20210513_133300 [JcdsDelegate.betweenTags] Nothing found between tags.
20210513_133300 [JcdsDelegate.betweenTags] Nothing found between tags.
20210513_133300 [JcdsDelegate.betweenTags] Nothing found between tags.
20210513_133300 [JcdsDelegate.betweenTags] Nothing found between tags.
20210513_133304 [directoryOrServer] sourceTextFieldPrefix: http
20210513_133304 [directoryOrServer] userDefaults.object(forKey: "share"): unmounted
20210513_133304 [directoryOrServer] source: server
20210513_133304 [ViewController.reloadFileList] source: server
20210513_133304 [ViewController.reloadFileList] display packages from server
20210513_133304 [ViewController.reloadFileList] webPackages: []
20210513_133304 [ViewController.reloadFileList] call packageTableView.reloadData()
20210513_133304 [VewController.list_Button] using option key
20210513_133304 [AuthCheck.validate] Start task
20210513_133304 [ListPackages.betweenTags] Nothing found between  and .
20210513_133304 [ListPackages.betweenTags] Nothing found between  and .
20210513_133304 JcdsServerXml:
20210513_133304 [ListPackages.betweenTags] Nothing found between  and .
20210513_133304 [ListCloudPackages-casperJxmlGet] xmlData:
20210513_133304 [ListPackages.betweenTags] Nothing found between  and .
20210513_133304 [ListPackages.betweenTags] Nothing found between  and .
20210513_133304 [ListCloudPackages-casperJxmlGet] packageData:
20210513_133304 [ListCloudPackages-casperJxmlGet] self.packagesDict: [:]
20210513_133304 [JcdsDelegate] serverArray: []

You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/BIG-RAT/jamfcpr/issues/5#issuecomment-840715184, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFJYQF4RDP5WN7NKPKYY7PDTNQETBANCNFSM44DOTC6Q.
[ { @.": "http://schema.org", @.": "EmailMessage", "potentialAction": { @.": "ViewAction", "target": "https://github.com/BIG-RAT/jamfcpr/issues/5#issuecomment-840715184", "url": "https://github.com/BIG-RAT/jamfcpr/issues/5#issuecomment-840715184", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { @.": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

Do you have SSO enabled?  If so by-pass also needs to be enabled.

Nope... just plain username/password. :(

I am having a similar issue. The packages list shows up for the source DP (AFP share) but am getting the error:
"Unable to retrieve upload information for destination server. JCDS must be selected as the principal distribution point and currently is not."
The destination is the principal DP though so I do not really understand this message. Any other suggestions appreciated.

Has anything been uploaded to the destination Jamf Cloud Distribution Server yet?
On Jun 17, 2021, at 5:05 PM, jshirle2 @.***> wrote:

I am having a similar issue. The packages list shows up for the source DP (AFP share) but am getting the error:
"Unable to retrieve upload information for destination server. JCDS must be selected as the principal distribution point and currently is not."
The destination is the principal DP though so I do not really understand this message. Any other suggestions appreciated.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/BIG-RAT/jamfcpr/issues/5#issuecomment-863563261, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFJYQF4UUIRMSTECDHINP7TTTJPS3ANCNFSM44DOTC6Q.
[ { @.": "http://schema.org", @.": "EmailMessage", "potentialAction": { @.": "ViewAction", "target": "https://github.com/BIG-RAT/jamfcpr/issues/5#issuecomment-863563261", "url": "https://github.com/BIG-RAT/jamfcpr/issues/5#issuecomment-863563261", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { @.": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

Yes. I used AutoPKGR to upload packages a while ago. If it makes a difference I have been using JAMF Admin to mount the share and point to it via the folder option for the source.

@jshirle2 - just noticed if SSO is enabled and Replicate is clicked before Compare I get the same results you're seeing.  Are you by chance using SSO?

@BIG-RAT Hi there. jshirle2 is out this week, but I'm a coworker with him. Yes, we have SSO enabled, but things like autopkgr and other API based stuff doesn't get blocked by this.
Thanks!

@damacguy  - found an issue when some special characters were in the password.  Let me know if things improve in v3.0.0
@jshirle2 / @staze - Wondering if you get the error when clicking Compare, and if v3.0.0 runs any better.

@BIG-RAT can confirm 3.0.0 fixes the issue. It's syncing now. =)

Hi There, Having similar issues. Just trying to use Jamfcpr to download individual packages. Using jamf cloud as the source. We dont have SSO, only LDAP. The tool refuses to list the apps. tried Versions 2.2.0 and 3.0 and 3.1. all the same. it used to work with version 2.1 which i was using back in May.
the only issue i can see in the log is
20210701_095451 [ListPackages.betweenTags] Nothing found between  and .
Jamf responds with the XML with the package list etc. it looks like it runs through the list correctly and tries to load but doesnt give any errors to indicate anything went wrong.

Anything show if you click the name or size header?

Ah! yes, Thanks. Weird. something funky with cache perhaps. Now when i close and reopen the app its fine.

Packages now display without clicking either column.

@jshirle2 / @staze - Wondering if you get the error when clicking Compare, and if v3.0.0 runs any better.

Hello,
We are receiving the same issue as Jshirle2 and staze was. We get the same error "Unable to retrieve upload information for the destination server. JCDS must be selected as the principal distribution point and currently is not" even when we click compare. It does see the packages and their names and list them, we just can't get them to move over.

Packages upload through the web interface without issue?


An overview of how the internals of Ractive work

Been doing some deep debugging on 0.6 lately due to some quirks I couldn't understand and have gotten a broad overview of how the internals work. However, it would be nice if the documentation had an overview of the internals, the workflow of different operations, etc. Something as broad like:

https://facebook.github.io/react/docs/reconciliation.html
https://ellislab.com/codeigniter/user-guide/overview/appflow.html
http://calendar.perfplanet.com/2013/diff/
http://blog.bguiz.com/post/57373805814/accessors-vs-dirty-checking-in-javascript-frameworks/

Primary concerns would be:

General workflow of internals
Get and set
Computed
Observers
Initialization and teardown
DOM and component management
Data ownership
How it differs from React (vdom)
How it differs from Ember (binding)

This would make good documentation, contribution reference, a blog post perhaps (for promoting), implementation reference (for competing with other libraries). Beside, been meaning to tear apart the code but still couldn't understand how each module interacts with the others. Thoughts?

I'm trying to finish up last few issues of #1740 and then would be great time to tackle those as it will be very fresh in my mind.

Just for tracking: same as #47


perf(encoding): reserve memory before the row encoding.

after https://github.com/risingwavelabs/risingwave/pull/8692 we can get the row encoding size before we really encode a row. So we can reserve the buffer before encoding.
optimizing target: Row::value_serialize https://github.com/singularity-data/risingwave/blob/main/src/common/src/row/mod.rs#L80
bench:
cd ./src/common
cargo bench --bench bench_row -- basic

c.c. @BugenZhao feel free to comment if you have any idea, thanks!

If estimate_size() is most likely to be more than the actual length, then it would be perfect, but I guess currently estimate_size() gives a average approximating size, which means, it could be more or less than the actuall length.
Please make sure to cover all data types in this micro-benchmark.


KeyDerivation.deriveFromKey hard-coded context

Hi @kozw I'm curious if there is or was a reason why KeyDerivation.deriveFromKey(masterKey, subKeyId, subKeyLength) implicitly differs from Sodium.cryptoKdfDeriveFromKey(subKeyLength, subKeyId, context, masterKey) ?
This plugin currently ignores user-defined context by using hard-coded String context = '00000000'
Also, for consistency, why not follow the same input structure as Sodium.cryptoKdfDeriveFromKey(subKeyLength, subKeyId, context, masterKey) ?
https://github.com/firstfloorsoftware/flutter_sodium/blob/master/lib/src/key_derivation.dart

Sodium.cryptoKdfDeriveFromKey is the low-level API that provides a 1:1 mapping to libsodium functions.
KeyDerivation is part of the high-level, opinionated API, providing a more dart-like experience. This should explain the difference in input structure.
The context parameter value '00000000' is just a default, you can simply provide your own value (which must be 8 chars long). I'm assuming only a single context is used in an app, this is possibly an incorrect assumption. Yes, it is opinionated, and yes can easily provide your own value.
Does that make sense?

Yes, makes sense. Thank you for clarifying, thank you for providing the low-level Sodium API, and most of all thank you for this Flutter package!


tests: fix most of the static warnings

🚀 Description
This fixes most of the static warnings reported by npm run lint:sol.
I dislike some of these rules, but I think it's important first to follow the upstream proposed style, and then discuss one by one the things where we want to deviate.

[x] 📘 I've reviewed the OpenZeppelin Contributor Guidelines
[x] ✅ I've added tests where applicable to test my new functionality.
[x] 📖 I've made sure that my contracts are well-documented.
[x] 🎨 I've run the JS/Solidity linters and fixed any issues (npm run lint:all:fix).

Thanks for the reviews! <3

👏👏👏


⚠ DesiTorrents has degraded performance

In 9ffcebc, DesiTorrents ($DST) experienced degraded performance:

HTTP code: 200
Response time: 2210 ms

Resolved: DesiTorrents performance has improved in db6c1d4.


Repsonse objects returned by exception handlers are processed twice, losing data

I have several registered exception handlers that return a Response-object.
After that Response gets back up to Illuminate\Routing\Pipeline::handleException(),  that sameexception will be attached via a call to the withException()-function.
On its way back up to the router, it passes through the other active middlewares.
If you have CORS enabled for example, the correct Accept-*-headers are added.
So then we arrive back in Dingo\Api\Routing\Router::dispatch() with a Response as intended.
Unfortunately, there it is detected that since an exception is attached it should be re-thrown.
This causes the exception handler (which already ran for this particular exception) to be executed again, returning yet another Response-object. Unfortunately this time we already lost the middleware-chain and this response does not receive its CORS headers.
Result: the frontend receives a kaputt response.
I am well aware this is an exceptional situation, yet it was created while just using the existing & provided functionality. I've solved it by returning a derivation of the Response class now that blocks the withException-functionality, but somehow there must be a better/cleaner way to prevent exceptions being fed twice through the handler.

I'm actually doing something much simpler than you, but having the same issue.
I do not have any registered exception handlers, but I am using a CORS middleware. All I'm doing, from my controllers, is either throwing an exception (that Dingo catches) or using one of Dingo's helper functions such as errorUnauthorized.
Even with such a simple setup, the response does not include any of my CORS headers. The only solution I've thought of so far is putting this inside of my middleware, above $response = $next($request);
app('Dingo\Api\Exception\Handler')->register(function (\Symfony\Component\HttpKernel\Exception\HttpException $exception) {         // Generate and return a response, attaching CORS headers...         // Unfortunately, this means recreating a lot of code Dingo already has in its generic handler         // Simpler solution would be to say:         //     $response = app('Dingo\Api\Exception\Handler')->genericResponse($exception);         // and then attach the headers to $response... but genericResponse is a protected function. });

same issue here

This does sound like a bug, will look into this and see what I can do to solve it.

@Blizzke and @nschirmer I just pushed up a change that should fix this. Can you install dev-master or https://github.com/dingo/api/commit/0c7e146f1dd48116e897e9387fa33c1628362578 and give it a whirl?

Having the same issue with serving an API with dingo/api and barryvdh/laravel-cors. As soon as I throw an exception or an error response from my controllers, the CORS headers are missing from the response that get's actually send in the end.
Since the change in 0c7e146f1dd48116e897e9387fa33c1628362578 was reverted, is there any other way of getting this worked out or is there a fix in sight?
@nschirmer How exactly did you solve this if I may ask?

Sorry @hskrasek -- I haven't had a chance to test what you pushed up.
@JonasDoebertin -- My current fix is basically as follows...
So the Cors middleware I'm using would normally just do this (before putting in the Exception handler fix):
// Note that all of the following lines are wrapped in another if that actually checks
// if we're dealing with a CORS request from another domain ... if we're not, then
// it just returns $next($request) and doesn't add any CORS headers

if($request->isMethod('options')) {
	$response = response()->json(['options' => true], 200);
} else {
	// Fix code below is going to go HERE
	$response = $next($request);
}

return $response
	->header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT, DELETE')
	->header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization')
	->header('Access-Control-Allow-Origin', $origin);

My fix is actually pretty messy, since I sort of rushed it until a real fix was available. Basically, I have this within the else block above (before setting $response variable).
	app('Dingo\Api\Exception\Handler')->register(function (\Symfony\Component\HttpKernel\Exception\HttpException $exception) use($origin) {
		$statusCode = $exception->getStatusCode();

		if (! $message = $exception->getMessage()) {
			$message = sprintf('%d %s', $statusCode, \Illuminate\Http\Response::$statusTexts[$statusCode]);
		}

		$data = [
			'message' => $message,
			'status_code' => $statusCode,
		];

		if ($exception instanceof \Dingo\Api\Contract\Debug\MessageBagErrors && $exception->hasErrors()) {
			$data['errors'] = $exception->getErrors();
		}

		if ($code = $exception->getCode()) {
			$data['code'] = $code;
		}

		$headers = [
			'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS, PUT, DELETE',
			'Access-Control-Allow-Headers' => 'Origin, X-Requested-With, Content-Type, Accept, Authorization',
			'Access-Control-Allow-Origin' => $origin
		];

		$response = new \Illuminate\Http\Response($data, $statusCode, $headers);
		return $response;
	});

This binds to the exception handler, catching them, and then formatting the output myself... and also binding the CORS headers.
Hope this helps, sorry for the mess. If you haven't yet, maybe give dev-master a try to see if the fix @hskrasek put in works for you.

Unfortunately, the fix @hskrasek did in 0c7e146f1dd48116e897e9387fa33c1628362578 was reverted a little later in 5fbfb5d590ed4e65dcacd30b68c21c27e5066dca since it seemed to have raised other issues.

Thanks so much for your help, I'll see if I can get it sorted out this way until there's a real fix.

Don't really get the reasoning behind the re-throwing of that exception. I mean, it gets attached to the response by the exception handler after all. That means it was thrown before already...
The simplest thing I can think of to circumvent this is to add a Middleware that just sees if the returned response has a withException() function and if so, nulls out the exception property. It is public after all.

From a first very quick test, the solution @Blizzke suggested seems to be working.
I added a new global middleware:
class FixCors
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $response = $next($request);

        if (method_exists($response, 'withException')) {
            $response->exception = null;
        }

        return $response;
    }
}

@Blizzke The answer is simply, Laravel 5.1. Laravel 5.1 sends the request through a very generic pipeline that is missing the logic to catch exceptions during each slice and properly handle it, which prevents middleware from being able to operate on an error response. Meanwhile, 5.2 and 5.3 have a Routing specific pipeline that catches exceptions on each slice. Response goes through all the middleware, everything is great, and then the dingo router re-does everything.
The fun in supporting 3 different versions of laravel and possibly soon 3 versions of lumen. Still trying to think of a way that this can be solved on our end, but for the time being if missing CORS headers are the only things getting mangled, I'd suggest using an approach outlined here. The second example, not the first. You may not be using that particular package for CORS, but the idea is the same.

But why should the same version of Dingo support different Laravel versions?

I ran into this not long ago on a Laravel 5.3 project. I've 'fixed' the problem by transferring headers from the original response onto the new exception sourced response. Makes me sad, but just maybe an actual solution swimming around in there.
            $originalHeaders = $response->headers;
            $response = $this->exception->handle($exception);

            collect($originalHeaders->keys())
                ->reject(function ($headerName) use ($response) {
                    return $response->headers->has($headerName);
                })
                ->each(function ($headerName) use ($originalHeaders, $response) {
                    $response->headers->set($headerName, $originalHeaders->get($headerName));
                });

I crammed it all in a service provider which is included after the Dingo LaravelServiceProvider
<?php

namespace App\Providers;

use Exception;
use Dingo\Api\Http\Request;
use Dingo\Api\Routing\Router;
use Dingo\Api\Contract\Routing\Adapter;
use Dingo\Api\Provider\ServiceProvider;
use Dingo\Api\Contract\Debug\ExceptionHandler;

class DingoRouterWorkAroundProvider extends ServiceProvider
{
    public function boot()
    {
    }

    public function register()
    {
        $this->app->singleton('api.router', function ($app) {
            $router = new WorkAroundRouter(
                $app[Adapter::class],
                $app[ExceptionHandler::class],
                $app,
                $this->config('domain'),
                $this->config('prefix')
            );

            $router->setConditionalRequest($this->config('conditionalRequest'));

            return $router;
        });
    }
}

class WorkAroundRouter extends Router
{
    public function dispatch(Request $request)
    {
        $this->currentRoute = null;

        $this->container->instance(Request::class, $request);

        $this->routesDispatched++;

        try {
            $response = $this->adapter->dispatch($request, $request->version());

            if (property_exists($response, 'exception') && $response->exception instanceof Exception) {
                throw $response->exception;
            }
        } catch (Exception $exception) {
            if ($request instanceof InternalRequest) {
                throw $exception;
            }

            $this->exception->report($exception);

            // This is where things go squirrely
            // The response which goes through all the middleware is tossed
            // away and a new response is created based on the exception
            // this causes any additional headers which may have existed on the
            // original response to be lost
            //
            // soooooo ....
            // I'm taking the headers that existed on the original response which
            // don't exist on the new response and adding them.
            $originalHeaders = $response->headers;
            $response = $this->exception->handle($exception);

            collect($originalHeaders->keys())
                ->reject(function ($headerName) use ($response) {
                    return $response->headers->has($headerName);
                })
                ->each(function ($headerName) use ($originalHeaders, $response) {
                    $response->headers->set($headerName, $originalHeaders->get($headerName));
                });
        }

        return $this->prepareResponse($response, $request, $request->format());
    }
}

In my case, CORS header was removed when throwing Exception from my own controller.
After debugging 2 days with no efforts and debugging one day with xdebug, I found where the bug was.
The problem is where the author pointed to us on this commit: 0c7e146.
The new Response was made to make a generic error response.
At here, you can see that it's trying to add headers from exception.
return new Response($response, $this->getStatusCode($exception), $this->getHeaders($exception));

So the headers wouldn't be reset, but why can't we get the headers we set?
Let's keep analyzing it.
The headers is set here(from Symfony):
class HttpException extends \RuntimeException implements HttpExceptionInterface
{
    private $headers;
    public function __construct($statusCode, $message = null, \Exception $previous = null, array $headers = array(), $code = 0)
    {
        $this->statusCode = $statusCode;
        $this->headers = $headers;
        parent::__construct($message, $code, $previous);
    }
...

When we called it? Here:
/**
     * Return an error response.
     *
     * @param string $message
     * @param int    $statusCode
     *
     * @throws \Symfony\Component\HttpKernel\Exception\HttpException
     *
     * @return void
     */
    public function error($message, $statusCode)
    {
        throw new HttpException($statusCode, $message);
    }
...
    /**
     * Return a 400 bad request error.
     *
     * @param string $message
     *
     * @throws \Symfony\Component\HttpKernel\Exception\HttpException
     *
     * @return void
     */
    public function errorBadRequest($message = 'Bad Request')
    {
        $this->error($message, 400);
    }
....

In my case, I was calling errorBadRequest in the controller.
        try{
                .....
        } catch (\Exception $e) {
            $this->response->errorBadRequest($e->getMessage());
        }

Now we can know that the headers must be set in the controller in order to set the header when creating the new Response for generic response. But actually, we can't get response header here in the controller.
The only place that can get original headers is here.
        try {
            $response = $this->adapter->dispatch($request, $request->version());
            if (property_exists($response, 'exception') && $response->exception instanceof Exception) {
                throw $response->exception;
            }
        } catch (Exception $exception) {
            if ($request instanceof InternalRequest) {
                throw $exception;
            }
            $this->exception->report($exception);
            $response = $this->exception->handle($exception);
        }

Setting the header to new response here is not possible due to no setHeaders method on Response class and the headers property is private.
Also, handle method is a registered handler in DingoServiceProvider, I'm not sure we can change the signature of handle method or not to pass the header with getHeaders method as second parameter.
After all, I think that instead of creating the new response object, changing the content of the response is the better solution.
ping @hskrasek


Fix linux libraries not being referenced in the .csproj

OOPSIE WOOPSIE!
Fixes #2189

Works like a charm on Linux (x64).
The libbass shared libraries are being copied into the correct folders.
Is a test in an x86 environment necessary or can we expect it to work there as well now?