Retry on Xamarin.iOS

When setting the image to a retry of 3 with 250ms delay, the image finds the correct image then defaults back to the errorplaceholder image instead of the actual image.
Is this a bug? This only happens on Xamarin.iOS version. On the Xamarin.Forms version, it works fine.
This happens on latest stable release: v2.1.8
 ImageService.Instance.LoadUrl(Image, TimeSpan.FromDays(5))
                .Retry(3, 250)
                .ErrorPlaceholder("Images/ErrorPlaceholder.png")
                .Into(imageView);

@owlstack  Did you resolve it?

No I did not. Are you seeing the issue as well?

@daniel-luberda I have one more question. How do I add properties to preloaded images for Xamarin.iOS? E.g.
I want to do something like this:
ImageService.Instance.LoadUrl(Image, TimeSpan.FromDays(5)).Success(() =>
                {
                      //Do something on success
                })
		.Preload()
                .Retry(3, 250)
                .ErrorPlaceholder("Images/ErrorPlaceholder.png")
                .Into(imgView);

But it wouldn't let me. In Xamarin.Forms, we have a CachedImage that I can set the properties to but for Xamarin.iOS or Android.... we don't have that option. I want to preload the images and I want to set a retry and error placeholder for them.
Thanks!

I don't understand your question. Could you give more details? It should be used exactly like this:
ImageService.LoadUrl("http://www.funchap.com/wp-content/uploads/2014/05/help-dog-picture.jpg")
.LoadingPlaceholder("loading.png")
.ErrorPlaceholder("error.png")
.Retry(3, 200)
.Into(_imageView);

@daniel-luberda Sorry, I got it thanks!

@owlstack No problem. We need to update docs someday (collaboration welcome). What about first bug? I cannot reproduce it. Should I close it?

@daniel-luberda I need to test further but I think the issue with the retry is.....  When I scroll down or up the listview, I very briefly see another offer image for a particular cell... that is, the wrong image is loaded briefly on top of the cell which should have a different image. Then after that it defaults to placeholder....

https://github.com/luberda-molinet/FFImageLoading/wiki/Xamarin.Forms-Advanced#usage-in-listview-with-listviewcachingstrategyrecycleelement-enabled
Do you use cell recycling? If yes, read the wiki page above.

@daniel-luberda This is for Xamarin.iOS. Can I still use the method above?
Also one thing to note, what "fixes" it is adding a LoadingPlaceholder. Is that the right approach? But I can't add the retry because it would no longer work.

I though you're referring to Forms. On iOS / Android, you should set image to null before each loading:
imageView.Image = null;

...and also you should cancel your previous image loading task.

...and also you should cancel your previous image loading task.

What do you mean? I can set the image to null but what do you mean by cancel?

var imageLoadingTask = ImageService.Instance.LoadUrl(Image, TimeSpan.FromDays(5))
                .Retry(3, 250)
                .ErrorPlaceholder("Images/ErrorPlaceholder.png")
                .Into(imageView);

imageLoadingTask.Cancel();

If I use the approach above I would also need to load that imageLoadingTask right?

Could you elaborate?

Just using ImageService would set the images for the imageView but setting it above... won't I need to call or set that variable above to something? Since you introduced a var?

You can keep a reference to current task as here:
https://github.com/luberda-molinet/FFImageLoading/blob/master/source/FFImageLoading.Forms.Touch/CachedImageRenderer.cs#L26
https://github.com/luberda-molinet/FFImageLoading/blob/master/source/FFImageLoading.Forms.Touch/CachedImageRenderer.cs#L272

@daniel-luberda but what do I do with the current task? Currently if I leave it how you set it above... none of the images are loaded? Where am I supposed to use imageLoadingTask in my view? I'm confused

It's not because of FFImageLoading, but it's because how cells in iOS/Android are reused in lists / repeater views. When cells are reused , you get an old view which was used somewhere before and it eg. has some image loaded or there's already a task for image loading for it. To avoid showing old image, you should:

cancel any previous image loading if exists (it can still load previous image in situations where user scrolled very fast)
set image to null before loading
run new image loading to that view

.Into method always return a new loading task which can be for example cancelled, using Cancel method.

Is there a way FFImageLoading can detect if you are trying to load a new image into an image view that already has a pending task and cancel that pending task for you?

It does this automatically. But  when cells are reused, loading a new image takes some time, so Cancelling image from previous cell manually, setting image to null and then loading correct image gives a better user experience (old images are not shown in new cells when recycled).

I'm seeing some strange behavior with cancelling.  I've got a listview for demo purposes where each list item is set like this
View view = convertView;
if (view == null)
{
	view = LayoutInflater.Inflate(Resource.Layout.ListViewItem, null);
}

ImageService.Instance.LoadUrl(url).Into(view.FindViewById<ImageViewAsync>(Resource.Id.imgImage));
view.FindViewById<TextView>(Resource.Id.lblUrl).Text = url;

ImageService.Instance.Cancel(m =>
{
	if (m.Path == url)
	{
		System.Diagnostics.Debug.WriteLine("Canceled " + m.Path);
		return true;
	}
	return false;
});

view.FindViewById<ImageViewAsync>(Resource.Id.imgImage).SetImageResource(Resource.Drawable.Icon);

return view;

All images are still loaded into their image views and none have been canceled.

The newest alpha should solve those issues. Please reopen if it didn't work for you. Thanks.


[Windows] Remove meta_mem update on keyup/keydown.

Fixes https://github.com/godotengine/godot/issues/74957
Fixes https://github.com/godotengine/godot/issues/75138

Does this also fix https://github.com/godotengine/godot/issues/75138?

Probably, but I can't reproduce it to check.

Tested and confirmed that it solves it for me

This should probably be considered for cherry picking, it has quite an impact in #75138 for people who use multiple layouts, granted just a minor inconvenience if you know how to make it go away, but a QOL issue still
(Also you've got a typo in fixes)

Thanks!

Cherry-picked for 4.0.2.

Hi, just wondering if this will be merged into the 4.1.1 branch. Alt-tabbing stops an input that was held down before alt-tabbing from registering.

This was merged in master before the 4.1-stable release, so it's part of 4.1-stable, and thus of 4.1.1-stable already.

Oh. Well the issue this should solve is occurring for me. Unless it's a different issue?

It must be a different issue, please open a new bug report.


Update to phantomjs dep to phantomjs-prebuilt

The package phantomjs has been renamed phantomjs-prebuilt.

Wrong repo 😹


too perfect for mankind

too perfect for mankind

Too perfect is code.
CIAL.
The no cod-iest no code is THIS :sunglasses::

Remember, goal is to be as no code as possible and nothing the everything.


Allow use of main as primary branch

🚀 Feature Proposal
Github now defaults to main for new repositories.  I'd like to be able to use meta with those repositories.  A hybrid approach seems ideal so we don't have to touch legacy repos, so it could work with both main and master.  Perhaps it could detect the primary branch name?  Or use a preset list of fallbacks, like:
master
main

Motivation
When creating a new repository on Github via the UI the default branch is now main, which doesn't work with meta.
Example
For a new repository, attempting to add it to a meta repo I get this error:
fatal: Remote branch master not found in upstream origin

I'd like to be able to do this:
meta project import projects/the-project git@giturl

and have it work regardless of the primary branch name.

@rikkit has a simple version of using main in his branch of meta project https://github.com/mateodelnorte/meta-project/pull/95

why not just pass everything to the executable when the command is not in the plugin and let the executable complain if there are any errors?
If I say meta git blah, the meta-git plugin should send that blah as a command it doesn't know to git, eg: git blah. Probably blah is now a new command that this plugin never knew about. The idea here is that any new conventions are covered and this future proofs the Meta lib and its related plugin.  So this master | main issue is solvable by not constraining what a user can do with git, meta git should simply handle custom commands / overrides and then pass on any weird unknown ones to git.
a simple example here is

Meta plugin is trying to work on every command, why not let git do it?

@emahuni fwiw you can do that with meta exec already meta exec "git blah"
I think in most cases as long as you're using all master or all main everything should work just fine - there are some edge cases like in migrate where this is not the case though.


Bridge not working if probe port is same with app port

@Schille is this still a thing? Any idea on how to solve this? Maybe check for the probe and check if the port is equal with the provided port from the bridge command? In case it is - reject...?

Yes. This issue just came up today. It's very irritating as Gefyra says the bridge is up, but it's somehow not working.
The issue is caused by these Nginx config parts:
https://github.com/gefyrahq/gefyra/blob/bc38a5a4a992500fee03c545ec621efe1f67ea1c/carrier/gefyra-carrier.conf#L11-L17
We're starting a stream sever (basically a proxy on TCP-level) on port  and afterward, to mimic the probes, we start an HTTP server on port , too.  Somehow this is ok for Nginx, but the precedence gets to the HTTP server eventually sucking up all request to port  (not just the probe requests), instead of passing them down to the local container instance.


Current text field inside of sticky note allows the user to type beyond the sticky note dimensions

Need to constrain the sticky note's text field so that it doesn't escape the boundaries of it.

Javascript seemingly doesn't handle this in a natural way. We could maybe do it in a cludgy way by limiting both character count and whitespace? Idk

Fixed. There is now a 150 char limit, and you aren't able to put in newlines at all.


clean up spelling in image{buf,io}.h

Description
Correct some spelling issues in these two headers. One change I did not make was
make_writeable() -> make_writable(), for obvious reasons.
Tests
It still compiles.
Checklist:

[x] I have read the contribution guidelines.
[x] If this is more extensive than a small change to existing code, I
have previously submitted a Contributor License Agreement
(individual, and if there is any way my
employers might think my programming belongs to them, then also
corporate).
[ ] I have updated the documentation, if applicable.
[ ] I have ensured that the change is tested somewhere in the testsuite
(adding new test cases if necessary).
[ ] My code follows the prevailing code style of this project.

Individual CLA was mailed out this morning.

I checked several dictionaries, and they are about evenly split about whether "writeable" is an alternate spelling of "writable" or if they don't mention the former at all. Some google searching indicates it's at least very widely used in software APIs. So either lots of API designers and docs writers have the same habitual misspelling, or it's perfectly fine. A full grep through the codebase seems to indicate that I have used both, though writeable more commonly. I'm on the fence about whether to fix in the function names.

See #2567 for some more writeable renaming

Awesome, thanks for the merge. I wasn't going to push on writable, but I think you made the right call :).


Viz that could be used for social media to promote engagement with COVID-19 preprint reviews

Maybe a screenshot of the final COVID Dashboard (#80) can fulfill this need.

@murkatr will discuss with @dasaderi.


chore: use arrow functions

Fairly routine find & replace to catch most of the places where we can use arrow functions.  Not done yet, but a good start. Rubber stamp appreciated :)

Codecov Report

Merging #67 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master      #67   +/-   ##
=======================================
  Coverage   98.82%   98.82%
=======================================
  Files          14       14
  Lines        2727     2727
  Branches      156      156
=======================================
  Hits         2695     2695
  Misses         19       19
  Partials       13       13

Impacted Files
Coverage Δ

test/logger.ts
100% <100%> (ø)
:arrow_up:

test/service.ts
99.57% <100%> (ø)
:arrow_up:

test/util.ts
98.56% <100%> (ø)
:arrow_up:

src/service-object.ts
100% <100%> (ø)
:arrow_up:

test/index.ts
100% <100%> (ø)
:arrow_up:

src/util.ts
97.41% <100%> (ø)
:arrow_up:

test/paginator.ts
99.38% <100%> (ø)
:arrow_up:

src/operation.ts
100% <100%> (ø)
:arrow_up:

test/service-object.ts
98.36% <100%> (ø)
:arrow_up:

src/service.ts
98.18% <100%> (ø)
:arrow_up:

... and 2 more

Continue to review full report at Codecov.

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

I know this probably is not the best place to start this conversation, but I think with all the incoming changes now would be a great time to change how we denote private methods - myMethod_ :arrow_right: _myMethod


UdecxEndpointInit - confusing description

UdecxEndpointInit
A pointer to an UDECXUSBENDPOINT_INIT structure that the client driver retrieved in the previous call to UdecxUsbSimpleEndpointInitAllocate.

I am confused since this is a callback. this structure is being passed to the client. Why does the client need to allocate it using A pointer to an UDECXUSBENDPOINT_INIT structure that the client driver retrieved in the previous call to UdecxUsbSimpleEndpointInitAllocate. Is the documentation wrong?

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

ID: 695d1244-a3d5-a6a4-edaf-df4d4fd55e42
Version Independent ID: 7c43c0ef-fea3-b8be-ea28-b818555c724a
Content: EVT_UDECX_USB_DEVICE_DEFAULT_ENDPOINT_ADD (udecxusbdevice.h) - Windows drivers
Content Source: wdk-ddi-src/content/udecxusbdevice/nc-udecxusbdevice-evt_udecx_usb_device_default_endpoint_add.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @duncanmacmichael
Microsoft Alias: dumacmic

Hi @pankajbharti, good question. I can see why the description might confuse you, although it is accurate. I'll explain the best I can here. The UDECXUSBENDPOINT_INIT structure is indeed retrieved by the driver by calling UdecxUsbSimpleEndpointInitAllocate, which takes place during the virtual device initialization steps. See the sample here: Create a virtual USB device. Then, the driver typically stores this init object in the device context space before calling UdecxUsbDeviceInitSetStateChangeCallbacks. So, because the framework now knows the address of the init structure, it can pass it back to the driver in the call to EvtUdecxUsbDeviceDefaultEndpointAdd. See the sample here for this step: Create dynamic endpoints.
This is my understanding of it. Does this help?

Closing as guidance was provided but no further response received.


[Bug Report] Art cover and proper username doesn't show up my own playlists in the library section

Describe the bug
If I go to the library section a look at my own playlists, it doesn't show the art cover and instead of displaying the name  of the author for the playlist it displays what appear to be a uuid instead.
To Reproduce
No response
Error reports & Screenshots

Device info
Device: Google Pixel 7
OS: Android 14 (stock)
Jetispot ver: 0.1.6
Additional context
No response

I have fixed the username issue.
In regards to pictures, for some reason the Spotify API isn't returning images on the rootlist endpoint, or the playlist endpoint.
I am still investigating this but for now have implemented a patch to save and use the playlist image if it is seen on the home screen. Changes are at https://github.com/Outlet7493/Jetispot and will make a PR when things are ready or I've found a better way of doing it.

Nice, okay, thanks mate!

In regards to pictures, for some reason the Spotify API isn't returning images on the rootlist endpoint, or the playlist endpoint.

I saw these before. If you take a look at the network requests, Spotify tries to retrieve 4 images of the playlists that have no uploaded image. These 4 images are the first 4 songs of the playlist, but they are not requested to the CDN, they have something like the next format: [spotify:artwork:heregoesanid] (the keyword of the middle isn't "artwork", but I don't remember now which one it is. It's been a long time since I took a look at this)


Special Handling for “Not On Label”

Some Discogs entries use the label “Not On Label” — http://www.discogs.com/label/1818 — for self-released albums etc., e.g. http://discograph.mbrsi.org/artist/2477991
In the graph the connections through this label might be misleading and could perhaps be filtered out of the results?
(There may also be other similar holding entities for all I know…)

I'm torn on this. It's certainly possible to strip out these virtual entities (e.g. "Not On Label", the "Not On Label" variations, and the pseudo-artist "Various"), and in some earlier versions of the sight I did just that. On the other hand, I do think it's really useful to know that entities have been released via white labels 12"s - certainly just as useful as knowing that 250k artists have been released on some major label.
I would be amenable to provide a toggle for white labels, just like providing a toggle for all labels (as some users simply don't want to see / know about labels). Because I pre-calculate the number of relations of each type for all entities to optimize the graph search algorithm (see here), that pre-calculation logic would need to be extended to count up white-listed and black-listed entity relations separately. Doable.

Perhaps you could display the white-label/pseudo entities immediately connected to the node displayed, but toggle connections beyond that level to off by default? You could see that an artist has released 3 white-label recordings, but not need to know how that connects with the thousands of other white-label artists (but have the option still open?)
On the other hand, this is also a kind of database structure issue — Discogs itself might be better off having genuine special entities for this purpose rather than pseudo labels and artists. In which case you could shrug and accept this! :boom:

With regard to what connections you see when "Not On Label" appears in a graph: the graph search algorithm doesn't look for additional connections when it encounters "Not On Label". That is, as the search process iterates over each entity, it looks up their relations, and adds unvisited entities in those relations to a stack of to-be-visited entities. If it encounters an entity whose pre-calculated relation count exceeds the number of relations permitted in one subgraph (about 300), it skips looking up relations and simply marks that entity as visited. "Not On Label" has about 88312 relations, so you should never see extra connections to it unless you clicked on it directly.
All of that is to say, if you see "Not On Label" with multiple relations in one graph, that's because the entities connected to it in the graph were arrived at by other means, not because "Not On Label" has an incredible number of relations in the database.

Ohhhhhhh… right, sorry! That’s actually clear from my Lady Leshurr example above — the only “Not On Label” artists included are all also present via other labels/relations. OK, so I think it’s safe to scrap this line of thought entirely. Sorry for the diversion. :car: :car: :car:


Conversions and units module

It would be interesting to develop a module for conversion between different units. Several implementations came to my mind:

Make use of the astropy.units package. Though really useful, this implies to add a huge package as a dependency and only its units module would be use.

Try to find a lightweight alternative to previous package.

Develop some module under the name conversions.py which would store several constants such us:

# Length conversions
METERS_TO_FEET = 1 / 0.3048
FEET_TO_METERS = 1 / METERS_TO_FEET

If you think about any other idea, please left a comment :rocket:

I think Pint solves this. For example would be as simple as:
import pint
u = pint.UnitRegistry()

# Apply conversion
alt = 10000.00 * u.foot
alt_in_meters = alt.to(u.meter)

print(f"{alt} are equivalent to {alt_meters:.2f}")

Previous code might be simplified if an import is created in the __init__.py file:
# Inside skaero.__init__.py
import pint
units = pint.UnitRegistry()

Therefore:
# Some random user script
from skaero import units as u


Add a preview feature

Maybe we can use the right mouse button to preview the effect of pressing a light button, with the flipped buttons shown as being pressed down. To commit the move, release the right mouse button on the clicked light button. To cancel, release it elsewhere.

I've had a similar idea before. But now that you've implemented moving through the "move-history" we have unlimited undo/redo. There's really no need for a preview, as you can just make a move and just click again to undo it.
Right-clicking and highlighting etc. seems to add unnecessary complexity.

I agree. :)


The prompt for environment name shows up twice (Windows, PowerShell 7)

Small but somewhat annoying
Repro steps
Do azd init -t todo-nodejs-mongo
Expected
Should see the prompt for environment name just once
Actual
After entering the environment name the prompt (and the chosen environment name) is shown again above the next prompt (for location).

Additional notes

azd compiled from sources, commit 1b57d3da69dd51caffc77e4871adb4b32a10a2ef as of morning 8/5/2022
Powershell 7.2.5 on Windows 11 21H2 22000.795
Screenshot from Windows Terminal app, but I have observed this inside VS Code terminal as well

Suspect this is due to https://github.com/AlecAivazis/survey/issues/368 (we use this library).  I suspect that there is a windows specific bug that was introduced (the linked issue has a comment saying when it was introduced, but I have not confirmed)


add a functionality to export result in JSON format #15

Description

Added exportTOJSON function to export result in JSON format file
Added button to export

Related issue(s)

Feat #15

i have rebased it to the repository for latest updates ,and i will take care of the branch (apologies for that) for future contributions. thanks for the support from your side for the pr


Canonical link header does not have https protocol

Hi there,
We've been using PageSpeed (compiled with Nginx) for about 5-6 months now. We've been able to resolve most issues but this latest one has us a bit perplexed.
When an optimized image is served, the Link header has http instead of the expected https protocol. Here is a sample header:
$ curl -I https://media.ourdomain.com/media/catalog/product/cache/1/small_image/270x/9df78eab33525d08d6e5fb8d27136e95/1/8/xaaaaaaaa.JPG.pagespeed.ic.FghrF4nDhC.jpg
HTTP/1.1 200 OK
Content-Type: image/jpeg
Content-Length: 3088
Connection: keep-alive
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Cache-Control: max-age=31536000, public
Date: Sat, 09 Jun 2018 05:51:06 GMT
ETag: W/"0"
Expires: Sun, 09 Jun 2019 05:51:06 GMT
Last-Modified: Sat, 09 Jun 2018 05:51:06 GMT
Link: <http://www.ourdomain.com/media/catalog/product/cache/1/small_image/270x/9df78eab33525d08d6e5fb8d27136e95/1/8/aaaaaaaa.JPG>; rel="canonical"
Server: nginx/1.12.2
X-Original-Content-Length: 4311
X-Page-Speed: <IP_ADDRESS>-0
Age: 471160
X-Cache: Hit from cloudfront
Via: 1.1 xxxxx.cloudfront.net (CloudFront)

What's particularly frustrating is that on occasion, it will have the correct protocol:
$ curl -I https://media.ourdomain.com/media/wysiwyg/header/xzzzzzzzzz.jpg.pagespeed.ic.4MT-YS3siB.jpg
HTTP/1.1 200 OK
Content-Type: image/jpeg
Content-Length: 9573
Connection: keep-alive
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Cache-Control: max-age=31536000, public
Date: Thu, 14 Jun 2018 16:18:39 GMT
ETag: W/"0"
Expires: Fri, 14 Jun 2019 16:18:39 GMT
Last-Modified: Thu, 14 Jun 2018 16:18:39 GMT
Link: <https://www.ourdomain.com/media/wysiwyg/header/zzzzzzzzz.jpg>; rel="canonical"
Server: nginx/1.12.2
X-Original-Content-Length: 9626
X-Page-Speed: <IP_ADDRESS>-0
Age: 40
X-Cache: Hit from cloudfront
Via: 1.1 xxxxx.cloudfront.net (CloudFront)

This logic explicitly enforces the https protocol for the Link header of image assets:
        location ~* ^.+\.(css|js|jpe?g|gif|png|ico|gz|svg|svgz|ttf|otf|woff|woff2|woff*|eot|mp4|ogg|ogv|webm)$ {
            expires 30d;
            access_log off;
            add_header "Access-Control-Allow-Origin"  "*";
            add_header Cache-Control "public";
            add_header Link "<https://$http_host$request_uri>; rel=\"canonical\"";
        }

I believe these are the relevant PageSpeed bits from the Nginx config (there is more) but please let me know if you require any additional information:
    location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
      add_header "" "";
    }

    # This is required for PageSpeed to fetch https assets
    pagespeed Domain           https://*.ourdomain.com;        # not our real domain
    pagespeed Domain           https://xxxxxxx.cloudfront.net; # Actual CDN value edited out
    pagespeed MapOriginDomain  localhost:8080 https://*.ourdomain.com;

    pagespeed RewriteLevel PassThrough;

   # ... CSS and JS filters edited out ...

    # Image filters
    pagespeed EnableFilters rewrite_images;

    # misc. filters
    pagespeed EnableFilters convert_meta_tags,collapse_whitespace,remove_comments;

    # Unnecessary or page-breaking filters
    pagespeed DisableFilters add_head,extend_cache;
    pagespeed DisableFilters convert_jpeg_to_webp,convert_to_webp_lossless,convert_to_webp_animated,recompress_webp;

Is is possible to have any degree of control over this? Or at least some insight into how this might occur?
Thanks in advance.

If CF is terminating https you may need to configure pagespeed to respect the x-forwarded-proto request header


return tls.ConnectionState from quic.Session.ConnectionState()

Hi team, I have found that in v0.11.0 release, we added the change, Return a tls.ConnectionState from quic.Session.ConnectionState().
However, it has been changed back to returning qtls.ConnectionState. Is it expected to have the application to handle the conversion?
Thank you for all your awesome work!

That's correct.
Note that the qtls.ConnectionState gives you access to all fields of the tls.ConnectionState, plus a field to check if 0-RTT was used: https://github.com/marten-seemann/qtls-go1-15/blob/e2848f7418080d3f0e81e80909a25b5e6a23c388/common.go#L297-L301


Problem:  Could not resolve host: github.com exit status 128

Issue
I am able to clone the repo within the container of semaphore but from the task template it fails :
But withing the container i am able to

it says couldn't resolve host name github.com with exit status 128

Impact
Ansible (task execution), Docker, Semaphore Project
Installation method
Docker
Database
MySQL
Browser
Chrome
Semaphore Version
semaphoreui/semaphore:v2.10.23-beta and latest tags
Ansible Version
ansible --version
ansible [core 2.16.9]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/semaphore/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /opt/semaphore/apps/ansible/9.4.0/venv/lib/python3.11/site-packages/ansible
  ansible collection location = /home/semaphore/.ansible/collections:/usr/share/ansible/collections
  executable location = /opt/semaphore/apps/ansible/9.4.0/venv/bin/ansible
  python version = 3.11.9 (main, Apr 14 2024, 13:40:00) [GCC 13.2.1 20231014] (/opt/semaphore/apps/ansible/9.4.0/venv/bin/python3)
  jinja version = 3.1.4
  libyaml = True

Logs & errors
No response
Manual installation - system information
Did docker-compose installation
Configuration
No response
Additional information
No response

Were you able to solve your problem? I have exactly the same problem here.
My semaphore instance is installed directly on my RHEL 9 instance. The Traggic is routed via a proxy server, but if I clone the public Git repo directly on the command line this works without any problems. So I assume that the problem is with the semaphore directly.
11:30:27 AM
Task 12 added to queue
11:30:29 AM
Started: 12
11:30:29 AM
Run TaskRunner with template: Create Switch Config
11:30:29 AM
Preparing: 12
11:32:41 AM
fatal: unable to access 'https://github.com/mmz-srf/ansible-automation.git/': Failed to connect to github.com port 443: Connection timed out
11:32:41 AM
Cloning Repository https://github.com/mmz-srf/ansible-automation.git
11:32:41 AM
Cloning into 'repository_2_5'...
11:34:52 AM
fatal: unable to access 'https://github.com/mmz-srf/ansible-automation.git/': Failed to connect to github.com port 443: Connection timed out
11:34:52 AM
Failed updating repository: exit status 128
11:34:52 AM
Running app failed: exit status 128

I ran the container in wsl2 i prolly think its something related to the network or the git in the semaphore :/

Same issue here, don't know why since some tests works fully on semaphore docker container:

I tried the ssh key and it works too.

I have semaphore and gitea running on the same docker host in seperate containers behind traefik (which is running on the same host as well)
Running a task gives me a 'could not resolve' error for my gitea repo. Resolving it on the semaphore container shell is no problem.


Short solution needed: "Getting random numeric value" (lua)

Please help us write most modern and shortest code solution for this issue:
Getting random numeric value (technology: lua)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments to make solution explained.
Link to this issue in comments of pull request.

Getting random numeric value


Huge amount of requests being sent to Google?

When I'm trying to do a request for a small area there are thousands of requests being made to Google. For instance:
lat1 = 36.150182
long1 = -86.783909
lat2 = 36.152166
long2 = -86.779082
data = populartimes.get(apiKey,["bar"], (lat1, long1), (lat2, long2))
print(data)
I would expect a few calls since there should be at most 20 bars in that area. But in just a few minutes of trying I already hit the error: "You exceeded your Query Limit for Google Places API Web Service"
When I checked the Google console I had a 1000 requests. I upgraded my Google Account to the free limit of 150.000
But it looks like the request above makes at least 1000 requests? What am I doing wrong? Within minutes I suddenly already made 65,000 requests.
I do see correct data coming back, so it's working great. But I would like to just make the right amount of calls to Google to not create a huge bill.

Hey,
this is definitely vastly above the normal amount of requests. I ran the example above locally and only generated about 10 requests.
Could you provide more information on the type of queries that were sent to google (radar or detail)?

The issue here revolves around the way that this library finds data. There is essentially two requests happening 1) there is a "Radar Search" via the google places API, and this finds the businesses in any given area.  This is also the one that consumes the API call resources. The second part takes the businesses returned by the google API call, aggregates them and sends out requests to the google search API (in this case via a maps search). The returned result is then parsed and the results are provided in a formatted JSON. That explained, the reason why you are incurring so many requests relative to the returned results is the fact that the API charges by returned results regardless of whether those requests have populartimes data as such, and especially covering rural areas, there are a  number of businesses that are not large enough to have this data, but still count against the API call limit.
My suggestion is either a) Search incrementally over time, saving results to a database or b) create a fork of  this library that takes in the "place_identifiers" of each business (preferably ones that  you have found give populartimes data) and search those individually at will, sidestepping the API calls altogether.

@Porter97 I don't really understand why my request would generate so many requests. I choose gps coordinates of just a really small part of the city here. When I look at the map there are probably only 13 bars/restaurants in that area.
So I would expect only a number of requests that equals the numbers of businesses in a given area?
Could it be that Google also has a minimum amount of time between requests?
I'm doing this on a 2017 Macbook Pro and I see that Google says in their rules:
**You can exceed the Google Maps APIs web services usage limits by:
Sending too many requests per day.
Sending requests too fast, i.e. too many requests per second.**
Could it be that my requests are being sent too fast?
Not sure though how I could have created 65,000 requests... But in the beginning, when I just started I might have had my gps swapped.

That is bizarre, two quick questions:
What (if any) is the surrounding code? is there a loop function, concurrency, etc?
Also, how long did it take for your script to run?

I don't have any concurrency or loops in my code. (See below)
It only takes a few seconds for my script to run. I see about about 24 times the following below. So I guess there are about 24 businesses in this area and every call fails with the "OVER_QUERY_LIMIT".
I'll already double checked my query limit, but I'm still way below 150,000. So I'm not over my query limit.
Exception in thread Thread-6:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/populartimes/crawler.py", line 104, in worker_radar
get_radar(item[0], item[1])
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/populartimes/crawler.py", line 112, in get_radar
check_response_code(resp)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/populartimes/crawler.py", line 387, in check_response_code
"You exceeded your Query Limit for Google Places API Web Service, "
populartimes.crawler.PopulartimesException: ('Google Places OVER_QUERY_LIMIT', 'You exceeded your Query Limit for Google Places API Web Service, check https://developers.google.com/places/web-service/usage to upgrade your quota.')
Code:
`import populartimes
apiKey = "API_KEY"
def hello_world():
lat1 = 36.140126
long1 = -86.787082

lat2 = 36.153166
long2 = -86.779909

data = populartimes.get(apiKey,["restaurant"], (lat1, long1), (lat2, long2))
print(data)
for location in data:
    if('current_popularity' in location):
        print("Location name: " + location['name'] + " is has current popularity of: " + str(location['current_popularity']))

hello_world()`

Yes that must have been it I guess. After I upgraded the quota to 150,000 I didn't create a new API key. Right now it's working fine :)
One more small question about the number of requests. Does the radar search already filter on type of business (like restaurants)? Or are calls made for every single business within the search area and then filtered?
I would like to request data from the entire city with for instance "restaurants", but if there is a request made for every single business I've to be really careful with the number of times I can do this before I hit the limit of 150,000.

From what I can see it does/should filter by type, limiting t he number of API requests. Be careful with typing mistakes though, capitalization anywhere (as in "Bar", instead of "bar") results in a general (as in no filter search).


editor.inlayHints.fontSize doesn't work

Testing #129381
Family is working but changing size doesn't do anything

More experimenting with this I think any value greater than editor.fontSize is invalid and it reverts to the default, imo it should use the max value in this case instead. And 5 is the minimum, any value below that is set to the default, this should get the same treatment imo.
Can these restrictions get documented in the setting description?


[python] add type hints on train() in engine.py

Proposes adding type hints on train(), as part of #3756.

sklearn-wrapper and hence Dask-package use callables with another signature for custom objective and metric functions

oh interesting, all this time I didn't know that the interfaces were different!
I'll remove those changes from this PR and make them in a separate one.

I'll remove those changes from this PR and make them in a separate one.

Nice plan, thanks!


fixes zoonman//linkedin-api-php-client#51

@zoonman can you merge this?

Hi, @Jaspur , this package has been abandoned by his author. Me and my team forked a few months ago, and we are keeping it updated here, with a composer package already published.
Please, feel free to collaborate in our repo, if you like.
Regards.

Don't have time for this now. Use forks, please.

I'm going ahead and closing this.

I opened it against a master branch. I will likely need to make more commits there and I don't intend to keep pushing more commits into this PR.
Seems that it's not going to get merged anyway.

@zoonman I appreciate the work on this library to date. Since you're not able to continue it--which I totally understand--can I suggest that you choose a well-maintained and active fork and transfer the repo to that person or group? Otherwise, there's a great amount of code fragmentation. People are still finding this library and eventually realizing it doesn't completely work for them, then either having to find one of the 57 forks that does work or making their own fixes. If you hand it off to someone, then that one could be considered the source of truth that's easier to find in searches, and people will resume collaborating on it there.


Meta object interactions

Hi, this is a bit early since it does not have tests and code comments, but I wanted to get feedback from Xiaohong about the kore tests changes and errors - do they make sense?
I don't know how to fix the remaining ones, feel free to add a commit that fixes them (or explain to me how to do it, but it would probably be slower).
To test, run
stack test --no-keep-going --ta --accept

and look at a git diff of the golden files.

@virgil-serbanuta We shouldn't allow variable patterns to be seen as also being of sort #variable. We should stick to the lifting function in the document.

We are not doing that, see the verifySameSort (MetaSort expectedSort) (ObjectSort actualSort) branch of the verifySameSort function.

@virgil-serbanuta I've fixed a few bugs in lambda.kore and imp.kore. They should now pass. Let me know if there's anything failing. If now, we should merge this PR.

@hreada Thanks, it seems to work now!
I cannot merge until @traiansf accepts my changes.


Merge changes from dd-trace-java 0.50.0

https://github.com/DataDog/dd-trace-java/releases/tag/v0.50.0

@devinsba thanks for reviewing!


Adding a very basic openSCAP image scanning job that can be deployed …

…to clusters
@huddlesj @sabre1041

@sabre1041 addressed issues above.

LGTM


nest 9 support

Hi, thx for the pr.
Please bump the major version :)

Any chance this can be merged soon?

Sorry for the late reply. I took some days off and missed the notifications 😬


Update requirements.txt with fixed boto version

… incorporating bug fix for boto bug #3318 per issue #61

Thanks!


IPLSimulationSettings::maxConvolutionSources severely impacts performance

I have been trying to figure out how many sources with convolution could be in a scene and how many with only the direct sound and so on. I noticed that even if there is no convolution effect at all, the maxConvolutionSources value has a big impact on the execution speed of iplGetMixedEnvironmentalAudio. It is fast when set to 0 or 1 or even 5, but higher than that I start getting a lot of cracking independently of the actual number of convolution effects in use.
I would expect this setting to only effect memory consumption (since you need memory for each source to store the samples for a time of irDuration or something like that) and not the speed.
If for some internal reason, this is to be expected, you should mention it in the documentation.

Can you share the relevant portions of code where you're setting up the simulation and rendering settings, and where you're creating and using the Environmental Renderer and Convolution Effect objects? We're trying to reproduce this on our end, and we want to be sure we're testing the same sequence of operations as you have.
Your expectation is correct: the value of maxConvolutionSources should only affect memory consumption, not speed.

After some more investigating it appears that it is mainly caused by not having any convolution effects with the following setup:
This is the rendering setup:
`
_internals->context.allocateCallback = nullptr;
_internals->context.freeCallback = nullptr;
_internals->context.logCallback = nullptr;
	_internals->settings.samplingRate = 44100;
	_internals->settings.frameSize = 512;
	_internals->settings.convolutionType = IPL_CONVOLUTIONTYPE_PHONON;

	IPLHrtfParams hrtfParams{IPL_HRTFDATABASETYPE_DEFAULT, nullptr, 0, nullptr, nullptr};
	iplCreateBinauralRenderer(_internals->context, _internals->settings, hrtfParams, &_binauralRenderer);

`
This is the environment and environmental renderer part, scene can be a valid scene or nullptr:
`
IPLSimulationSettings simulationSettings;
simulationSettings.ambisonicsOrder = 3;
simulationSettings.irDuration = 0.5f;
simulationSettings.maxConvolutionSources = 20;
simulationSettings.numBounces = 16;
simulationSettings.numDiffuseSamples = 512;
simulationSettings.numRays = 64000;
simulationSettings.sceneType = IPL_SCENETYPE_PHONON;
	iplCreateEnvironment(_internals->context, nullptr, simulationSettings, _scene, nullptr, &_environment);	//TODO: 4th paramter should be a scene object for indirect sound modeling
	iplCreateEnvironmentalRenderer(_internals->context, _environment, _internals->settings, _internals->internalAmbisonicsFormat, &_environmentalRenderer);

`
Then I have a callback calling iplGetMixedEnvironmentalAudio every audio frame:
		iplGetMixedEnvironmentalAudio(_instance->GetEnvironmentalRenderer(), 				IPLVector3{ listenerPosition.x, listenerPosition.y, listenerPosition.z }, 				IPLVector3{ listenerForward.x, listenerForward.y, listenerForward.z }, 				IPLVector3{ listenerUp.x, listenerUp.y, listenerUp.z }, mixingBuffer[1]);
In this order, this is all that is needed to make it slow. Setting maxConvolutionSources to 0 or another low value makes it fast/better.
Once there is a convolution effect, a value of 20 is not a problem anymore. Setting it to higher numbers like 100 or more will introduce cracking again.

@Slin Ah, got it. Not creating convolution effects results in an unexpected performance hit. We have been able to reproduce this issue, and will be working on a fix. Thanks!

Closing per "Fixed potential performance issue when using Convolution Effects with custom memory allocator callbacks." in the 2.0-beta.5 release notes.


Can not cancel mwc-tab-bar activated

[x] bug report
[ ] feature request

MDCTabBar:activated event, even though dispatched with cancelable: true in notifyTabActivated, can not be cancelled  - the tab bar does not currently check if was cancelled.
Also need to know if it was activated by the user (by clicking a tab) versus a programmatic activeIndex change. Just like how checkbox and switch have change event that fires when user interacts with them and have checked property that can change independently.

Here's a repro/use case:
<mwc-tab-bar @MDCTabBar:activated="${this._changePage}">
    <mwc-tab id="page1">Page 1</mwc-tab>
    <mwc-tab id="page2">Page 2</mwc-tab>
    <mwc-tab id="page3">Page 2</mwc-tab>
</mwc-tab-bar>

_changePage(event) {
    let pageUri = getPageUri(event.detail); //tab that raised the event is not included in event.detail, need to jump through some hoops to get it
    //invoke page navigation using window.history.pushState/popstate
    this._navigate(pageUri);
    //cancel the event so that previously selected tab remains active
    event.preventDefault();
}

_navigate(pageUri) {
    //something like this...
    window.history.pushState({}, '', pageUri);
    window.dispatchEvent(new CustomEvent('location-changed'));
}
Basically we are using tabs for page navigation where pages have their own tab bars with appropriately pre-selected tab. When user clicks on another tab the app will navigate to the new page, but we need to cancel the tab selection as the page navigated from needs to keep the selected tab intact so that it matches the page.
Thank you

Thanks for the use case! This type of UX isn't supported by MDC or MWC, I'd encourage you to extend <mwc-tab-bar> or <mwc-tab> if you want to add this functionality for your project.
Our recommended UX is for each page to have its own content, but share the same tabs. The content can be switched while the tabs remain constant and maintain their animation/UX when clicking on them.

I am extending mwc-tab-bar and listening to MDCTab:interacted event raised by mwc-tab but it can't be cancelled either. It feels that design of wdc component is not well thought through. Fairly straight forward things such as getting the tab in mwc-tab-bar activate event are not possible #327


feat(eval): optimize virtual polynomial evaluation

In folding, we have to evaluate custom gates/cross terms polynomials for each row $j$:
$$P[j]=\sum_{i}^m c_i (x_i[j])^k, j\in {0,1,...,N}$$
Here $x_i$ corresponds to column $i$ and $x_i[j]$ corresponds to the value  at row $j$.  Assuming $d$ is total degree, we have $$\sum_{i=0}^{m}k_i\leq d$$
Usually, the number of column involved $m$ and the total degree of the multi-polynomial $d$ are small. But the total row $N$ is quite large.

In #155, we used cache to improve the total run time. We can further optimize it in future, e.g. using GPU.

One possible optimization is to: (1) find the maximum degree of each variable of the virtual poly. (2) for each variable x pre-calculate the x^k, for k=1,2,...,d up to its maximum degree. (3) just lookup cache whenever needed.

To save more time, we need minimize the number of multiplications in the expression (i.e. virtual polynomial above). This means we should avoid expand terms as much as possible. To do so, we need redesign part of existing codes:

remove Monomial and MultiPolynomial structure and their implementations
impl #159
impl fn eval for Expression instead of MultiPolynomial by caching intermediate results similar in halo2


Update scripts to use Makefile

A Makefile was recently updated to trivial stuff like build bins, build image, run tests, etc.
We should ideally reuse the same in the scripts where-ever need be.
Listing, not exhaustive:

scripts/deploy-federation.sh
scripts/imagebuild.sh
scripts/pre-commit.sh

Warning: make test fails as of now would need additional steps mapping to scripts/pre-commit.sh to make it pass.

@irfanurrehman Is this issue still actionable?

Yes I see that there still are some items using stuff outside make, which can as well be done using the Makefile.
These "some items" are mostly where building or pushing the image are involved.

/remove-lifecycle stale


added open source saturday badge to readme

Closes #15

Hi @lucAsC87 thank for your contribution 🥇
I've add the Closes #15 to automatically close the issue after merge is done!
If you haven't already done I suggest you to join us on discord, there is a channel just for this repository where you can discuss and get help for other issues https://discord.gg/wr4RTbFMcB


Possibility to configure Netty's Http Client Pool Leasing Strategy

As described here, there are cases where it would be useful to configure a different leasing strategy for the Reactor Netty's Http Client Pool.
I will create a PR for this feature.

Closing in favor of #3575


Reset dataloader end_of_datalaoder at each iter

The end_of_dataloader from the DataLoaderMixin is set to True at the end of an iter, but never reset to False...

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Font color or font background color tag is lost when text is removed

This issue was imported from Closure Library's previous home at http://closure-library.googlecode.com
The link to the original issue is:
https://code.google.com/p/closure-library/issues/detail?id=486

This issue is being closed as a preparation step before archiving the repository.  See the README for more detail.


make comments case insensitive

sometime we write comments with uppercase letter, especially if mobile devices with auto-correction involved.
Make comment body lowercase to react to such comments as well.

Other than the trigger phrase, all of the phrases use regular expressions.  I personally don't think this is a good idea, but if others want it, then we can consider it further.
The better option would be to flag the regex patterns with case insensitivity.

I agree, a case insensitive regex makes more sense.


Bridge mode not working

Hi,
I have odroid Xu4 with USB Realtek Wifi dongle. When I start the create_ap in NAT mode, it works:
create_ap --driver rtl871xdrv wlan0 eth0 mysid mypass
However, when I start the create_ap in the bridge mode, I can again connect my devices (phone, tablet) to the wifi, but they cannot connect to anything:
create_ap --driver rtl871xdrv wlan0 eth0 mysid mypass
To make thing more weird, the address of the phone when connected to the bridged ap is <IP_ADDRESS>. This should not happen, since my network is 192.168.1.x. The address looks like the address obtained from the DHCP server on my odriod device.
Could you help?

Correction: I use -m bridge parameter for the bridge mode.


Support for custom actions on collections

Is there any planned support for custom actions on collections?
Example proposal:

Add a CollectionDecorator base class or add a prop of this.collectionActions to BaseDecorator.
Allow developer to define a custom form to show int the action, then the handler function that will be defined in this.collectionActions will get the params from the defined form. also override to Create new should be allowed. f.e:

Form definition for action:
const fields = [
  {
    field: 'Business Name',
    description: 'Business Name.',
    type: 'Enum', // String, Number, Boolean, Enum or CustomHtml
    enums: ['hi', 'bb'],
    isRequired: true,
    customHtmlField: `<input ...>`
  }
...
]

Action Definition:
const addNewBusinessAction = {
      id: 'publish',
      icon: 'fas fa-share',
      label: 'Publish',
      formFields: fields, //from the top example
      action: (request, response, data) => {
        // request.body Will be filled with form data with the fields defined above
        const { method } = request
        if (method === 'GET') {
          return 'Some content or form which you want to place here'
        }
        return 'PUBLISH ACTION WORKS'
      },
    }
this.collectionActions = [addNewBusinessAction]

UI: a dropdown on top of the collection filled with the custom actions.

YES - we plan to do this next week.

Just updated admin-bro to the 0.5.0 version. It has custom actions for both resources and records.
Check out the example at https://admin-bro-example-app.herokuapp.com/admin/resources/user - there are both resource and record actions.
Documentation can be found here: https://softwarebrothers.github.io/admin-bro-dev/tutorial-05-actions.html


I can't chat

Nice app but I didn't make it to respond like I've been like 1 min fitghing switching between them the app is not responsive like tapping pause but doesn't seem to work here is error file
maidtxt.txt
Edit: here is a video

https://github.com/Mobile-Artificial-Intelligence/maid/assets/140515513/2f5eb09a-f60b-47fb-8b08-bd2befffd35a

Error initializing model: Exception: Model URI is empty
{}

You have to download a GGUF model from huggingface onto your device and load it in if you use the LlamaCPP option.
Prompting with openAI

Did you put in a valid OpenAI API key when you tried this option?

Yeah you can't use it out of the box, you need a model to load into it or have an api key for one of the APIs.
I'll need to add a popup to explain that better though.

Error initializing model: Exception: Model URI is empty
{}

You have to download a GGUF model from huggingface onto your device and load it in if you use the LlamaCPP option.
Prompting with openAI

Did you put in a valid OpenAI API key when you tried this option?

Hey thank you, but when I enter the link i didn't manage to download the API key can you show how to do that?

If your device is powerful enough to run a small local model, then you'll need to download one from the huggingface link, then go the the settings and load the model
If you want to use the OpenAI API, then you need to create an OpenAI account, then follow the instructions on this page to get your API key. This is not a free option, will require you to put in credit card information.
There are other ways to use an OpenAI-compatible API, but that is beyond the scope of anything I can talk about here.


Feature request: Into<std::collections::HashMap>

Many third party crates require the OG.
Sure I can do this:
let mut hm = std::collections::HashMap::<String, String>::with_capacity(env.len());
for (k,v) in env.iter() {
    hm.insert(k.to_owned(), v.to_owned());
}

But it's not as ergonomic as an Into or From.

For Clone-able key-values (less general than ToOwned), you could change your example to:
let mut hm = std::collections::HashMap::<String, String>::with_capacity(env.len());
hm.extend(env.iter()); // using `Extend<(&K, &V)>`

I would expect Into to pass ownership though, in which case you can simply write HashMap::from_iter(env). When using the conversion in an inferrable context, you can write foo(env.into_iter().collect()). Either way, this involves a bit of complexity in rehashing everything, so I don't think it should be hidden behind Into.
However, if raw_entry_mut ever stabilizes, we could possibly do better for conversions that keep the same underlying hasher, because IndexMap also caches the hash values in its internal Bucket. Something like:
impl<K, V, S> From<IndexMap<K, V, S>> for HashMap<K, V, S>
where
    K: Eq + Hash,
    S: BuildHasher,
{
    fn from(imap: IndexMap<K, V, S>) -> Self {
        let mut hmap = HashMap::with_capacity_and_hasher(imap.len(), imap.hash_builder);
        for bucket in imap.core.into_entries() {
            hmap
                .raw_entry_mut()
                .from_key_hashed_nocheck(bucket.hash.get(), &bucket.key)
                .or_insert(bucket.key, bucket.value);
        }
        hmap
    }
}

In theory, IndexSet to HashSet could do the same, but there's no such raw API at all yet.


⚠ ClamAV has degraded performance

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

HTTP code: 200
Response time: 78 ms

Resolved: ClamAV performance has improved in aa504ed.


Can you also update react js to ^15.3.2 so that it will also support to facebook's create-react-app

Problem description
Link to minimally-working code that reproduces the issue

Versions

Material-UI:
React:
Browser:

I have create-react-app latest version working fine with material-ui latest version. What's is your issue?

Currently your package uses react 15.0.0 but the create-react-app is already 15.3.2. The plugin doesnt continue due to version

I'm closing this issue. We rely on ^15.0.0 that takes anything between 15.0.0 and 15.x.x.
It should be working. It seems to be fine with @stunaz. That's most likely an external dependency.
I don't think that have any leverage here.


Players getting error on login if disconnected during login.

What is the output link of /viaversion dump?
http://hastebin.com/tuxivagopo.json
Are you using any additional software like BungeeCord? If so, what software and version? (Please list your plugins as well)
Lilypad
How does this error happen? login? Using an item?
Any circumstance that would cause a player to get disconnected during login (in this case a player being banned)
Is there an error in the console? Use pastebin.com. Is there a kick message?
No
Other information: I grabbed the 0.9.10 version off github and added a line of code into the fixJson() function of the 1_9to1_8 converter to print the json before it is converted and noticed something off -
Picture

Have you tried turning on force json transform in the config?
Otherwise you're not sending json. (Force json transform is our workaround but realistically the protocol is json)

@MylesIsCool That did not fix it, it's still returning this when I attempt to log in:
Error

@VoidWhisperer Get whatever plugin is sending bad json to fix themselves? (LiteBans?)

@MylesIsCool This error is happening with any plugin sending a dis-connect message to the client. Even if necessarily not using JSON.
We've even wrote a plugin ourselves that DC's people with a message to test it.

@MylesIsCool Any plugin that disconnects someone during the LOGIN part of the protocol, before they join the server (IE during asyncplayerpreloginevent) and uses json will result in this error. It's most definitely an issue with ViaVersion.

@danjb2000 @VoidWhisperer If you could provide an example of a crash log / the same output (using the system.outs) as above when using this with proper json it would be appreciated.

@MylesIsCool What output in specific do you want? (Sorry, just trying to clarify.) I can try to get it to you then.

@VoidWhisperer just the printing of the message as well as the code you used to produce it (printing from fixJson())

@MylesIsCool Do you want the code that is setting the kick reason during the asyncplayerpreloginevent or just the modified fixJson() function?

@VoidWhisperer The code for the kick reason + the output of the modified fixJson when used with that code

Going to lock this until it's fixed. The issue is we don't handle the disconnect packet in handshake and we should to prevent bad json from being sent.

Should be fixed now, if any issues just reply


Feature request: Include summary of results at the end of cfn-lint

cfn-lint version: 0.20.0
It would be great it cfn-lint supported a summary of results about the current run, including:

How many files were checked
How many rules failed.

Require flag to enable it.

+1 It would great to get more information at the end of a test. How many rules were checked, how many rules passed/failed. Similar to running an Ansible playbook.

Actually like this one. I've been hacking some counters in the past to find the amount of files processed.... Making it a feature is 🎉

+1 It would great to get summary table showing stats for each error/warning types

@jakrob I've been piping the output into something like this to get the count for rules flagged:
$ cfn-lint template.yaml | grep -Eo '^\w\d+' | sort | uniq -c | sort -nr
  20 W3011
  16 E3008
  16 E3002
   8 E2531
   8 E2001
   4 W2511
   4 W2501
   1 E0000


Custom Short Codes

I'm yet to use this library but I was wondering is Custom Shortcodes being supported? (https://github.com/thunderer/Shortcode/issues/16 "add ProcessedShortcodeInterface and Processor::withShortcodeFactory() (think of a better name) to allow creating custom shortcode objects")

Absolutely, granted this is for Grav CMS, but: https://github.com/getgrav/grav-plugin-shortcode-core

@killrawr this particular point is about being able to use a custom class for internal shortcode objects. You won't need this unless you're deeply changing the way shortcodes are processed inside this library.
Custom shortcodes were supported since the very first version, look here if you need an example of how to register your own handler.

Oh nice! thank you for the replies guys


[WFLY-9089] SecurityIdentity propagation into asynchronous call

https://issues.jboss.org/browse/WFLY-9089
https://issues.jboss.org/browse/JBEAP-11933

Retest this please


1.3.0 no longer connects properly to devices. All show as “no response”

Describe The Bug
Updated today to 1.3.0. Since then all devices come in as “no response” in homekit
was working fine prior
I can get logs if needed
Expected behavior
Working and responsive devices
Logs
Na
Plugin Config
Na
Plugin Version
1.3.0
Homebridge Version
2.0.0
Node.js Version
Na
NPM Version
Na
Operating System
macOS 13

Can you show the logs and provide a list of the devices?

@RaresAil
here are some for now:
devices:
Levoit 200S PlasmaPro ; 400S PlasmaPro ; 600S PlasmaPro
[4/27/2023, 11:11:37 PM] [Levoit] [DEBUG]: [GET DEVICE INFO] Getting device info...
[4/27/2023, 11:11:38 PM] [Levoit] [DEBUG]: [GET DEVICE INFO] JSON: {"traceId":"1682662297324","code":0,"msg":"request success","module":null,"stacktrace":null,"result":{"traceId":"1682662297324","code":0,"result":{"enabled":true,"filter_life":94,"mode":"sleep","level":1,"air_quality":1,"air_quality_value":6,"display":false,"child_lock":true,"plasma":true,"configuration":{"display":true,"display_forever":true,"auto_preference":{"type":"default","room_size":0}},"extension":{"schedule_count":2,"timer_remain":0},"device_error_code":0}}}
[4/27/2023, 11:11:38 PM] [Levoit] [DEBUG]: [GET DEVICE INFO] Getting device info...
[4/27/2023, 11:11:39 PM] [Levoit] [DEBUG]: [GET DEVICE INFO] JSON: {"traceId":"1682662298302","code":0,"msg":"request success","module":null,"stacktrace":null,"result":{"traceId":"1682662298302","code":0,"result":{"enabled":true,"filter_life":94,"mode":"manual","level":3,"air_quality":1,"air_quality_value":26,"display":true,"child_lock":true,"plasma":true,"configuration":{"display":true,"display_forever":true,"auto_preference":{"type":"default","room_size":0}},"device_error_code":0}}}
[4/27/2023, 11:11:39 PM] [Levoit] [DEBUG]: [GET DEVICE INFO] Getting device info...
[4/27/2023, 11:11:40 PM] [Levoit] [DEBUG]: [GET DEVICE INFO] JSON: {"traceId":"1682662299225","code":0,"msg":"request success","module":null,"stacktrace":null,"result":{"traceId":"1682662299225","code":0,"result":{"enabled":true,"filter_life":96,"mode":"auto","level":1,"air_quality":1,"air_quality_value":5,"display":true,"child_lock":true,"plasma":true,"configuration":{"display":true,"display_forever":true,"display_usable":true,"light_detection":true,"auto_preference":{"type":"default","room_size":0}},"extension":{"schedule_count":0,"timer_remain":0,"efficient_mode_time_remain":0,"eco_mode_run_time":0},"device_error_code":0}}}
(node:422) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 childBridgeMetadataResponse listeners added to [HomebridgeIpcService]. Use emitter.setMaxListeners() to increase limit
(node:422) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 disconnect listeners added to [Socket]. Use emitter.setMaxListeners() to increase limit
(node:422) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 childBridgeStatusUpdate listeners added to [HomebridgeIpcService]. Use emitter.setMaxListeners() to increase limit
(node:422) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 end listeners added to [Socket]. Use emitter.setMaxListeners() to increase limit

Can you try to restart the child bridge?

Can you also provide the config file?

Can you try to restart the child bridge?

Done multiple times. As well as the full homebridge. And my computer

{
"_bridge" : {
"port" : 58864,
"username" : "sanitized"
},
"email"<EMAIL_ADDRESS>"enableDebugMode" : true,
"experimentalFeatures" : [
],
"name" : "Levoit",
"password" : "sanitized",
"platform" : "LevoitAirPurifiers"
}

Can you also provide the config file?

{
"_bridge" : {
"port" : 58864,
"username" : "sanitized"
},
"email"<EMAIL_ADDRESS>"enableDebugMode" : true,
"experimentalFeatures" : [
],
"name" : "Levoit",
"password" : "sanitized",
"platform" : "LevoitAirPurifiers"
}

Let's try something, check the config from readme and add the new config variable but as an empty array

Also the MaxListenersExceededWarning warnings, dis they started to appear in 1.3.0?

Also the MaxListenersExceededWarning warnings, dis they started to appear in 1.3.0?

I haven’t run debug before so not fully sure. But I assume they correlate with the error of the plug-in no long showing devices in responsive state

Let's try something, check the config from readme and add the new config variable but as an empty array
"experimentalFeatures": []

Getting a syntax error

fyi this is what I’m getting in homekit

@eoddc5 Try to restart the home hubs, like HomePod or Apple TV, unplug all of them and after that plug them again, i see that this issue is more of Homebridge relateed

@RaresAil I rebooted everything. didn't seem to help
also don't know why I didn't do this earlier, but I fully uninstalled and reinstalled the plugin and set up the configuration again
now its working
only, now I have to wait for the broken devices to remove from HomeKit...they are still showing up as unresponsive, I think its still picking up remnants of the old child bridge

@eoddc5 you have to run a reset on hombridge cache to get rid kf the old ones

@eoddc5 i had the same issue and i found out cause by downgrading homebridge to 1.5.1 everything works, i opened an issue on their side
https://github.com/homebridge/homebridge/issues/3359

oh awesome, ill upgrade!

I checked, they had the bug in 1.6.0 and now is fixed in 1.6.1, they also closed my issue as completed, I hope now it will work correctly


Peg anchor-markdown-header to ^0.5.5

Fixes #81.
Fixes #104.
This version of anchor-markdown-header includes changes that
correctly handle '@' signs in headers.

LGTM even though you'd get that patch automatically since we're using ^.
If it's important please merge to master and I'll publish.

I suppose that's true. Bumping the version like this still has it's advantages:

the commit log signals to maintainers that this specific version is important to us
explicitly bumping the npm version signals on npm outdated that there's a bugfix update


Release name is wrong

I think it is supposed to be v0.1.3, unless there is a missing tag of 0.1.4 and the tag 0.1.3 got overwritten or something.

True. I was just confused and decided to build from last commit from Jitpack thinking there is a tag missing.


Robin of the Wood game

Some images of "Robin of the Wood" are sorted as "Robin of Sherwood... [aka Robin of the Wood]", which is extremely wrong.

Fixed/


Provide Sample GithubAction Workflow

An example workflow to execute the docker image would be helpful to provide, something like:
# This is a basic workflow to help you get started with Actions

name: Prune Code Artifact Repositories

# Controls when the workflow will run
on:
  # Run by default monthly
  schedule:
    - cron: "5 2 * * 1"

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build"
  build:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    env:
      SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
      KEY_ID: ${{ secrets.SOME_KEY_ID }}
      KEY_SECRET: ${{ secrets.SOME_SECRET_KEY }}

    steps:
      - name: Notify
        uses: neoagi/actions-slack-notify@latest
        with:
          action-message: "Pruning NeoAgi AWS CodeArtifact Repositories"

      - name: Execute Pruner Docker
        run: |
          docker run -e AWS_ACCESS_KEY_ID=${KEY_ID} -e AWS_SECRET_ACCESS_KEY=${KEY_SECRET} -t public.ecr.aws/neoagi/neoagi.aws.codeartifact.pruner:latest --domain neoagi --repository neoagi,nuget-store
        shell: bash

      - name: Notify
        uses: neoagi/actions-slack-notify@latest
        if: always()

GHA Doesn't expose a native Cache for Docker Images.  We should include a flow to cache the image for the version.  Steps would be (roughly):
# Save
sudo docker save -o neoagi.aws.codeartifact.pruner-1.1.0.tar public.ecr.aws/neoagi/neoagi.aws.codeartifact.pruner:1.1.0
sudo gzip public.ecr.aws/neoagi/neoagi.aws.codeartifact.pruner-1.1.0.tar
# Invoke Cache Method for the file

# Retrieve
# Invoke Retrieve from Cache Method
sudo gunzip public.ecr.aws/neoagi/neoagi.aws.codeartifact.pruner-1.1.0.tar.gz
docker load -i public.ecr.aws/neoagi/neoagi.aws.codeartifact.pruner-1.1.0.tar
docker run -t public.ecr.aws/neoagi/neoagi.aws.codeartifact.pruner:1.1.0


remove npmRegistry config

I don’t think you use that right now?
https://github.com/tunnckoCore/semantic-release-app/blob/5e2a40f6d232d6ff514a73ada957b6f15cf6366e/src/lib/config.js#L11

We use it here to get the latest version. Currently just depending on the dist-tags.latest

In that case I would remove dependency on the npm registry and load the last release from GitHub tags. As far as I know, npm@5 also supports semantic versions from GitHub tags.
With a GitHub app we have the opportunity to create a language agnostic solution which has no outside dependencies. Once we have that folks can create a "publish to npm" GitHub app which listens to releases on GitHub, for example.

Hm. Pretty good point. I can try to do it that way when get time again, otherwise PRs are welcome.

folks can create a "publish to npm" GitHub app

That sounds great, but is impossible. Actually not possible through the npm api, but may be easy to clone the repo and then publish through the folder, hm.

Yea, but is too much. It's enough and a lot more easier to just have a package as dependency which will (as SR currently do) publish on CI, no matter which one.
That's why i think that once we did great github app for just releases, we can then remove everything related to that from the SR package, which in turn will just do the npm publishing and redirect users to use them both - the github app and semantic-release as devDependency.


Why the Exception happened when i unlock the lock?

Is there something wrong with the way i use the unlock method ?

Fixed in https://github.com/redisson/redisson/issues/4871


Failed to execute 'add' on 'DOMTokenList' for Scrollbar dragClass option

Check that this is really a bug

[X] I confirm

Reproduction link
https://codesandbox.io/s/swiper-dragclass-issue-nhyjzt
Bug description
When using Tailwind with class fields on e.g. Scrollbar's dragClass option, Swiper is assuming a single classname. This should be split on spaces and passed to classList.add as an array.
Expected Behavior
We should be able to pass multiple classes to this, as per #6344 and other related issues.
Actual Behavior
See codesandbox:
Failed to execute 'add' on 'DOMTokenList': The token provided ('left-0 top-0 relative w-full h-full rounded-xl bg-font-tertiary') contains HTML space characters, which are not valid in tokens.

Swiper version
10.3.1
Platform/Target and Browser Versions
Chrome 117.0.5938.149
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a Swiper issue and not a framework-specific issue

Would you like to open a PR for this bug?

[x] I'm willing to open a PR

@themagickoala It seems a line of code was missed when 11.0.0 was launched.


Add bluetooth-proxy configurations

These files are copies of the files in https://esphome/bluetooth-proxies except for updating the dashboard_import url to point to this repo

Can we update the old repo to point their project URL at this repo? That way people will update once from old, and then be updating from new URL


Remove version: Jackett.Jackett version 0.21.1250

404 - release deleted
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/Jackett/Jackett/releases/download/v0.21.1250/Jackett.Installer.Windows.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 918)


Update definitions of subclasses of portion of matter

Description of the issue
Most of the definitions are not Aristotelian, as seen in From the restructuring PR #279.
Ideas of solution
Go through the definitions and make them Aristotelian, maybe directly in a draft PR.
Workflow checklist

[ ] I discussed the issue with someone else than me before working on a solution
[ ] I already read the latest version of the workflow for this repository
[ ] I added this issue to the Project 'Issues'. If suitable, I add it to further Projects.
[ ] The goal of this ontology is clear to me

I am aware that

[ ] every entry in the ontology should have an annotation
[ ] classes should arise from concepts rather than from words
[ ] class or property names should follow the UpperCamelCase

I think we can start this in parallel to other issues because it just changed definitions instead of adding or deleting classes and therefore shouldn't cause merge conflicts?

I'll start a pull request


chore: update deps and typescript config

I changed some config on server.ts, tsconfig.json and package.json to support latest unocss packages.

Thank you.


fix(deps): update helm release sysdig-deploy to v1.66.3

This PR contains the following updates:

Package
Type
Update
Change

sysdig-deploy (source)
helm_release
patch
1.66.1 -> 1.66.3

Release Notes

sysdiglabs/charts (sysdig-deploy)
v1.66.3
Compare Source
What's Changed
Bug Fixes

node-analyzer 3d2c44c3: Bump nodeanalyzer to 1.44.10 (#1975)

Full diff: https://github.com/sysdiglabs/charts/compare/sysdig-deploy-1.66.2...sysdig-deploy-1.66.3
v1.66.2
Compare Source
What's Changed
Chores

sysdig-deploy 01c83d1c: Automatic version bump due to updated dependencies (#1971)

Full diff: https://github.com/sysdiglabs/charts/compare/sysdig-deploy-1.66.1...sysdig-deploy-1.66.2

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

:tada: This PR is included in version 1.3.7 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


JS Engine : what

Describe your bug here. If you are modding, try testing your bug in a clean version of the engine instead. Also, if you're using an older version of JSE, please try the latest version/action build. Also, be sure to check the pinned 'JS Engine: Known Issues' issue, to check if your issue hasn't already been found!
source/backend/CoolUtil.hx:45: characters 19-23 : String has no field trim
source/backend/CoolUtil.hx:48: characters 26-30 : String has no field trim
source/backend/CoolUtil.hx:34: characters 54-58 : String has no field trim
source/backend/CoolUtil.hx:35: characters 12-22 : String has no field startsWith
source/backend/CoolUtil.hx:114: characters 20-27 : String has no field replace
source/backend/CoolUtil.hx:115: characters 14-22 : String has no field endsWith
source/backend/CoolUtil.hx:148: characters 31-35 : String has no field trim
source/backend/ClientPrefs.hx:81: characters 47-48 : Unexpected ;
Command Prompt/Terminal/Crash logs (if existing)
source/backend/CoolUtil.hx:45: characters 19-23 : String has no field trim
source/backend/CoolUtil.hx:48: characters 26-30 : String has no field trim
source/backend/CoolUtil.hx:34: characters 54-58 : String has no field trim
source/backend/CoolUtil.hx:35: characters 12-22 : String has no field startsWith
source/backend/CoolUtil.hx:114: characters 20-27 : String has no field replace
source/backend/CoolUtil.hx:115: characters 14-22 : String has no field endsWith
source/backend/CoolUtil.hx:148: characters 31-35 : String has no field trim
source/backend/ClientPrefs.hx:81: characters 47-48 : Unexpected ;

Have you identified any steps to reproduce the bug? If so, please describe them below in as much detail as possible. Use images if possible.
haxe n'stuff

Are you modding a build from source or with Lua?
Source
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
working on mod
If you use 1.12.0 or earlier, did you have Optimized Chart Loading turned on?
None
Did you check for any similar issues to what you're reporting? Check, then come back here. If there is a similar issue, then do not report the issue, otherwise it will be marked as a duplicate.

That's really rude buddy. You are just blaming the Shadow Mario for one thing that is easily to fix and plus you are probably happy how Psych 1.0 will be the latest Psych Engine version ever made since Shadow Mario is tired from FNF and he cannot handle it anymore, so that's sad for PE users.


Copyright information are missing for packages

If I run a docker pipeline on this image: docker pull redis && docker save redis > redis.tar && gzip redis.tar I am not getting much copyright detected.
Since we only report copyright on file-level detection we are missing out getting them on system and application packages. We should instead be able to get these reported for packages too. The pipeline would need to be updated for that.

We currently seem to have copyright notices for packages (based on a recent Docker image Scan), but we we missing copyright holders in the .json output for packages. "Summarizing" copyright holders from notices is as important for packages as it is for files.

@mjherzog @DennisClark how would you see done? Should we aggregate the copyrights found in the files of a package to the package record itself? what about some notion of primary vs. secondary which is a ScanCode summary concept and SCIO package scan concept but that is not yet a package-only thing in ScanCode Toolkit and may be necessary here?

I prefer the notion of a primary copyright, if it can be determined from one of the "key" files, and a secondary copyright, which would be a combined and normalized collection of copyright holders in the various files of a package.

and if copyrights are simply not there (yes, that happens even when the project is declared to be under some open source license) I like the idea of  "Copyright (c) project-name contributors" where we substitute the name of the project.  That works for me.

First I am just looking for the transformation of copyright notice data to copyright holder data.

Created Issue #631 to cover the specific gap of not providing copyright holder data in the JSON and XLSX Download files for Packages. Keeping this Issue for discussion of how to get copyright data from a package when that data in not provided in the package metadata.


GH2673: Add additional properties for .NET Core 3 publishing features

PublishSingleFile
PublishTrimmed
TieredCompilationQuickJit
TieredCompilation
PublishReadyToRun

Implements #2673

@flcdrg Looks good to me! Since this PR involves more changes than the original issue, would you mind updating the issue to reflect this? That way we will get a correct change log once we release the next version.

Updated issue as requested

@flcdrg your changes have been merged, thanks for your contribution 👍


ncp: Redesign src/ncp.hpp to be more memory efficient

In src/ncp.hpp, we are currently allocating two 1500 byte buffers: one for sending, and one for receiving. This is quite wasteful. There are also several cases where outbound frames might be dropped due to the fact that the device is in the process of sending a previous frame.

Looking a bit into this:

On the inbound direction (rx msg over serial to NCP) we may need to keep a large enough buffer to store the HDLC output. We process the received data from the callbacks so, it's pretty straightforward.
On the outbound direction (tx msg to serial from NCP), I think we can treat the buffer as a circular buffer and allow it to contain more than one msg at a time. We may still drop a msg if there is no room left in the buffer to send.

Also a suggestion about class names and the way they inherit from one another:

We have NcpBase which implements spinel parsing of the messages.
And we have Ncp which inherits from NcpBase and is mainly handling the buffering.

I think switching the roles may be better, basically making the current Ncp the base class, and then have a spinel sub-class (which would implement the current NcpBase functionality). With this, we should be able to avoid abstract virtual methods like OutboundFrameBegin, ... in the base class.
Any thoughts?

On the inbound direction (rx msg over serial to NCP) we may need to keep a large enough buffer to store the HDLC output. We immediately process the received data from the callbacks so, it's pretty straightforward.

The big optimization here I think might be to decode into chunks so that the received data can go right into a buffer instead of staying in an intermediate buffer.

On the outbound direction (tx msg to serial from NCP), I think we can treat the buffer as a circular buffer and allow it to contain more than one msg at a time. We may still drop a msg if there is no room left in the buffer to send.

Circular buffer sounds reasonable, but I think the bar for dropping packets should be higher and the buffer size small---like 256 bytes or so. This limits the size of control traffic somewhat, but that should be OK, we can always increase it later. For IPv6 packets, we have the buffer object which we can keep around until we top off the send buffer for the last time.

Also a suggestion about class names and the way they inherit from one another:

Yeah, I just inherited the naming from the previous protobufs-based NCP code. Suggestions are warranted. :)

I think switching the roles may be better, basically making the current Ncp the base class, and then have a spinel sub-class (which would implement the current NcpBase functionality). With this, we should be able to avoid abstract virtual methods like OutboundFrameBegin, ... in the base class.

I personally think the subclassing is rather unfortunate in this case, and would advocate abandoning that approach rather than swapping the meanings. This is a big rewrite, which is why I've been hesitant to dive in.
The nice thing about the current class structure is that it is pretty straightforward to create a new subclass for supporting a new transport, like SPI.

Resolved with #263, #264, and #329.


Annotate all terms

Add span information to all terms so that we can display more precise errors:

And get very bare bones autocompletion:

Unfortunately, it only works when the whole file parses correctly ;(

This PR changes a lot of core types, so it create conflicts with existing work. I therefore propose to wait until Wednesday before merging.


Config Validator / Checker

Is your proposal related to a problem?

At the moment I don't think there is a safe way of testing config sanity in CICD... I would want a flag on each component (could be shared), that would cause the app to exit 0 if config is sane and non-zero if config has issues OR we could have a separate application for this (maybe like a linter maybe add it to the tool subcommand)?
Describe the solution you'd like

I would want a flag on each component (could be shared), that would cause the app to exit 0 if config is sane and non-zero if config has issues OR we could have a separate application for this (maybe like a linter)?
Describe alternatives you've considered

An alternative approach would be to run the thanos binary and exit after a pre-defined period if no error is caught, this approach can be problematic (and result in false positives / negatives)

Sounds really a good idea. There are lots of possibilities in this area. Some quick ideas: --dry-run mode or an additional tool the check all the configuration. The best way to hook into the flag library to generate all these necessary configuration checkers.
Open questions:

How much do we want to validate?
Configuration files? Types? Syntactic validation? or Semantic validation?
Against which versions?
Dependent flags

cc @bwplotka

Still valid.


fix(cc): discard duplicate partial CCs in ConfigurationCC reports

This PR adds tests for and fixes the symptoms shown in #3368, but there are more gremlins to kill with regards to assemblePartialCCs.
There are a couple big issues with assemblePartialCCs

It always adds an incoming CC to an existing session if one exists. (This PR addresses that, although it needs to be expanded to other CCs).
It never deletes a partial cc session unless it successfully completes.

Number 2 is a big problem. I'm surprised it wasn't noticed earlier, but I guess that very few CCs that are used in normal operation string together partial CCs. TransportCC masks the issue, because its implementation of mergePartialCCs causes the last received partial CC segments to overwrite the segments of any partial CCs that were left over from an earlier failed session.
Properly fixing number 2 is not trivial, at least for the Report CCs that follow the reportsRemaining pattern. I think we need to have timeouts for each session and blocks preventing Get commands from being sent if they match with an active session, because there's no good way to know if an incoming Report is actually from a new session if the node is misbehaving or having communication issues.

IMO, the PR looks good. Regarding the expired sessions, I don't think the fix is that complicated. Each of the sessions is identified by the session id, which is a combination of CC, CC command and sometimes a command specific identifier. I can't think of any situation where multiple of these sessions can (should) be active for a given node, so we could use the start of a new session to clean up all other partial sessions of the same node.
There are two exceptions:

Transport Service, which needs special handling and does not allow cleaning up previous sessions immediately (see comment in handleTransportServiceCommand). We should be able to clean up the partial sessions in handleTransportServiceCommand though.
Those commands where we have nothing to distinguish sessions. But those only have a single entry, so I think the problem is limited.

New CCs won't get this reportsRemaining pattern and will use TransportService instead. So once we've cleaned up what we have, we should be good.

The non-trivial part that I was thinking about was determining the start of a new session for the reportsToFollow CCs.
It's not possible to look at an individual report and determine if it's the first report in the session or a continuation of an existing session. Usually we'll be able to infer that we're starting a new session by checking if the new partial CC advertises more reportsToFollow than the last partial CC stored in the session, but it could be that an old session failed a long time ago after one report, subsequent actions caused the the data that the node needed to send to shrink by one report, and a fresh partial CC comes in that looks like it fits with the really old session (causing corrupted data). If you want to say that such a possibility is remote enough to ignore... I'm fine with that.
For this PR, I will use the following logic:

If the reportsRemaining is exactly one less than the last partial CC in the session, assume it's a continuation and push it on the session as usual.
If the reportsRemaining is the same as in the last partial CC in the session, assume it's a duplicate and drop it but keep the session.
Otherwise, assume it's starting a new session. Clear the existing partial CCs and set this new partial CC as the only item in the session.

Still, I think it is worthwhile to prevent new Get commands that expect reportsToFollow style Report responses from being retried while there is an existing session. Adding that functionality would necessitate clearing stale partial CC sessions anyways.
Finally, I think using the driver function assemblePartialCCs to handle both Transport Service and reportsToFollow -style CCs is complicating things. TransportServiceCC segments end up being tracked in two separate sessions: nodeSessions.TransportService and the generic partialCCSessions. When a Transport Service session fails, it's cleaned up in nodeSessions.TransportService, but not partialCCSessions.

I've updated the PR to clear out sessions when they don't make sense with the newest partial CC. I also added the logic to all CCs with reportsToFollow. I think they should all be identical. Ideally this would be abstracted out into a shared function, but I still think that most of this work should ultimately be scrapped to completely rework the assemblePartialCCs function in the driver.
This does not address bug with non-reportsToFollow style partial CCs (like Transport Service) not clearing out their failed sessions in partialCCSessions.
FYI, I'm going to be on vacation and unavailable to code for the next week. I'll still see messages here though.

It's not possible to look at an individual report and determine if it's the first report in the session or a continuation of an existing session

For most CCs, this doesn't matter. Config params (which started this issue) identify their session by the param number, so if there is a report coming in for an old session with the same ID, it will fit. If it doesn't match, there are bigger problems than corrupted param names. So I'm fine with ignoring that edge case.

For this PR, I will use the following logic:

If the reportsRemaining is exactly one less than the last partial CC in the session, assume it's a continuation and push it on the session as usual.
If the reportsRemaining is the same as in the last partial CC in the session, assume it's a duplicate and drop it but keep the session.
Otherwise, assume it's starting a new session. Clear the existing partial CCs and set this new partial CC as the only item in the session.

I think that's too strict. I've seen lots of cases where single reports out of a sequence got lost, e.g. 17, 16, 14, 13, ... Zooz devices, which send unnecessarily small 4-byte chunks are particularly prone to losing segments.
Though you could argue that those aren't complete and need to be retried anyways.
I agree with your last two paragraphs about the Get commands and separating reportsToFollow and TransportService. TransportService required the more complicated logic, so I made it a separate state machine. reportsToFollow seems to need more sophisticated logic too - maybe it's worth making it into its own state machine.
Also, what's currently missing completely is a refresh for the timeout in SendThreadMachine in the waitForUpdate state. As long as we're receiving new parts of an ongoing session, that timeout shouldn't elapse.

I'm going to be on vacation and unavailable to code for the next week

No stress - I'll be away the week after.


typetests for internal2.2.0 release

Following steps on https://github.com/microsoft/FluidFramework/pull/13340 to update type tests on release branch as well

npm run typetests:prepare
npm install
remove old "broken" annotations in package.json files from previous type tests.
npm run typetests:gen

Looks good. Can you add the commands you ran to the PR description? I think it was:
npm run typetests:prepare -- --reset
npm i
npm run typetests:gen

Nope, I followed exact same steps as Craig did for main branch. Thanks

Looks good. Can you add the commands you ran to the PR description? I think it was:

npm run typetests:prepare -- --reset

npm i

npm run typetests:gen

Nope, I followed exact same steps as Craig did for main branch. Thanks

Ok, in the future the steps I posted should be correct. That will automate the removal of the broken entries.


updateItemsAsync bugfix and optional updating flags

Current coverage is 95.49% (diff: 100%)

Merging #22 into master will increase coverage by 0.01%

@@             master        #22   diff @@
==========================================
  Files            22         22
  Lines          1061       1065     +4
  Methods           3          3
  Messages          0          0
  Branches          8          8
==========================================
+ Hits           1013       1017     +4
  Misses           47         47
  Partials          1          1

Powered by Codecov. Last update e91c937...a3f8943


Add test suite for Golang

Thank you for this simple but beautiful project to get a start with other programming languages. This way I had a funny time trying out the kotlin language.
To thank you I created a Golang variant and wanted to contribute it back to the community. Hope this helpls other people to start with Go. I hope the test suite is good to go. Otherwise please let me know what to change.
Do you also need the implemented solution for this?
Best Regards
Akeshihiro

I moved the source files to the project's root directory to make all that stuff as simple as possible as the project structure is a more advanced topic and should be done afterwards (see https://github.com/golang-standards/project-layout).

Greetings Akeshihiro,
If you have implemented a solution, feel free to add it.
Initially I'd created separate branches for the various solutions. This
is probably incorrect; there should be a singular "solutions" branches
to make things easiest. Someday I will find the time to merge the
various solutions into that single branch. I'm learning Elixir
currently, so perhaps when I add a set of Elixir tests.
Thank you for your contribution!
Cheers,
Jeff
Please visit http://pubmob.com
http://langrsoft.com
Jeff Langr/ Langr Software Solutions, Inc.
http://langrsoft.com +1-719-287-4335
Pragmatic Unit Testing in Java http://pragprog.com/book/utj2
Modern C++ Programming with TDD http://pragprog.com/book/lotdd
Agile in a Flash http://pragprog.com/book/olag
Agile Java: Crafting Code with Test-Driven Development
http://amzn.com/0131482394
Essential Java Style http://amzn.com/0130850861
Akeshihiro wrote on 10/3/20 7:53 AM:

Thank you for this simple but beatiful project to get a start with
other programming languages. This way I had a funny time trying out
the kotlin language.
To thank you I created a Golang variant and wanted to contribute it
back to the community. Hope this helpls other people to start with Go.
I hope the test suite is good to go. Otherwise please let me know what
to change.
Do you also need the implemented solution for this?
Best Regards
Akeshihiro

    You can view, comment on, or merge this pull request online at:

https://github.com/jlangr/name-normalizer/pull/21
    Commit Summary

Create test suite

Disable tests

Describe how to run the tests
File Changes

A golang/.gitignore
https://github.com/jlangr/name-normalizer/pull/21/files#diff-5edb26db64c2c5f73a13c0be23ee370e
(115)

A golang/go.mod
https://github.com/jlangr/name-normalizer/pull/21/files#diff-47592cb60c83cc6b337f58ca671efebc
(3)

A golang/pkg/authornames/main.go
https://github.com/jlangr/name-normalizer/pull/21/files#diff-ea10048d50f79bc78564c86e37a17af8
(7)

A golang/pkg/authornames/main_test.go
https://github.com/jlangr/name-normalizer/pull/21/files#diff-ef04c973847ae026f2016d8c3d453147
(106)
Patch Links:

https://github.com/jlangr/name-normalizer/pull/21.patch

https://github.com/jlangr/name-normalizer/pull/21.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jlangr/name-normalizer/pull/21, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAWIQ3VAXCTZAYFWBPFA2DSI4UG7ANCNFSM4SCVOWCA.