Share image texture in memory between platform and Flutter

In add-to-app, the same image may appear both on the platform side and in Flutter. We've made https://pub.dev/packages/ios_platform_images to help share the image asset in storage but we should share the image in memory as well.
This was accomplished via https://medium.com/hackernoon/rendering-external-texture-an-flutter-optimization-by-alibaba-c5ed143af747 by Alibaba. We should upstream that solution in the Flutter engine. They also sent us a PR (never merged) https://github.com/flutter/engine/commit/dfe3d986c96a29ea40a4c9adc3eb9e811c28a64e.
cc @gaaclarke @chinmaygarde

The pixel buffer interface is intentional and allows plugins that provide external textures for inline composition to provide these textures in a manner that is agnostic to client rendering API used by Flutter. This forms the basis for the switch from OpenGL to Metal seamlessly. That patch punches a hole in the API and makes assumptions about the Flutter using OpenGL internally. Assumptions which will now break because Flutter can use Metal on newer versions of iOS. For this reason, that patch cannot be upstreamed.
The pixel buffer interface does not prevent applications from this workflow however. The application can obtain the pixel buffer from the platform, realize a texture from it using an application side texture cache with its own context, perform mutations on the texture and pass the pixel buffer reference to the engine for composition. This should maintain the rendering API agnosticism while allowing for the use-case described in the article.
It may be possible to make this workflow more ergonomic but upstreaming that patch is no viable. For this reason, I am treating this as a feature request instead of a request to land the patch as-is.

Seems like they could make a plugin that does what they want then.  We just have to verify there is a way for plugins to query the rendering api though so it can change its logic depending on metal or opengl.

Yes agreed. The intent is to capture the spirit behind the PR and make it more accessible for users who don't patch their engine rather than landing that PR as is.

We just have to verify there is a way for plugins to query the rendering api though so it can change its logic depending on metal or opengl.

Rendering API agnosticism means that developers shouldn't have to know of care what Flutter is using. They can continue to use OpenGL to mutate their textures before giving it to Flutter for rendering with Metal. The Wiki entry on texture interop may be a useful for folks trying to figure out how to achieve this.

That's cool, here is the jist:
NSDictionary* cvBufferProperties = @{
    (__bridge NSString*)kCVPixelBufferOpenGLCompatibilityKey : @YES,
    (__bridge NSString*)kCVPixelBufferMetalCompatibilityKey : @YES,
};
CVReturn cvret = CVPixelBufferCreate(kCFAllocatorDefault,
                        size.width, size.height,
                        _formatInfo->cvPixelFormat,
                        (__bridge CFDictionaryRef)cvBufferProperties,
                        &_CVPixelBuffer);

That compatibility feature might get yanked though with OpenGL so still probably ideal to switch your plugin logic on the rendering API.

That compatibility feature might get yanked though with OpenGL so still probably ideal to switch your plugin logic on the rendering API.

OpenGL is already deprecated. If it is removed completely, the plugin/application won't be able to work with the texture using OpenGL in the first place. At that point, the plugin has nothing to switch between. So this is not a concern.

I just wanted to bump this (hopefully that's not frowned upon) -  it's extremely important to us.
I agree that it's great to have an agnostic path if you want to keep that.  I get it.
For efficiency I believe it's also reasonable to have an API to share textures natively.  Perfectly fine if that means more work for the plugin developer who wants that speed.  If things change, then it's up to them to keep up to date.  No problem - you want the efficient path, you work for it.
Without the ability to pass a texture directly to Flutter (no intermediate PixelBuffer / no round trip to CPU), we are stuck on the sidelines wishing we could make the jump and start using this wonderful platform.
This is important to us as we do a ton of native manipulation of textures, and we stream the results to disk/network and want to see all of that, efficiently, in app.   The round trip, unfortunately, prohibits us from moving to Flutter.  We don't want to hack up Flutter as the guys at Alibaba did because maintenance would be overly burdensome and risky.
Anyway, I just wanted to let you guys know that this is very important to some developers as without it there's a huge stumbling block to move to this platform (which we are desperate to do!)
Anyway, keep up the great work.

Any updates?..

any update

Thanks @gaaclarke !
This helped me to fix the error.

NSDictionary* cvBufferProperties = @{
(__bridge NSString*)kCVPixelBufferOpenGLCompatibilityKey : @YES,
(__bridge NSString*)kCVPixelBufferMetalCompatibilityKey : @YES,
};
CVReturn cvret = CVPixelBufferCreate(kCFAllocatorDefault,
size.width, size.height,
_formatInfo->cvPixelFormat,
(__bridge CFDictionaryRef)cvBufferProperties,
&_CVPixelBuffer);

Here is my swift version, in case someone might find it helpful:
let pixelBufferAttributes: CFDictionary? = [
        kCVPixelBufferOpenGLCompatibilityKey: true,
        kCVPixelBufferMetalCompatibilityKey: true
        ] as CFDictionary

let pixelBufferStatus = CVPixelBufferCreate(
    kCFAllocatorDefault,
    width,
    height,
    kCVPixelFormatType_420YpCbCr8BiPlanarFullRange,
    pixelBufferAttributes,
    &pixelBuffer
)

you can use https://api.flutter.dev/ios-embedder/protocol_flutter_texture_registry-p.html  easy interface to share images between the native/platform and flutter

you can use https://api.flutter.dev/ios-embedder/protocol_flutter_texture_registry-p.html easy interface to share images between the native/platform and flutter , this interface can be retrieved from registrar.textures

Thanks, @renanyoy!
Actually I'm using FlutterTexture to display video frames using gstreamer. I just got the same error as above while passing CVPixelBuffer into flutter texture.
PS. I'm kinda new to video/image processing and the stuff, so I'm not sure this is the best way to do it.

@nikage you can look at camera plugin that use it https://github.com/flutter/packages/tree/main/packages/camera


Prevent opening commit window when there is nothing to commit

Is there an option to prevent commit message window from opening when there is nothing to commit? Like if you have not staged anything yet, but write git commit, it should not open window.
That is standard git behavior.
Or is this intended with GitSavvy to not check if there is anything to commit or not.

I agree what we should do something to be closer to gits interface. I need to think about the UX

We may just need to check the number of staged files. (depends on the values of include_unstaged and amend)

Currently as workaround, when I get commit message window I try to commit it without any message to get response from git. Then by response it is clear if there was nothing to commit or just expected empty message error.
It is not very clean workaround, but used with hooks, lets me know outcome before writing commit (cause pre-commit is also triggered after commit is being saved).
If there is no easy way to implement proper enhancement, maybe add an option to trigger do_commit (default keybind is control+enter) on empty commit message? It could be option to enable/disable it (depending if someone needs it or not). I would gladly use it, cause it would also help with git hooks too.

https://github.com/divmain/GitSavvy/pull/982 solves this problem, so I'm closing it.

As discussed in this thread: https://github.com/divmain/GitSavvy/pull/1070
We are going to revert the commit for checking "nothing to commit" in dev and discuss a better solution later.


Release version 1.3

This is a component issue for release 1.3.0.
Coming from opensearch-build#889, release version 1.3. Please follow the following checklist.
Preparation

[x] Assign this issue to a release owner.
[x] Finalize scope and feature set and update the Public Roadmap.
[x] Create, update, triage and label all features and issues targeted for this release with v1.3.0.

CI/CD

[x] Increment version on main to <IP_ADDRESS>.
[x] Ensure working and passing CI.
[x] Re(add) this repo to the (if not exist) manifest.

Pre-Release

[ ] Branch and build from a 1.3 branch.
[ ] Update your branch in the manifest.
[ ] Feature complete, pencils down.
[ ] Fix bugs that target this release.

Release

[ ] Complete documentation.
[ ] Gather, review and publish release notes.
[ ] Verify all issued labeled for this release are closed or labelled for the next release.

Post Release

[ ] Create a release tag.
[ ] Suggest improvements to this template.
[ ] Conduct a postmortem, and publish its results.

Bumping to 1.3 branch in manifest https://github.com/opensearch-project/opensearch-build/pull/1693


[DOC] Remove duplicated examples

These two examples appear twice.

Before submitting the PR make sure the following are checked:

[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[x] Updated documentation.
[ ] Added an entry to the CHANGELOG.md if the new code introduces user-observable changes.
[x] The build (bundle exec rake) passes (be sure to run this locally, since it may produce updated documentation that you will need to commit).

If you have created a new cop:

[ ] Added the new cop to config/default.yml.
[ ] The cop is configured as Enabled: pending in config/default.yml.
[ ] The cop is configured as Enabled: true in .rubocop.yml.
[ ] The cop documents examples of good and bad code.
[ ] The tests assert both that bad code is reported and that good code is not reported.
[ ] Set VersionAdded: "<<next>>" in default/config.yml.

If you have modified an existing cop's configuration options:

[ ] Set VersionChanged: "<<next>>" in config/default.yml.

Prism failures are not relevant to this PR and will be merged.
https://github.com/rubocop/rubocop-rspec/actions/runs/12463339263/job/34786098205?pr=2011


Run batch simulations over set of startup params in yaml file

Takes an input yaml file formatted like the example:

seed: 42
duration: 5
door_state: ['closed', 'open']
scale_factor: [0.5, 0.625, 0.75, 0.875, 1.0, 1.125, 1.25, 1.375, 1.4]

Generates a matrix of tests

sim_params_yaml: seed parameter not yet supported
Generated 18 simulation runs:
Seed, Duration, Door State, Scale Factor
42, 5.0, closed, 0.5
42, 5.0, open, 0.5
42, 5.0, closed, 0.625
42, 5.0, open, 0.625
42, 5.0, closed, 0.75
42, 5.0, open, 0.75
42, 5.0, closed, 0.875
42, 5.0, open, 0.875
42, 5.0, closed, 1.0
42, 5.0, open, 1.0
42, 5.0, closed, 1.125
42, 5.0, open, 1.125
42, 5.0, closed, 1.25
42, 5.0, open, 1.25
42, 5.0, closed, 1.375
42, 5.0, open, 1.375
42, 5.0, closed, 1.4
42, 5.0, open, 1.4

Creates results directory, runs sim which creates a bagfile per run and writes the list of params to a log

NOTE: Needs latest updates to ros2 branch in ros_gz repo: https://github.com/gazebosim/ros_gz/pull/355
To run example batch sim params yaml (located in buoy_gazebo/scripts/example_sim_params.yaml):
$ ros2 launch buoy_gazebo mbari_wec_batch.launch.py sim_params_yaml:=../install/buoy_gazebo/share/buoy_gazebo/example_sim_params.yaml

$ ls in the created results directory (batch_results_<timestamp>) will show bagfiles and a log have been created.
A yaml file can also be provided as an argument to the launch file

FYI, I set mu_zz value for added mass depending on the door state, but this PR doesn't have the added mass implemented yet so mu_zz is currently unused but ready when #115 is merged (or I can base this PR from that one)

Correct me if I'm wrong but I noticed its always the (push) CI that fails and not the (pull_request)

So, I actually do think it's just timing out from the CI being slow. The error message was a bit confusing to me, but I think after trying myself to kill the process, the wait on server run blocks the program from exiting (and has more prints afterward) and makes it hard to tell why it really failed.

nope. something is getting stuck

noticed its always the (push)

yeah, seems like it. I wonder if those are slower machines than the PR?

I've traced it down to getting stuck on a random (not the same one every time) future.wait() from a command service call. I'll try to see if the service is hanging.

@mabelzhang @quarkytale Should I make another branch to keep debugging this and clean up this one to merge if/when it passes?

Yeah that's a good idea. Let's keep the two things separate. Thank you for digging into this.

Regarding the batch file work, nice job.  Looking like a good approach and I like it.  Below is a number of items for consideration and discussion.  I think it's easy to list off a ton of things for something like this and we should consider the value of each as we go to keep things from getting too complicated.  But, here goes...

As you know, there are a few other parameters to include, and the tricky one is the sea state because there are a few ways to characterize it.  Simplest is Wave Height (Hs) and Peak Period (Tp), this pair of numbers could describe a single frequency wave, or characterize a specific spectrum (such as the pierson-moskowitz spectrum).  In either case, one is unlikely to want to run a batch of jobs with a range of peak periods at each wave-height for instance.  Rather it's the pair that needs to be specified and considered as a single dimension of the resulting matrix of runs.  For instance, one may specify (Hs,Tp) as [(1.0, 8), (2.0,9), (3.9,10), ...]  resulting in three runs.  In the past I've made the distinction between a monochromatic wave and a spectrum of waves by specifying the peak period as negative for monochromatic waves.  A bit course, but effective! :)   In fact, at the moment this is how the peak period specification in the .sdf is being interpreted in the hamilton8415/fs_hydrodynamics branch, but this can be changed easily.  Finally, a feature that isn't in the code yet so is only mentioned here is that one may want to specify a unique spectrum, as a collection of a dozen or so (freq,energy) points describing the spectrum.  Not sure how to do that compactly but maybe the yaml syntax has some help for all of this?
It'd be great if we could specify the time-step size and sim duration, instead of number of iterations.
The .log file that shows the specifics of each run is really nice, I "tail -f"'d it as the batch of runs was going and could see it was filling in the lines as they progressed.  It might be worth considering including the start time of each job, and perhaps more importantly, listing which directory contains the output for that collection of parameters.
Related to number 3, it may be worth a simple file in the results directory that indicates which parameters were used for that run.  Obviously the data there from the ordering of the log file and creation number, but it may be good to make the output directories self-describing.  Also, when I re-ran a changed .yaml file in the same directory, a new .log file was created with a date as expected, but the output directory (i.e. "rosbag2_batch_sim_x" didn't over-write the old names, until the "_x" part was unique. Seemingly one might not want to over-write old runs so perhaps we need to think about the naming of those directories.
As we implement the .csv log files, the simulator will generate a directory full of txt files that match what the buoy does.  Would be really great if those got stashed here along with the other outputs when running this way.  More to do to figure out how that will work.
I am not sure we need a default .yaml file, perhaps better to require that always be an argument to this script, but more thought required.
Finally (yeah right!), I think we can think about this batch file as running a batch of simulated buoys.  Of course, one may then run separate ros-enabled code that interacts with the simulator.  Point of discussion here is if we want the management of those executables to be done totally separately, or to also be started by this process.  Pros and Cons, and I'm not sure of the complications it introduces, but one could consider external controller executables as another dimension in the run matrix, and of course, if not specified, none are started...

Good stuff here.

yaml doesn't support tuples, but we can have an array of Hs and another of Tp that need to be the same size and taken as pairs. I can handle the pairing in python. Also, we can keep growing the number of params with future batch processing PRs

I can do that but I'm hoping not to have to template the mbari_wec.sdf world. @quarkytale @mabelzhang might know if there's a command line option that overrides what's in the sdf for the physics step. For now I might just leave our physics step constant and just let the user specify time in seconds (which I translate to the command line option --iterations)

& 4.  I can certainly include the timestamp in the log. Also, the log file I generate lists the params used in each run, and I was using the Run Index to identify which rosbag went with which params. I had envisioned running the batch launch file from a new main results directory for every batch of experiments (each yaml file) rather than worrying about special naming. In my example in the PR description I refer to this main results dir as batch_sim_example but I could certainly do it another way.

agreed!

I can switch it to not use a default.

This is one reason I used a launch file as it can include or be included in any other launch file with a set of external nodes or have the other nodes just running the whole time in the background on some other terminal. I have been mulling over a way to specify which nodes and configuration of those external control nodes, but I feel like it could get a bit messy and I don't know what external nodes someone might want to write. I feel like it's best to leave that up to the user to include their nodes.

I was planning to put a single random seed in the yaml to pass to gz-sim via command line --seed. Your code would access this from API within gz-sim that the plugins have access to.

@hamilton8415 check latest :)

Looking good, works nicely.  It is of course not lost on me that the seed is chosen as 42 in the example.  The only way I could break it is to not specify a seed in the yaml.  We may want to allow that and have it indicate a new random seed on each run.  Not sure about the implications of the --seed CLI options,  presumably there is a default behavior if the seed isn't specified, or I'd imagine we can find a way...

Not sure about the implications of the --seed CLI options

Per slack: @mabelzhang will work on backporting the --seed functionality

@hamilton8415 I added some error checking and defaults for params. I think this is a good stopping point for this PR (assuming the latest commit works for you), and we can add more params in future PRs as they get implemented.

Ran fine for me, I agree we should merge this at this point and re-visit it when we have wave-heights and similar to set.  On mine, there's a ton of INFO that comes out with the runs, perhaps we want to eventually explore a quiet mode that just outputs where it is in the progression as a default.

Yeah I agree. When things get more stable, we should make a pass over printed things and prune.
Get Outlook for iOShttps://aka.ms/o0ukef

From: Andrew Hamilton @.>
Sent: Monday, January 30, 2023 7:09:05 PM
To: osrf/buoy_sim @.>
Cc: andermi @.>; Author @.>
Subject: Re: [osrf/buoy_sim] Run batch simulations over set of startup params in yaml file (PR #125)
Ran fine for me, I agree we should merge this at this point and re-visit it when we have wave-heights and similar to set. On mine, there's a ton of INFO that comes out with the runs, perhaps we want to eventually explore a quiet mode that just outputs where it is in the progression as a default.
—
Reply to this email directly, view it on GitHubhttps://github.com/osrf/buoy_sim/pull/125#issuecomment-1409677149, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEZEFXDOSPDU3SAD4KLDIJDWVB65DANCNFSM6AAAAAAUEVAIWU.
You are receiving this because you authored the thread.Message ID: @.***>


Fixed default mesh endpoint in istio example

What does this PR do?
This PR resolves issue #3774. The documentation and example config regarding istio configuration has the wrong url shown as the default.
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
Review checklist (to be filled by reviewers)

[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached
[ ] Feature or bugfix must have tests
[ ] Git history must be clean
[ ] If PR adds a configuration option, it must be added to the configuration file.

I think the README is correct, it just refers to > 1.1 versions. This is what's documented upstream: https://istio.io/docs/tasks/telemetry/metrics/querying-metrics/

I think those docs might have a typo as well. They mention the istio-telemetry port as 10514 and highlights istio-mesh

And when looking up targets in prometheus there is only one endpoint with port 42422 exposed

I redeployed a test istio 1.1.5 cluster, and I don't see the istio-mesh. Service. ìstio-telemetryis the one exposing42422`. See https://istio.io/docs/setup/kubernetes/install/kubernetes/#verifying-the-installation for the output I'm seeing.
Which version are you using?

Closing for now, feel free to reopen.


Publish package migration

First of all, thanks a lot for creating this package. Been really helpful so far.
However, I faced the situation that I wanted to add a column to the tracked_jobs table. I would have loved to see the migration file in my migration folder so this was possible, but unfortunately, this wasn't the case.
This PR makes sure the migration is also being published when running php artisan vendor:publish --tag=trackable-jobs-assets so it's much more convenient to add a column for example.
Cheers!

Thanks @bramvanrijswijk!


Add suspend / resume / reconcile buttons

Hello all!
Can someone please add suspend / resume / reconcile buttons as at Weave?
It's very useful for everyday using

Makes sense, adding.


Move globe view to the home page

Contributes to:

#5
#9

Changes:

Promote globe view from the sandbox to the home page
Add rewrite rule /area/:areaId -> / to avoid rerendering the globe view when the route changes
Added custom environment variable to enable Stately Inspector
Moved sandbox index to /sandbox route

How to test:

Visit the home page, click on any country, the browser URL should change without reloading the page
Visit http://localhost:3000/sandbox, it should display the index of exercise pages
Set NEXT_PUBLIC_USE_STATELY_INSPECTOR=true in .env, the Stately Inspector should open in a separate tab

Known issues:

The home page doesn't use MVT layers, we can add them after we decide which library works best
If you visit a route like /area/CA directly, the country won't appear selected in the map, but it should be straightforward to implement later

@oliverroick this is ready for review. The rewrite rules approach seems the cleanest to make the app work like a SPA, but I'm happy to discuss alternatives.

@oliverroick  thanks for the review. I agree that the rewrite approach doesn't look right and that trying to build the app as an SPA defeats the purpose of Next.js. Looking at the framework documentation, I believe we should try moving towards a mix of client and server components. The (globe) map component could be a client component added to layout.tsx, which should make it reusable in different routes and avoid re-rendering. The side panel could work with server components and small client components where interaction is needed.

@vgeorge Would it be worth preparing an example for the client/server component approach?

@oliverroick I added changes to implement the server component approach. Now the only client part should be the globe. I also reorganized the layout files so the globe is part of the home and area page, but is not from the about page. This will allow us to control better which routes use the globe or not. I also started connecting the side panel to the database, it should load the area name from the route accessed. Please let me know your thoughts.

@oliverroick I created #24 to handle map bounds on area click and the displacement you noticed. Since this requires a new API route, I suggest we work on it separately. In my last commits, I replaced Mapbox GL with MapLibre and changed it to a flat view. This decision is documented at https://github.com/earth-genome/foodtwin-global-app/issues/5#issuecomment-2284731643. Please let me know if you think we need additional changes here.

Thanks Vitor, working on the bounds problem separately sounds good.


Smoke test mining old spend tx with new protocol

Delivers https://www.pivotaltracker.com/story/show/157144613

===> Running Common Test suites...
%%% aest_hard_fork_SUITE ==> hard_fork_with_tx.restore_db_backup_on_old_node: OK
%%% aest_hard_fork_SUITE ==> hard_fork_with_tx.hard_fork_all_with_tx.old_spend_tx_in_new_protocol_smoke_test.new_node_can_receive_short_old_chain_from_old_node: OK
%%% aest_hard_fork_SUITE ==> hard_fork_with_tx.hard_fork_all_with_tx.old_spend_tx_in_new_protocol_smoke_test.new_node_can_mine_old_spend_tx_without_payload_using_new_protocol: OK
...


"Exception ticking world" crash when traveling from OTG dimension to DIM0

On a Forge 2611 server, I have OTG 1.12.2 v6, Biome Bundle, and The Void installed. I am able to go through a portal from the Biome Bundle to The Void, but I am unable to return to the Biome Bundle either via teleport or portal transit without crashing the server. The related crashlog is here: crash-2018-03-25_21.16.40-server.txt
If I boot the server back up, the blockID map is corrupted and players who join will crash out of the game. The only way to fix it is restoring the world from backup and refraining from going into OTG-controlled dimensions at all. The only other mod in the package which adds a dimension is The Betweenlands v3.3.4.

Looks like it's an issue with PerfectSpawn, not with OTG.


cmd/compile: slow bitmap generation for large array of zero-size elements

This (nonsense, but valid) program takes a very long time to compile because of stack bitmap generation:
package f

func F() {
    var x struct {
            x *int
            w [1e10][1e10][1e10][0]*int
            y *int
    }
    println(&x)
}

The easy fix is to short-circuit generating stack bitmaps for zero-size types.

Can I pick this issue ?

@meggamind Thanks, but I already have a fix + general cleanup for the issue. I would suggest another issue.
You're of course welcome to still look into it if you're just looking for practice working on the compiler.


sync upstream

Synced to v1.0.17
closes #22

Hi @InsidersByte! Thanks so much for sending out a PR for this!  It's really appreciated because I don't have a ton of free time right now.
Could you look at why the CI tests are failing before merging this though?

all tests passing :+1:

Awesome! I’ll release this as a beta soon so more people can test


Fix mistake in sideways check

i would like a legit bot , i don't  mind if you just copy and paste the riptide legit bot


[WIP]Refactor compression classes into common package

Move classes from dwrf package to dwio/common package. This can later be used for parquet too.

The PagedInputStream class can be modified to support both with HEADER and raw uncompress. If we set the state_ to START and set the remainingLength_ to the compressed size, then it does only decompression without reading the header. I made this change in my first PR for Parquet's PageReader https://github.com/facebookincubator/velox/pull/5914
Also, for this PR, should I move only the decompression classes or the compression classes too?

@yingsu00 @Yuhta Please review this.

Thanks @Yuhta . I addressed the comments.


Add Versioning Information in README for Examples

As described in #1860, examples in this repo are designed to work against what's in master. However, we should expect that users will be using older versions of pipelines when they come to look for examples.
We should include some information on how examples are versioned. My thought on this is that we should make people aware that examples for specific versions of pipelines are preserved in branches of this repository. This can be included in the examples README as described in this comment from #1860.
It may also be nice to communicate in some way how backwards compatible an example is.
/kind documentation

The ReadTheDocs section of Readme now has examples for each version. Is that enough or is there more work here @danielhelfand ?

Sorry I missed this! Yes, I think the versioned docs makes sense.


Conditional .WithValueTemplate in  MVCGrid

Hi
I am using the MVCGrid.Net and have issues in adding a column with shows a link to Edit depending on some condition ( For ex : if the value of item in the record is "CanEdit" show link or else do not show the link).
Please let us know the sample code to achieve this.
Thanks and kind regards
Yunus

Hi,
Does anyone have any idea how can we do this?
@yunusrf  did you get any solution?
Thanks,
Match

Hi @madzman23 ,
Please use StringBuilder to create the required link.
See the below sample text.Hope this help. Thank you.

cols.Add("Action")
	   .WithHeaderText("Action")
	   .WithSorting(true)
	   .WithVisibility(visible: true, allowChangeVisibility: true)
	   .WithHtmlEncoding(false)
	   .WithCellCssClassExpression(m => "text-center")
	   .WithValueExpression((p, c) =>
	   {

		// build whatever html you want
		  StringBuilder sb = new StringBuilder();
		   if (p.bAccessParam == true)
		   {

			   string urlDisable = c.UrlHelper.Action("DisableIndicator", "User", new { recordID = p.recordID });
			   string href = " href= " + urlDisable + " class=approve >";
			   sb.Append(" <a  ");
			   //  sb.Append(target);
			   sb.Append(href);
			   sb.Append(p.enableDisable);
			   sb.Append(" ");

		   }
		   else
		   {
			   string urlEnable = c.UrlHelper.Action("EnableIndicator", "User", new { recordID = p.recordID });
			   string href = " href= " + urlEnable + " class=approve >";
			   sb.Append(" <a  ");
			   //  sb.Append(target);
			   sb.Append(href);
			   sb.Append(p.enableDisable);
			   sb.Append(" ");
		   }

		   return sb.ToString();
	   });

It works. :tada:
Thank you mate, I have been scratching my heads editing the MVCGrid codes for days. :rofl: Cheers!


Feature request: Integration with Android's AccountManager for Oauth2.0 login with Google APIs

Currently, the Enterprise Authentication service in Sidekick is geared toward the client ID, client secret model. However, for Oauth2.0 login on the android platform, Google lets an app use the Android AccountManger.
Also, in the google console, if I create a new set of Android credentials for my existing web app, the auth credentials are in this form:

Would be cool if there was a way to do Enterprise auth using the Android AccountManager (for enterprises running on Google's G-Suite platform, for e.g.)

This issue was moved to NativeScript/sidekick-feedback#208


Add wagtail compatibility

Wagtail does not use standard django sites, so added a setting to specify model, and then a check to treat that differently when adding to the last seen record.
I could not get tests to run prior to change, and ran out of time, so have not yet updated them.
I also lowered the python and django version requirements, as I could not see any reason for them to be that high, so changed them to fit my usecase (and so a wider range of cases for others).

@simkimsia is this package actively maintained - if does this PR help at all?
Would you prefer I work on my own fork?


[Feature request] Open other projects not just base directory

I cannot figure out how to load Lite to other projects besides its source directory, when I try to open external files, it gives me an error about a locked node. How do I get Lite to work properly?

Same, I thought that if I put it in path and then run it in the directory I want, it would open that directory, but it still has yet to succeed. I am actually tired of staring at the source code. I've even tried lite 'pathtodir' which frustratingly does the exact same thing. It's such a great editor in looks and how light it is, but it's all meaningless if we can't even use it properly :<

and like many other issues, this just stays open and no one even cares about this massive usability bug.

Did you try navigating to the directory through command line and typing lite .? There are two modules that can also help you called "workspace" and "lastproject" can also help you get back to your previously used dirs :D

Pass the project directory name as the first argument to lite or drag a directory onto lite to set the project directory.


Make Clipboard::Paste:: more usefull

Is your feature request related to a problem? No, but
The case is that I need to persist one var through pages navigation. The way I got to do this was to copy the value to clipboard, and that works great, but now, I need to use that value as a position of a slice.  Ex:
"blue,red,white".split(",")[Clipboard::Paste]; is what I imagined but it doesn't work
Solution I think
I think it might be usefull to allow the usage of Clipboard::Paste or Query param in Func::.
Alternative solution
Also, I think it would be great to put global vars, not js ones.

The feature is available in the DEV environment, version <IP_ADDRESS>. Please refer to the documentation for instructions on how to use it https://getautoclicker.com/docs/4.x/action-value/function/


Setup Docker image after compiling the fdm tool

This docker image should also include the testbenches necessary for running the fdm tool from the package.

Vanderbilt offers box, seems like a reasonable solution to me.
Alternative could be the minio at deepforge.isis.vanderbilt.edu. But box is more relaible


Product and Serializable are not useful

@sellout has been enabling WartRemover in https://github.com/slamdata/slamengine and hit almost 200 errors each for the Product and Serializable warts. The reason for this is that Product and Serializable come in but then seem to get upcasted away. For example:
tests.attempt.map(_.fold(
  err => TestResult.Failure(err, ""),
  log => TestResult.Success(log)))

Is inferred as Product with Serializable with slamdata.engine.Backend.TestResult. This is not a problem since it later is upcasted to just slamdata.engine.Backend.TestResult. I propose we somehow check that if a type contains Product or Serializable, we only reject it if it's not with anything useful.

But the good news is that WartRemover IS enabled, after disabling a lot of checks: https://github.com/slamdata/slamengine/blob/master/core/build.sbt

Just FYI if you explicitly declare the ADT root trait to extend Product with Serializable you will get the desired LUB in cases like this.

duplicate? https://github.com/wartremover/wartremover/issues/59

Yes, but if we close this in favour of that, we should take care not to lose @puffnfresh 's suggested fix: I propose we somehow check that if a type contains Product or Serializable, we only reject it if it's not with anything useful. which I think is the right way to be thinking, and which in principle also applies to other warts about "inferred type containing BoringThing", e.g. AnyVal.


[UNR-3874] Snapshot quiescing trigger

Description
A trigger delegate on the SpatialGameInstance that the GDK and game systems can listen to when a controlled shutdown for quiescing is triggered.
Current mechanism to run this trigger from the outside works by listening for a worker flags change to a flag with name "ControlledShutdown".
Consistent naming for this feature is still to be determined - suggestions welcome!
Release note
TODO
Tests
How did you test these changes prior to submitting this pull request?
Local testing done via spatial local worker-flag set UnrealWorker ControlledShutdown Yes --local_service_grpc_port 9876, with the legacy runtime.
Cloud testing and testing with non-legacy runtime is still TODO.
What automated tests are included in this PR? TODO
STRONGLY SUGGESTED: How can this be verified by QA?
Documentation
How is this documented (for example: release note, upgrade guide, feature page, in-code documentation)?

Note: The tests currently assume you're running compatability-mode runtime.


Android Build fails when trying to use nativescript-material-textfield

My project works completely fine both on iOS and Android, but when I download the package nativescript-material-textfield, iOS still works but Android fails with this:

What went wrong:
Execution failed for task ':app:checkDebugDuplicateClasses'.

1 exception was raised by workers:
java.lang.RuntimeException: Duplicate class com.google.common.util.concurrent.ListenableFuture found in modules guava-18.0.jar (com.google.guava:guava:18.0) and listenablefuture-1.0.jar (com.google.guava:listenablefuture:1.0)

I deleted and update npm and the project works again.
I then tired to download only, nativescript-material-core, and I get the same error.
Here is my dependencies in package.json:
"dependencies": {
"@angular/animations": "8.0.0",
"@angular/common": "8.0.0",
"@angular/compiler": "8.0.0",
"@angular/core": "8.0.0",
"@angular/forms": "8.0.0",
"@angular/http": "8.0.0-beta.10",
"@angular/platform-browser": "8.0.0",
"@angular/platform-browser-dynamic": "^8.1.3",
"@angular/router": "8.0.0",
"@fortawesome/angular-fontawesome": "0.4.0",
"@fortawesome/fontawesome-svg-core": "^1.2.18",
"@fortawesome/free-solid-svg-icons": "^5.8.2",
"@ngx-translate/core": "^11.0.1",
"@ngx-translate/http-loader": "^4.0.0",
"@ngxs-labs/emitter": "^1.9.0",
"@ngxs/store": "^3.5.0",
"@nstudio/nativescript-loading-indicator": "^1.0.0",
"ajv": "^6.10.0",
"bootstrap": "^4.3.1",
"core-js": "3.1.4",
"i": "^0.3.6",
"jquery": "^3.4.1",
"nativescript-angular": "^8.1.0",
"nativescript-audio": "^5.0.2",
"nativescript-azure-mobile-apps": "^2.0.3",
"nativescript-background-http": "^3.4.1",
"nativescript-camera": "^4.5.0",
"nativescript-cardview": "^3.2.0",
"nativescript-drawingpad": "^3.1.0",
"nativescript-geolocation": "^5.1.0",
"nativescript-imagepicker": "^6.3.0",
"nativescript-iqkeyboardmanager": "^1.5.1",
"nativescript-local-notifications": "^4.0.1",
"nativescript-material-textfield": "^2.3.16",
"nativescript-permissions": "^1.3.6",
"nativescript-photo-editor": "^1.1.0",
"nativescript-plugin-firebase": "^9.0.4",
"nativescript-secure-storage": "^2.4.0",
"nativescript-theme-core": "^1.0.6",
"nativescript-ui-dataform": "5.0.0",
"nativescript-ui-listview": "7.0.0",
"nativescript-ui-sidedrawer": "7.0.0",
"npm": "^6.10.2",
"popper.js": "^1.15.0",
"reflect-metadata": "~0.1.12",
"rxjs": "^6.3.3",
"tns-core-modules": "^6.1.0-next-2019-08-05-140314-02",
"zone.js": "0.9.1"
},
"devDependencies": {
"@angular-devkit/build-angular": "^0.13.9",
"@angular/cli": "^7.3.9",
"@angular/compiler-cli": "8.0.0",
"@nativescript/schematics": "~0.6.0",
"@types/jasmine": "2.8.6",
"@types/jasminewd2": "~2.0.3",
"@types/node": "12.6.3",
"codelyzer": "^5.0.1",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "^4.1.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "^2.1.0",
"karma-jasmine": "~1.1.1",
"karma-jasmine-html-reporter": "^0.2.2",
"nativescript-dev-webpack": "1.0.0",
"node-sass": "4.12.0",
"protractor": "^6.0.0",
"tns-platform-declarations": "6.0.1",
"ts-node": "8.3.0",
"tslint": "5.18.0",
"typescript": "3.4.5"
}
}

Strange never saw that error plus we don't use guava. But maybe google material uses it.
The error might come from the use of 2 plugins together. Especially i think the error comes from nativescript-azure-mobile-apps. Not sure how to solve it

same here


Make buffer size dynamic

@borisyankov ok to merge and publish

@borisyankov Opps, wait me update test

Tests failed

Coverage increased (+0.3%) to 86.667% when pulling fa539550c315985b942557bcbbd4fc812d355a54 on qingweibinary:qingwei/improve_buffer_size into af6ffda2b7616f2f8063524087c5d449c8e2e1ef on binary-com:master.

Do not merge

@borisyankov OK to merge

Coverage increased (+0.2%) to 86.538% when pulling 2b6fa4eb563cc87a91371d9f2014b48a9c417c39 on qingweibinary:qingwei/improve_buffer_size into af6ffda2b7616f2f8063524087c5d449c8e2e1ef on binary-com:master.


2768: archive internet access page

Context
Card
Changes proposed in this pull request
Guidance to review

 Archive 'Internet access' page and edit home page (28 Feb)


Add support for ajax pagination

Hello,
As discussed in this issue, there is a PR to add ajax pagination support to RecordList (builderList) component.
It add a new setting on the component, under "Pagination" group where you can choose between following options :

Disabled : No ajax pagination at all
Replace : Standard ajax pagination, that replace records
Append : Load more ajax pagination, that append records
Prepend : Load more ajax pagination, that prepend records

In RecordList.php, changes are minimal, just to add the new option, and the new ajax callback onPaginate()
Most of the changes are made on template files, instead of a single default.htm file, we have now 4 files :

default.htm : check if ajaxPagination is enabled. If yes load the correct partials and add wrapper
records.htm : legacy list of records including pagination (previously default.htm)
ajax-records.htm : basically a copy of records.htm without pagination
ajax-pagination.htm : handle the different types of pagination (replace, append, prepend)

I tried to respect the naming convention, coding style, etc... don't hesitate to modify some things if necessary.
Best regards,
Alex

After some more reflexion, I don't really like the split to 3 partials. I wonder if it would not be smarter to just add the onPagination() function in RecordList.php just to give to developpers an helper function for easy pagination.

Closing as it has been over a month since any activity on this occurred and we are trying to figure out what issues are still relevant. If this is still something that you would like to see through to fruition please respond and we can get the ball rolling.


blecent crash after fail to allocate ACL buffers (IDFGH-9487)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report
IDF version: v5.0.1
DevKit: ESP32-C3-DevKit
if bleprph send multiple notify to blecent, the blecent crash with error loop:
NimBLE: ble_hci_rx_acl failed to allocate ACL buffers; increase ACL_BUF_COUNT
is possible to reproduce with the example:
https://github.com/espressif/esp-idf/tree/master/examples/bluetooth/nimble/throughput_app
need to setup the example to use NOTIFY instead the READ

Hi @embedded-sm
Actually this is happening because
Our sample applications are based on what upstream nimble applications provide and they are more of a demo purpose to show usage of APIs . Since we target embedded device , as a generic solution , we provide a memory configuration that should suffice majority of the use case .it looks like your case needs pushing packets at a rate faster than the speed at which packets are getting freed up . So, to suit your case, you can increase the buffer count such that they are sufficient enough to handle the scenario.
However, plz note that increasing buffer counts will increase the memory footprint

unfortunately increasing the buffer count not solve the issue (only postpone a bit).
adding a delay between send on the peripheral can partially solve the problem, but is required big delay, that ruin the performance.
furthermore if the peripheral "flood" the ble central, the message should drop and is not acceptable that it can not recover from that status.
with the example is not easy to reproduce, but in our project when this issue happen it create guru meditation or watchdog trigger.
did you have opportunity to test it?

Hi @embedded-sm  ,
If putting delay also is not helping in your case, then another suggestion i have is that in case buffer is not allocated, instead of processing and going ahead, attempt to re-allocate packet. At some point of time, there will definitely be a freed packet, and hence allocation will happen. This is similar to introducing delay, as it is just trying to find memory , whenever applicable.
In the throughput app, with default memory setting, "NimBLE: ble_hci_rx_acl failed to allocate ACL buffers; increase ACL_BUF_COUNT" print is  visible. But there is no crash, since in sometime buffer are available and the test case goes ahead.
In your setup, when above scenario is hit, what is the next processing step being done, that is leading to crash ?

If putting delay also is not helping in your case, then another suggestion i have is that in case buffer is not allocated, instead of processing and going ahead, attempt to re-allocate packet. At some point of time, there will definitely be a freed packet, and hence allocation will happen. This is similar to introducing delay, as it is just trying to find memory , whenever applicable.

your theory is right, but if you try the example you will notice that the behaviors is different
after the first "failed to allocate ACL buffers" if bleprph regular send message, the blecent not receive anymore messages and it never stop the error loop until bleprph stop for long time (>500ms)

Hi @embedded-sm  ,
I tried the throughput_app example for notify.  I see below behaviour:
on blecent side:

I (88280) blecent_throughput: received notification; conn_handle = 1 attr_handle = 14 attr_len = 500 ; Total length = 1345000
E (88290) NimBLE: ble_hci_rx_acl failed to allocate ACL buffers; increase ACL_BUF_COUNT
I (88290) blecent_throughput: received notification; conn_handle = 1 attr_handle = 14 attr_len = 500 ; Total length = 1345500
E (88310) NimBLE: ble_hci_rx_acl failed to allocate ACL buffers; increase ACL_BUF_COUNT

and then, once buffers start to deplete, more such prints:

E (88330) NimBLE: ble_hci_rx_acl failed to allocate ACL buffers; increase ACL_BUF_COUNT
E (88340) NimBLE: ble_hci_rx_acl failed to allocate ACL buffers; increase ACL_BUF_COUNT
E (88350) NimBLE: ble_hci_rx_acl failed to allocate ACL buffers; increase ACL_BUF_COUNT
E (88350) NimBLE: ble_hci_rx_acl failed to allocate ACL buffers; increase ACL_BUF_COUNT
E (88360) NimBLE: ble_hci_rx_acl failed to allocate ACL buffers; increase ACL_BUF_COUNT
E (88380) NimBLE: ble_hci_rx_acl failed to allocate ACL buffers; increase ACL_BUF_COUNT
E (88390) NimBLE: ble_hci_rx_acl failed to allocate ACL buffers; increase ACL_BUF_COUNT

However, on bleprph side:
Initially logs show

I (88865) NimBLE: GATT procedure initiated: notify;
I (88865) NimBLE: att_handle=14
I (88865) NimBLE: GATT procedure initiated: notify;
I (88875) NimBLE: att_handle=14
I (88875) NimBLE: GATT procedure initiated: notify;
I (88885) NimBLE: att_handle=14
I (88885) NimBLE: GATT procedure initiated: notify;
I (88895) NimBLE: att_handle=14
I (88895) NimBLE: GATT procedure initiated: notify;
I (88905) NimBLE: att_handle=14

But then, buffers start to deplete. So, prints shown are:

E (89215) bleprph_throughput: No MBUFs available from pool, retry..
I (89325) NimBLE: GATT procedure initiated: notify;
I (89325) NimBLE: att_handle=14
I (89325) NimBLE: GATT procedure initiated: notify;
I (89325) NimBLE: att_handle=14
I (89325) NimBLE: GATT procedure initiated: notify;
I (89335) NimBLE: att_handle=14

But , the test keeps running and such prints occur on both central and peripheral side.
Eventually the test finishes and we see :
On bleprph:

I (148365) NimBLE: GATT procedure initiated: notify;
I (148375) NimBLE: att_handle=14

I (148385) bleprph_throughput: Notify throughput = 154866 bps, count = 2323

And on blecent side:

E (148480) NimBLE: ble_hci_rx_acl failed to allocate ACL buffers; increase ACL_BUF_COUNT
E (148490) NimBLE: ble_hci_rx_acl failed to allocate ACL buffers; increase ACL_BUF_COUNT
I (88320) blecent_throughput: received notification; conn_handle = 1 attr_handle = 14 attr_len = 500 ; Total length = 1346000
I (148510) blecent_throughput: received notification; conn_handle = 1 attr_handle = 14 attr_len = 500 ; Total length = 1346500
I (148520) blecent_throughput: received notification; conn_handle = 1 attr_handle = 14 attr_len = 500 ; Total length = 1347000
I (148530) blecent_throughput: received notification; conn_handle = 1 attr_handle = 14 attr_len = 500 ; Total length = 1347500
I (148540) blecent_throughput: received notification; conn_handle = 1 attr_handle = 14 attr_len = 500 ; Total length = 1348000

The above behaviour doesn't match to the observation you have mentioned :

if you try the example you will notice that the behaviors is different
after the first "failed to allocate ACL buffers" if bleprph regular send message, the blecent not receive anymore messages and it never stop the error loop until bleprph stop for long time (>500ms)

If the application behaviour at your end needs to be debugged, can you please let me know:

The steps you are using while running the application where above behaviour is seen
The commit id you are currently on ?   " Please share the output of  git describe --tags "
The sdkconfig being used at your end ( for both the blecent / bleprph )

The above behaviour doesn't match to the observation you have mentioned :

why you say that not match the my description?
look that at your side the ACL_BUF_COUNT error is repeated for the full duration of 60s of test (except for the first messages )
and blecent recover from that state only when bleprph stop, as here

The steps you are using while running the application where above behaviour is seen

on blecent i only change:
if (!cli_receive_key(test_data)) {
    /* No command supplied, start with reading */
    test_data[0] = NOTIFY_THROUGHPUT;
    test_data[1] = 60;
    ESP_LOGI(tag, "No command received from user, start with READ op"
             " with 60 seconds test time");
}

on bleprph i change different delay here:
/* Memory not available for mbuf */
ESP_LOGE(tag, "No MBUFs available from pool, retry..");
vTaskDelay(100 / portTICK_PERIOD_MS); //over 500ms, blecent recover from error loop
om = ble_hs_mbuf_from_flat(payload, sizeof(payload));
assert(om != NULL);

The commit id you are currently on ? " Please share the output of git describe --tags "

v5.0.1-3-g886e98a2c1
if need i can back to that V5.0.1 tag

The sdkconfig being used at your end ( for both the blecent / bleprph )

sdkconfig_both.zip
i notice a details, from your log (i verify it the same here) the timestamp of the log is wrong, when it recovers it has the same timestamp present at the begin of loop error (as some ble thread, take extra resource):

sorry i forgot to remove a extra log (incremental number) exchanged between blecent and bleprph, (without there are the same behaviors)

Hi @embedded-sm ,  can you please check if attached patch helps ?
fast_notify.txt
The patch needs to be applied at $IDF_PATH.

thanks, this patch prevent the example to stuck as before.
this is a clue that the issue loop take resource and due to the high priority of the task all the rest of the code have problem, correct or if im wrong?
this delay is it only a test to understand the direction for a final fix, right? did you plan to keep improving this fix properly?

Hi @embedded-sm ,
Thanks for confirming. So, the controller task priority is higher compared to stack and in this use case, the Rx packets are coming at a very fast rate. This is causing no chance to host stack to process and hence free up packets. Will review this change internally and fix this.


Add channappagoudar's file

Added 0000-01-02-channappagoudar.md to /_posts/

Add channappagoudar's file


Do not grow the container if an insertion is on a tombstone.

Rebased and fixed version of #75.

@bors r+

:pushpin: Commit c59bc9012bf799e6be1d00c35c02fa8a388a48cb has been approved by Amanieu

:hourglass: Testing commit c59bc9012bf799e6be1d00c35c02fa8a388a48cb with merge 9c5d5342d73c6923cd0d54f1c4bd219a1b997c9a...

:sunny: Test successful - checks-travis
Approved by: Amanieu
Pushing 9c5d5342d73c6923cd0d54f1c4bd219a1b997c9a to master...


Incorrect Thresholds and Confidence Bands for Regression Metrics

Describe the bug
The thresholds and confidence bands for some regression metrics can

What is wrong with the above plot?

The lower threshold for performance change is below 0. That does not make sense all regression performance metrics as they can't take negative values.
The lower confidence band on the last chunk goes below 0. Again that doesn't make sense. Sampling error cannot make a performance metric take unphysical values (ie values that it can't take).

To Reproduce
Steps to reproduce the behavior:

Download the UCI Superconductivity data available here
Run the following code:

import datetime as dt
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import json
import boto3
import nannyml as nml
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.metrics import mean_absolute_error
import plotly.graph_objects as go

# change location below as appropriate for your machine
data = pd.read_csv("/var/home/nannyml/Downloads/superconduct/train.csv", header=0)

features = list(data.columns)[:-1]
data = data.assign(partition = 'train')
data.loc[data.shape[0]//3:, 'partition'] = 'reference'
data.loc[data.shape[0]//3+1:(data.shape[0] - data.shape[0]//3), 'partition'] = 'analysis'

gbm = GradientBoostingRegressor(random_state=14)
gbm.fit(
    X=data.loc[data.partition == 'train', features],
    y=data.loc[data.partition == 'train', 'critical_temp']
)
data = data.assign(y_pred = gbm.predict(X=data[features]))

reference = data.loc[data.partition == 'reference', :].reset_index(drop=True)
analysis = data.loc[data.partition == 'analysis', :].reset_index(drop=True)

estimator = nml.DLE(
    feature_column_names=features,
    y_pred='y_pred',
    y_true='critical_temp',
    # timestamp_column_name='timestamp',
    metrics=['mae', 'mse'],
    chunk_size=data.shape[0]//30,
    tune_hyperparameters=False
)

estimator.fit(reference)
results = estimator.estimate(analysis)

metric_fig = results.plot(kind='performance', metric='mse', plot_reference=False)
metric_fig.show()

Inspect Resulting plot

Expected behavior

There would be no lower threshold - given that a threshold of 0 doesn't make sense.
The sampling error number on the hover would stay the same. But the shaded area of the confidence band would only go up to 0, not below.

HI @all
I am a python developer for the last four years and am looking forward to contribute to some of the open source. I have experience in building some data oriented products using python as the main base programming language. Additionally I have hand on experience in FastAPI. I am a quick learner and also have some bandwidth to contribute to the project.
May I know from where I setup the code and start my contribution process.


Ingestion parallel like Profiler does

Is your feature request related to a problem? Please describe.
I've read the ingestion workflow and profiler workflow code then ingestion doesn't have a config to run in parallel, like threadCount in profiler give.
Does this feature in your backlog? Or any idea pops up, hope I can give help with this.

@pmbrull lets make a decision on this one

@IceS2 add details on where we are with shipping this in 1.4.0 release

closing in favor of https://github.com/open-metadata/OpenMetadata/issues/15215


Print functions are wrong inside of map_blocks

Describe the issue:
Print function does not seem to work inside map_blocks. Meanwhile the map_blocks function performs as expected. (in the example, it returns the same array, as intended)
Minimal Complete Verifiable Example:
x = da.random.randint(0,100,size=(10,10,3))

def print_func(m):
    print(m)
    return m

da.map_blocks(print_func,x,chunks=(5,5,3)).compute()

# what the print functions prints out:
>>[]
>>[[[1]]]

Anything else we need to know?:
Environment:

Dask version: 2023.11.0
Python version: 3.11.8
Operating System:
Install method (conda, pip, source): pip

The print function also prints out the actual values for me, are they printed for you as well?
The first 2 can be explained with the calculation of the meta. From the docs:

The meta of the output array, when specified is expected to be an array of the same type and dtype of that returned when calling .compute() on the array returned by this function. When not provided, meta will be inferred by applying the function to a small set of fake data, usually a 0-d array. It’s important to ensure that func can successfully complete computation without raising exceptions when 0-d is passed to it, providing meta will be required otherwise. If the output type is known beforehand (e.g., np.ndarray, cupy.ndarray), an empty array of such type dtype can be passed, for example: meta=np.array((), dtype=np.int32).

So you have to specify meta explicitly if you don't want that to happen


[BUG] The migration of the CSb version 0.3.0 to 0.4.0 crashed using the mariadb version 10.4

Description
The migration step db_service/models/historical_db.go ServiceInstanceDetailsV3  present in the releas/tag 0.4.0 to expends the size of the workspace column to handle the deployment crash the application using the mariadb.
Mariadb version
+--------------------------------------------+
| VERSION()                                  |
+--------------------------------------------+
| 10.4.10-MariaDB-1:10.4.10+maria~buster-log |
+--------------------------------------------+
1 row in set (0.001 sec)

Expected Behavior
The application should work properly even if the update of the row is not possible.
Actual Behavior
The application does not start with the following error message:
{"timestamp":"1635517167.577763557","source":"cloud-service-broker","message":"cloud-service-broker.Connecting to MySQL Database","log_level":1,"data":{"host":"csb_mariadb","name":"csb","port":"3306"}}

2021/10/29 14:19:27 /root/go/pkg/mod/gorm.io/driver/mysql@v1.1.2/migrator.go:82 Error 1406: Data too long for column 'workspace' at row 8
[131.510ms] [rows:0] ALTER TABLE `terraform_deployments` MODIFY COLUMN `workspace` blob
panic: Error migrating database: Error 1406: Data too long for column 'workspace' at row 8

goroutine 1 [running]:
gitlab.tech.orange/group-fpc/forks/cloud-service-broker/db_service.New.func1()
        /app/db_service/db_service.go:37 +0xb4
sync.(*Once).doSlow(0xc000319780, 0x453112)
        /usr/local/go/src/sync/once.go:68 +0xd2
sync.(*Once).Do(...)
        /usr/local/go/src/sync/once.go:59
gitlab.tech.orange/group-fpc/forks/cloud-service-broker/db_service.New({0x1300ac8, 0xc000316ba0})
        /app/db_service/db_service.go:34 +0x5e
gitlab.tech.orange/group-fpc/forks/cloud-service-broker/cmd.serve()
        /app/cmd/serve.go:84 +0x4f
gitlab.tech.orange/group-fpc/forks/cloud-service-broker/cmd.init.5.func1(0xc000209400, {0x10f8652, 0x0, 0x0})
        /app/cmd/serve.go:62 +0x17
github.com/spf13/cobra.(*Command).execute(0xc000209400, {0x1a4fb28, 0x0, 0x0})
        /root/go/pkg/mod/github.com/spf13/cobra@v1.2.1/command.go:860 +0x5f8
github.com/spf13/cobra.(*Command).ExecuteC(0x1985100)
        /root/go/pkg/mod/github.com/spf13/cobra@v1.2.1/command.go:974 +0x3bc
github.com/spf13/cobra.(*Command).Execute(...)
        /root/go/pkg/mod/github.com/spf13/cobra@v1.2.1/command.go:902
gitlab.tech.orange/group-fpc/forks/cloud-service-broker/cmd.Execute()
        /app/cmd/root.go:43 +0x25
main.main()
        /app/main.go:22 +0x17

The root cause:
The root cause of this issue is due to the migration from mediumtext to blob showed bellow:
In db_service/migrations.go
migrations[13] = func() error {
		return db.Migrator().AlterColumn(&models.TerraformDeploymentV3{}, "workspace")
	}

In db_service/models/historical_db.go where be
// TerraformDeploymentV2 expands the size of the Workspace column to handle deployments where the
// Terraform workspace is greater than 64K. (mediumtext allows for workspaces up
// to 16384K.)
type TerraformDeploymentV2 struct {
	ID        string `gorm:"primary_key;type:varchar(1024)"`
	CreatedAt time.Time
	UpdatedAt time.Time
	DeletedAt *time.Time

	// Workspace contains a JSON serialized version of the Terraform workspace.
	Workspace string `gorm:"type:mediumtext"`

	// LastOperationType describes the last operation being performed on the resource.
	LastOperationType string

	// LastOperationState holds one of the following strings "in progress", "succeeded", "failed".
	// These mirror the OSB API.
	LastOperationState string

	// LastOperationMessage is a description that can be passed back to the user.
	LastOperationMessage string `gorm:"type:text"`
}

// TerraformDeploymentV3 expands the size of the Workspace column to handle deployments where the
// Terraform workspace is greater than 64K. (mediumtext allows for workspaces up
// to 16384K.)
type TerraformDeploymentV3 struct {
	ID        string `gorm:"primary_key;type:varchar(1024)"`
	CreatedAt time.Time
	UpdatedAt time.Time
	DeletedAt *time.Time

	// Workspace contains a JSON serialized version of the Terraform workspace.
	Workspace []byte `gorm:"type:blob"`

	// LastOperationType describes the last operation being performed on the resource.
	LastOperationType string

	// LastOperationState holds one of the following strings "in progress", "succeeded", "failed".
	// These mirror the OSB API.
	LastOperationState string

	// LastOperationMessage is a description that can be passed back to the user.
	LastOperationMessage string `gorm:"type:text"`
}

Possible Fix
Setting up the TerraformDeploymentV3 to TerraformDeploymentV2 that still use mediumtext for the workspace column but I assume that we have to check if the update is possible instead.
In db_service/migrations.go
migrations[13] = func() error {
		return db.Migrator().AlterColumn(&models.TerraformDeploymentV2{}, "workspace")
	}

Steps to Reproduce

Initiate a mariadb database
Run the Cloud service broker version 0.3.0 with this mariadb datase
Update the cloud service broker with the release 0.4.0

Context
As service provide at Orange, I use this broker to provide all our services throught terraform as we try to promote this way to create and consume services.
Your Environment

Version used: 0.3.0 - 0.4.0
Operating System and version (desktop): Docker Ubuntu 20.04
Link to your project (if public): https://github.com/orange-cloudfoundry/cloud-service-broker
Platform (Azure/AWS/GCP): Vmware

Thank you for raising this issue @wdesplas
We have now released a fix in v0.4.1.


Chore: Fix grammar on scanner page

Pull request checklist
Make sure you:

[x] Signed the Contributor License Agreement
[x] Followed the commit message guidelines

Short description of the change(s)
Fixes a grammar mistake on the Scanner page
Fixes #533

@frvge Can you sign the CLA. Thanks!

Ah, I signed for the normal sonarwhal and not yet for the site. My bad.

Ah, I signed for the normal sonarwhal and not yet for the site. My bad.

Sorry for the inconvenience. :(


[DOCS] Adding a about section in Readme to tell the new contributors about the project. [GSSoC'23]

Description
The Readme.md directly starts with get started, It does not tell anything about the project. I think an introduction to the project must be given for new contributors coming for the first time.
Screenshots
This is how the readme starts:

It must start with an intro about the project
Additional information
Please assign me this issue under GSSoC'23

The intro you are gonna add should be precise, to the point, and relevant. Avoid fake information and features.

@LakshaySK106 thank you for assigning me. I will surely not disappoint you.

@LakshaySK106  Bhaiya. As you said I made it short and didn't add any fake info. Please review and tell me if its good.

Thank you @LakshaySK106 bhaiya


Add prevent link click feature after release touch or mouse click behavior

Looks like this PR has merge conflict that need to be resolved. In the interest of tidying up I'm going to close this, but can reopen if the merge conflicts are sorted. Thanks!


Fix link #type-modifiers

https://github.com/prisma/prisma2-docs/issues/176

Thanks a lot for catching this @adrianoresende   🎉


Fix spaces yeoman generating spaces in app name

Yeoman converts a project in folder foo-bar to foo bar. This just changes it right back.
Theres probably a better way to do this - but its broken atm (just tested)

:+1:


feat: support for ImageGCHighThresholdPercent and ImageGCLowThresholdPercent

Add a new feature to support https://github.com/aws/karpenter/issues/3110
Description
Add support for ImageGCHighThresholdPercent and ImageGCLowThresholdPercent.
How was this change tested?
Tested using unit tests and integration test
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I think this needs a rebase to start passing.

I think this needs a rebase to start passing.

done! Added an extra test for the happy path too. Thanks!

Looks like this PR removed TopologyManagerPolicy field from the BottlerocketKubernetes struct see diff. Was this by intention?

Thanks for this @lucass4 !


Disable restricted input in SamsungBrowser

We observed the following weird behavior with the Samsung Browser:

Some (random?) numbers would often be dropped from the credit card number field (particularly when entering<PHONE_NUMBER>111111).
With phone number, if you backspace to the beginning, then the first digit would be dropped.

This PR disables formatting for this browser.

:+1:


Admin css tweaks

Search box might be nice to float right( in horizontal line with pagination). Or otherwise style as you like!

I'd like to show the "deleted at" date but have it be a different color.

Would be sweet if hovers went full width of nav.

I'd like to add counts to the navigation like "Only Spam (34)", would be cool to get a placeholder there.

@sudara
Check out my branch https://github.com/sudara/alonetone/tree/bjm_admin_css_tweaks
This should address these 4 things, but didn't want to officially do a draft Pull Request, as maybe there are some other things that could be included.
The (9999) user counts are all just total users now.
Opening to /admin is suspiciously empty, maybe if nothing is going to go there, we should just open to admin/users?


add pytest as a required install before compiling docs on readthedocs

Pull Request Test Coverage Report for Build 542

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage remained the same at 86.475%

Files with Coverage Reduction
New Missed Lines
%

datmo/cli/driver/parser.py
1
86.96%

Totals

Change from base Build 540:
0.0%

Covered Lines:
2794

Relevant Lines:
3231

💛  - Coveralls

Pull Request Test Coverage Report for Build 542

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage remained the same at 86.475%

Files with Coverage Reduction
New Missed Lines
%

datmo/cli/driver/parser.py
1
86.96%

Totals

Change from base Build 540:
0.0%

Covered Lines:
2794

Relevant Lines:
3231

💛  - Coveralls


inconsistent UX when trying to start a recipe with a non downloaded model

The user gets an error message if he tries to start a recipe with a model which is not downloaded. But not always (reasons are not clear, needs more investigation).
https://github.com/containers/podman-desktop-extension-ai-lab/assets/9973512/5ac10e93-9a56-40a5-9dbb-b0995571c958

I've been trying to replicate it without any luck. Maybe it was fixed in the meantime.
By looking at the error in the video and the code we should be fine.
The error model is not available locally. is raised here
https://github.com/containers/podman-desktop-extension-ai-lab/blob/7e1ef21f166d231f006d93e1f89cad61d8158dfc/packages/backend/src/utils/modelsUtils.ts#L29-L32
when the model has the file property undefined.
This function gets called in modelsManager through
https://github.com/containers/podman-desktop-extension-ai-lab/blob/7e1ef21f166d231f006d93e1f89cad61d8158dfc/packages/backend/src/managers/modelsManager.ts#L163-L165
getLocalModelPath is called within the downloadModel function which is called when starting an AI App
https://github.com/containers/podman-desktop-extension-ai-lab/blob/7e1ef21f166d231f006d93e1f89cad61d8158dfc/packages/backend/src/managers/modelsManager.ts#L350-L360
and the if clause is only true when the file prop is not undefined
https://github.com/containers/podman-desktop-extension-ai-lab/blob/7e1ef21f166d231f006d93e1f89cad61d8158dfc/packages/backend/src/managers/modelsManager.ts#L144-L147
So if we get inside the if branch and ends up calling getLocalModelFile it's because the file is not undefined and then the error should never be raised.

I think it was due to using a local catalog, similar to #814.
I cannot reproduce it with latest version. It's most probably fixed by #771


Unity Atoms 2019.2+ support

fixing #45 where in newer unity versions all ugui stuff is in an own package, which needed to be added in the assembly defintion.
note: I'd rather add this changes to its own branch (e.g. canary-2019.2 or whatever) because it could give problems with current stable unity versions (2018.3 or the 2018.4 LTS when it arrives)
but when creating a pull request github does not allow to create a new target branch

Thanks for the PR @soraphis!
To be honest, I'm not completely sure on how the .asmdef files work. What is the implication of adding it? Am I understanding it correctly if I say that it gives direction on what packages / references Unity Atoms needs in order to run?

To be honest, I'm not completely sure on how the .asmdef files work

It makes a separate assembly for all code files in its folder or subfolder (that don't have their own assembly definition).
In this assembly definitions you can reference other assemblies. you need to do that to reference classes from those other assemblies.
since unity moved the ugui stuff to its own assembly, and we're referencing ugui stuff, so we need to depend on that assembly.

splitting into assemblies has for example the benefit of reducing compile time (because only the assembly with the changes needs to be recompiled). So for libraries you absolutely want an assembly definition to not pull down compile times for users.

@soraphis Thanks for taking the time to explain the problem! ⭐
I will accept the PR, hopefully it won't break stuff in older version of Unity Atoms (but that what's the canary is branch for, ey?). Will work on Unity Atoms today and hopefully I will get to the new project structure and thereby I will create separate packages for Unity UI, Tags, etc. When done I will add the assembly definition to Unity Atoms UI instead of to the full project.


github URL format

Not sure why, but one of my added repos is trying to use git://github.com/meanpath/json2csv where it should be using git@github.com:meanpath/json2csv. All my other repos use it without issue. I tried running "drone delete github.com/meanpath/json2csv" so i could delete and re-add, but it tells me "Unauthorized". Any ideas?

can you check inside the database to see if the "repo_owner" field is empty? you might need to manually purge from the database

it would use git:// if the repository was public. Is it possible this was added as a public repo first, and then switched to private?

btw, we have a fix coming for that particular sync issue. post-commit hooks from github will trigger Drone to refresh its local repository meta-data

repo_owner field was correct. Have deleted manually and re-added and it seems to work now.
I'll reopen if it happens again.

Yes, it was public first i believe.


azkaban embed flow's job auth with kerberos bug

as above， kinit will get exception when env var KRB5CCNAME contain colon
at the azkaban code,azkaban-common\src\main\java\azkaban\jobExecutor\ProcessJob.java line 215,before job shell execute ,it will set the env var KRB5CCNAME,it's format is String.format("/tmp/krb5cc__%s__%s__%s__%s__%s", projectName, flowId,
jobId, execId, effectiveUser)
but when job in the embed flow,the flowId format is projectName:flowname.in this moment ,it will make the job shell kinit failed.
for a simple example:

nodes:

name: testflow
type: flow
nodes:

name: testjob
type: command
config:
command: kinit -k -t /home/insight/work/insight.keytab<EMAIL_ADDRESS>

when execute the embed flow testflow,it will be failed,the log like

and another example:

nodes:

name: testjob
type: command
config:
command: kinit -k -t /home/insight/work/insight.keytab<EMAIL_ADDRESS>
this will be fine

@HappyRay
Hello Ray, it's been almost a year. I checked the newest release and the code in the latest commit. It seems that this problem hasn't been fixed yet. I'd appreciate it that if there is any information about it. Right now, I just removed the colon like what @jepsonzhang did.

Sorry, I am no longer actively working on this project.
@abti is managing this project now.


Echo bot is not joining the call

Describe the issue
Echo bot is not joining the call, however the API returns 200 OK. In the attached image I found the Could not verify connectivity to the bots media platform instance.
Code Snippet
Code from the sample
Expected behavior
Echo bot should join the teams call
Graph SDK (please complete the following information):

Version latest

Call ID
Call ID is private
Logs

Attached an image of the errors received

You will need to make sure your bot process is able to bind to a service port and communicate how that port can be reached from the public internet. If you've got any Firewalls / NAT's in the way, they need to be configured to pass traffic towards the process your bot runs on.

That's why either you need ngrok pro, or you need to expose your host to the internet with port fowardings / NAT rules.


feat: bump release level to production/stable

Fixes #101 🦕

Like with orgpolicy, there's a pending release with other features. https://github.com/googleapis/python-talent/pull/75 I think that should be released and the timer reset.


Flexbox css breaks in Safari 8 and iOS 8

Due to the 'no-2009' flag in auto-prefix configuration, iOS 8 and Safari 8 flexbox layout breaks.
Removed the 'no-2009' flag solves the problem.
Pathcing node_modules/react-scripts/config/webpack.config.dev.js and remove the no-2009 line fixes the issue.

Is this a bug report?
yes

Can you also reproduce the problem with npm 4.x?
yes

(Write your answer here.)
Which terms did you search for in User Guide?

Expected Behavior

(Write what you thought would happen.)
Flexbox should display OK in iOS 8 and Safari 8 by current autoprefix config.
Actual Behavior

Flexbox layout totally breaks due to not being prefixed.
(Write what happened. Please add screenshots!)

This is very specific case for outdates devices/systems. You can simply eject and change configuration.

Closing as a duplicate of https://github.com/facebookincubator/create-react-app/issues/2248.


[HPRO-748] Migrate order workflow to Symfony

Q
A

Target Release?
Next available

Bug fix?
❌

New feature?
❌

Database migration?
❌

New configuration?
❌

Composer updates?
❌

NPM updates?
❌

Jira Ticket(s)
HPRO-748

Noticed this when merging it back into my work.
root@healthpro-web:/app# bin/symfony doctrine:schema:validate

Mapping
-------

 [FAIL] The entity-class App\Entity\Measurement mapping is invalid:
 * The field App\Entity\Measurement#history is on the owning side of a bi-directional relationship, but the specified mappedBy association on the target-entity App\Entity\MeasurementHistory# does not contain the required 'inversedBy' attribute.

 [FAIL] The entity-class App\Entity\MeasurementHistory mapping is invalid:
 * The association App\Entity\MeasurementHistory#measurement refers to the inverse side field App\Entity\Measurement#measurementHistory which does not exist.

Database
--------

 [ERROR] The database schema is not in sync with the current mapping file.

Noticed this when merging it back into my work.
root@healthpro-web:/app# bin/symfony doctrine:schema:validate

Mapping
-------

 [FAIL] The entity-class App\Entity\Measurement mapping is invalid:
 * The field App\Entity\Measurement#history is on the owning side of a bi-directional relationship, but the specified mappedBy association on the target-entity App\Entity\MeasurementHistory# does not contain the required 'inversedBy' attribute.

 [FAIL] The entity-class App\Entity\MeasurementHistory mapping is invalid:
 * The association App\Entity\MeasurementHistory#measurement refers to the inverse side field App\Entity\Measurement#measurementHistory which does not exist.

Database
--------

 [ERROR] The database schema is not in sync with the current mapping file.


Disallow test/suite declarations in protocols.

This change is similar to #332 except that the diagnostic is applied when a test or suite is declared inside a protocol rather than inside a non-final class.
Without this change, the compiler will fail to build a test target with such a test anyway, but the diagnostics produced will refer to the emitted macro expansion and are opaque. For example, given the declaration:
protocol P {
  @Test func f()
}

The compiler produces these diagnostics which don't really explain the problem very well:

🛑 'private' modifier cannot be used in protocols
🛑 Protocol methods must not have bodies
🛑 Type '$s12TestingTests1PP1f4TestfMp_37__🟠$test_container__function__funcf__fMu_' cannot be nested in protocol 'P'
🛑 Use of protocol 'P' as a type must be written 'any P'
🛑 Cannot find '$s12TestingTests1PP1f4TestfMp_7funcf__fMu0_' in scope

This is because the swift-testing macro target is unaware that the enclosing lexical context is a protocol, so it tries to emit code that would only make sense inside a concrete type. With this change, you instead get:

🛑 Attribute 'Test' cannot be applied to a function within protocol 'P'

I also took the liberty of improving the diagnostic emitted if a test/suite is declared inside a closure.

[!NOTE]
As with #332, this change only takes effect when swift-syntax-600 is used.

Checklist:

[x] Code and documentation should follow the style of the Style Guide.
[x] If public symbols are renamed or modified, DocC references should be updated.

@swift-ci please test


Web - Attachment - No magnifying glass seen when hoovered over image in chat

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Upload an image in chat
Select image that was uploaded
Hoover mouse over selected image to see magnifying glass

Expected Result:
Magnifying glass would be visible when hovering over image
Actual Result:
No magnifying glass
Workaround:
n/a
Platform:

Where is this issue occurring?

Web
Desktop App

**Version Number:v1.1.10-0
**Reproducible in staging?:Y
**Reproducible in production?:Y
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Video
Expensify/Expensify Issue URL:
Issue reported by:
Slack conversation:
View all open jobs on GitHub

Hey @mvtglobally , can you help me reproduce this bug? Does the step (1) include clicking the "Send" button? When you say "Select image that was uploaded", are you referring to clicking on it's thumbnail on the chat?

@aldo-expensify Yes. You need to send the image to another user first.

Issue reproducible during KI retests.

@aldo-expensify Yes. You need to send the image to another user first.

Thanks, so... are we missing the magnifying glass on the thumbnail image?

Are we expecting to see the magnifying glass cursor instead of the hand in that case?

I'm not 100% convinced about that the cursor over the thumbnail should be a magnifying glass. It makes sense to me once the image is "opened" and clicking it zooms in, but here you are not exactly just zooming in, you are opening a modal with the image which has a download button.

I'm closing this as I don't see it as a problem.


Upcoming Release 2.0

This is a preview for the coming release 2.0.
I've been working more or less on a big update in the last years, but only now got to finalizing it.
Changes

BREAKING CHANGE: a new, cleaner directory and configuration structure
NEW: Workshop map collection hosting (requires Web API Key)
NEW: Sourcemod management system (more plugins can be added on request)
NEW: Automatic GSLT retrieval for new instances (requires Web API Key)

Todos before merge

Update user-wide configurations, so you can add defaults for any variable in msm.d/csgo/cfg/defaults.conf
Update config templates
Update documentation and info messages
Replace unbuffer | tee with script

Upgrading hints
The update includes a migration script, however it was not tested a long time. Due to the large changes, your existing instances may break when upgrading and you won't be able to go back. Make backups and upgrade at your own risk.

With the release of CS2, the work continues at https://github.com/dasisdormax/cs2-multiserver.
This release won't get finished anymore


receive wrong user

When I run my Go program (which is designed to monitor Telegram group messages), I frequently receive the following prompt during execution:
[ 2][t 1][1728179264.207556724][UpdatesManager.cpp:1299][#1][!UpdatesManager]   Schedule getDifference in 1 seconds with PTS = 2901, QTS = 0, date =<PHONE_NUMBER> from add_pending_channel_update 1
[ 1][t 1][1728179264.236205577][MessageEntity.cpp:3834][#1][!UpdatesManager]    Receive wrong user<PHONE_NUMBER>: [Error : 400 : Have no access to the user] from server message 77236 in chat -1002068716932 sent by chat<PHONE_NUMBER> from updateNewChannelMessage
[ 1][t 1][1728179284.435833930][MessageEntity.cpp:3834][#1][!Td]        Receive wrong user<PHONE_NUMBER>: [Error : 400 : Have no access to the user] from server message 968943 in chat -1001986433992 sent by chat<PHONE_NUMBER> from get channel difference
[ 1][t 1][1728179284.436266899][MessageEntity.cpp:3834][#1][!Td]        Receive wrong user<PHONE_NUMBER>: [Error : 400 : Have no access to the user] from server message 968945 in chat -1001986433992 sent by chat<PHONE_NUMBER> from get channel difference
[ 1][t 1][1728179284.438655853][MessageEntity.cpp:3834][#1][!Td]        Receive wrong user<PHONE_NUMBER>: [Error : 400 : Have no access to the user] from server message 167223 in chat -1002246254880 sent by chat<PHONE_NUMBER> from get channel difference

This is expected if the group has more than 40000 members.

This is expected if the groups have more than 40000 members.

Thank you, I've been bothered by this issue for a few days. Should I need to deal with this error? I'm concerned that it will slow down performance and cause missing messages that need to be monitored.
And,I use getuserfullinfo and getuser(@type,@extra) to get user information when he send the message which contains keywords,but I find I get lots of update from other users,I'm also concerned that it will slow down performance .

No, it shouldn't cause any missing messages or affect performance.

No, it shouldn't cause any missing messages or affect performance.

Thank you for your response，you help a lot.，but I have one last question.Although I can detect messages containing keywords in real-time, after receice this message, I send three requests (getUser, getUserFullInfo, getMessageLink). However, the responses for these three requests often time out and can't be obtained (even though I've set a 20-second wait time with one retry, totaling 40 seconds of waiting time). Since the detected messages only occur once every few hours, the request frequency is relatively low, so it shouldn't have reached the rate limit of 20 requests per minute. I'm very confused as to why I often can't get a response within 40 seconds. Do I need to wait even longer?

No, it shouldn't cause any missing messages or affect performance.

Thank you ,you help a lot，but I have one last question.Although I can detect messages containing keywords in real-time, after receice this message, I send three requests (getUser, getUserFullInfo, getMessageLink). However, the responses for these three requests often time out and can't be obtained (even though I've set a 20-second wait time with one retry, totaling 40 seconds of waiting time). Since the detected messages only occur once every few hours, the request frequency is relatively low, so it shouldn't have reached the rate limit of 20 requests per minute. I'm very confused  why I often can't get a response within 40 seconds. Do I need to wait even longer?

No, it shouldn't cause any missing messages or affect performance.

"It is not possible to receive messages in a channel out of order. If some messages were skipped, then the app will receive updateChatLastMessage with last_message == null before updateNewMessage, but this is unlikely to happen while the app is online."This is your answer in an another question.I find often receive updateChatLastMessage type updata,I don‘t know the reason.Beacause I receive too many messages so the responses for these three requests often time out?

TDLib has no timeouts for requests. Moreover, getUser and getMessageLink are offline requests and always return response immediately.

TDLib has no timeouts for requests. Moreover, getUser and getMessageLink are offline requests and always return response immediately.

It seems like network problem,but I can receive message at the first time.How to test the network problem of request and response?

TDLib has no timeouts for requests. Moreover, getUser and getMessageLink are offline requests and always return response.
when I failed,I receive this:   Error unmarshalling response: invalid character 'Ð' looking for beginning of value
Error unmarshalling response: invalid character 'Ð' looking for beginning of value
Error unmarshalling response: invalid character '\x10' looking for beginning of value
Error unmarshalling response: invalid character '°' looking for beginning of value
Error unmarshalling response: unexpected end of JSON input
Error unmarshalling response: invalid character 'ð' looking for beginning of value
Error unmarshalling response: invalid character 'Ö' after top-level value

TDLib has no timeouts for requests. Moreover, getUser and getMessageLink are offline requests and always return response immediately.

when I failed,I receive this: Error unmarshalling response: invalid character 'Ð' looking for beginning of value
Error unmarshalling response: invalid character 'Ð' looking for beginning of value
Error unmarshalling response: invalid character '\x10' looking for beginning of value
Error unmarshalling response: invalid character '°' looking for beginning of value
Error unmarshalling response: unexpected end of JSON input
Error unmarshalling response: invalid character 'ð' looking for beginning of value
Error unmarshalling response: invalid character 'Ö' after top-level value

TDLib has no timeouts for requests. Moreover, getUser and getMessageLink are offline requests and always return response immediately.

This looks like a bug in the wrapper you use. For example, it may call receive again before consuming returned by TDLib string.

This looks like a bug in the wrapper you use. For example, it may call receive again before consuming returned by TDLib string.

Thank you, you are correct. Previously, I had set up a response handling function that actively called the receive functionality after sending a request, which caused conflicts with the client's data reception. Now that I'm passively listening to the updates received by the client, this problem no longer exists.

sorry for late respond
Regards,
Tua
ในวันที่ ส. 12 ต.ค. 2024 เวลา 09:44 aaastudent @.***>
เขียนว่า:

Closed #3078 https://github.com/tdlib/td/issues/3078 as completed.
—
Reply to this email directly, view it on GitHub
https://github.com/tdlib/td/issues/3078#event-14615262689, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BJ4PV43I2I4Q7ZA2YCQQRELZ3CEJLAVCNFSM6AAAAABPN3FPMGVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJUGYYTKMRWGI3DQOI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Include compiled files

I can include files compiled as bower? (or in a similar way)
I tried to find a solution but I have not found, did I miss something? sorry :confounded:

Sorry, could you clarify — do you want to publish the result as bower component?

typing error:
I can include files compiled as grunt-wiredep? (or in a similar way)
with grunt I compile files and grunt-wiredep put the results in html between

<!-- bower:js -->
<!-- endbower -->

There is a similar solution in brunch?

All bower components are automatically included in your app. You must specify correct paths in brunch config.
Our default config would totally work in this case.
        'javascripts/vendor.js': /^(?!app)/

This means files from bower_components directory would be included in vendor.js.


SDK 3.1-pre-svn JME3 New BasicGame - template with older libraries

From @slawekmikula on May 11, 2014
Template BasicGame when creating with current HEAD SDK require older libraries: jme3 and jme3-libraries. Due to fact, that jme3 is split to many partial libraries it has to be updated to core library jme3-core and provide in simple readme in BasicGame method to add more specific libraries.
Copied from original issue: jMonkeyEngine/jmonkeyengine#136

This seems fixed in the meantime.
The question is if we should remove jBullet in Favor of Bullet Native, though?


Add seedData functionality

Closes #9

Also, you might want to consider using main/java/seedu.address/model/util/SampleDataUtil

Looks good!


[5.5] Testing: Assert that two models are same

Helper method for tests which will help us to determine if models are same and stored in same database table.
Instead of:
$this->assertSame($expectedUser->getKey(), $actualUser->getKey());
$this->assertSame($expectedUser->getTable(), $actualUser->getTable());
$this->assertSame($expectedUser->getConnection(), $actualUser->getConnection());

We can do:
$this->assertModelsSame($expectedUser, $actualUser);

Note: I don't know how to better display error message on assertion fail. Any suggestions what to write there?
Maybe it's better to name it assertSameModels?

Hmm, I dunno, I think I'll just leave this to writing your own assertTrue for this.

You could probs also try...
$this->assertTrue($expected->is($actual));
As it does those checks under the hood

@timacdonald Yep, but I was wanted to make it default and with expressive assertion fail message to not duplicate myself each time.

totally - I like what ya did - nice and expressive. Just thought I'd throw another solution out there :)

Any suggestions how to do it? I would really appreciate it!

I'd do it in your base TestCase class, which you tests generally should extend.
<?php

namespace Tests;

use Illuminate\Foundation\Testing\TestCase as BaseTestCase;

abstract class TestCase extends BaseTestCase
{
    use CreatesApplication;

    protected function assertModelsSame($expected, $actual)
    {
        $this->assertTrue($expected->is($actual), 'The models were not the same');
    }
}

Thank you, @timacdonald! Thats what I'm doing now in all of my projects :} I thought you mean another approach of assertion.


QS Tile animation--1

More will add to other files. Please review it, if it makes any conflict please let me know.

Please give authorship
And submit in one commit

I'm closing this one.Will submit in one commit.