Push images to AWS ECR and have deployment system use those images

We've occasionally hit DockerHub rate limiting, since we pull images unauthenticated.  We don't want CEs to have to authenticate with DockerHub, and colocating our images with the rest of the infrastructure in AWS my provide some speed benefits for deployment.
We'll continue to push images to DockerHub for development work, but will modify the GitHub action to also push images to AWS ECR.  We'll then modify the deployment system to pull images from AWS ECR rather than DockerHub.  As a bonus, this should allow us to use the AWS CLI to find the latest image rather than docker, making the deployment system fully usable from AWS CloudShell and addressing https://github.com/civiform/civiform/issues/5382.

Include a plan for cleaning up old images

Note: Nick introduced a circuit breaker in this PR which prevents the deploy pulling from docker over and over. This is a good bandaid on this issue for now and makes this less urgent.


compressing all the images

Passed all the images through some compression software https://imageoptim.com/mac . The quality of the images should not be affected.

I have read the CLA Document and I hereby sign the CLA

recheck

recheck

Thanks for the PR! I will look into fixing this CLA bot. This is a PITA.
Nevertheless I have an additional request. You have compressed all the images - even the ones in the tests (which should be kept as is). You would mind reverting this part of the PR (I can also do it myself).

@sgenoud No problem, I've reverted all the images in the tests folder.

recheck

Did you try to rebase main (I hope it helps with the CLA issue, it is a pain, sorry)

I have read the CLA Document and I hereby sign the CLA

I have read the CLA Document and I hereby sign the CLA

recheck

After some investigation into why the CLA checks was not working I think I have found the issue.
I think that the email you used with git itself is not registered as one of your emails for @origamifreak2, but for another github account @camden-bassett . Could you merge your accounts, or sign with the @camden-bassett account?
Sorry for these complications!

recheck


[Fix-13409] [Worker] concurrent task response occasional cause status error

Fix #13409

Codecov Report

:exclamation: No coverage uploaded for pull request base (2.0.8-prepare@11466c9). Click here to learn what that means.
The diff coverage is n/a.

@@               Coverage Diff                @@
##             2.0.8-prepare   #13433   +/-   ##
================================================
  Coverage                 ?   20.66%
  Complexity               ?     1603
================================================
  Files                    ?      540
  Lines                    ?    23082
  Branches                 ?     2760
================================================
  Hits                     ?     4769
  Misses                   ?    17821
  Partials                 ?      492

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


WIP: Add keyed blake2

Description
This PR enables the use of Blake2b with a key, a salt or a personalization string in a 'all in one' way.
Changes include

[ ] Bugfix (non-breaking change that solves an issue)
[ ] New feature (non-breaking change that adds functionality)
[x] Breaking change (change that is not backwards-compatible and/or changes current functionality)
[ ] Tests
[ ] Documentation
[ ] Other (for changes that might not fit in any category)

Breaking changes
Additional comments

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

Project coverage is 60.42%. Comparing base (276361f) to head (8e49c3a).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #547   +/-   ##
=======================================
  Coverage   60.42%   60.42%
=======================================
  Files          12       12
  Lines        1660     1660
=======================================
  Hits         1003     1003
  Misses        657      657

Flag
Coverage Δ

unittests
60.42% <ø> (ø)

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

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


Microsoft.AspNetCore.HttpOverrides package is depriciated.

Description
The package Microsoft.AspNetCore.HttpOverrides used in this article is depreciated so article need to be updated to newer package.
[Enter feedback here]
Page URL
https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-8.0&tabs=linux-ubuntu
Content source URL
https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/host-and-deploy/linux-nginx.md
Document ID
815fe034-c9fc-aee3-a8b5-f2e860b30302
Article author
@Rick-Anderson

Hello @yogyogi ... It's only depreciated for direct use. It's part of the shared framework, which is added automatically for the Microsoft.NET.Sdk.Web SDK.
https://learn.microsoft.com/aspnet/core/fundamentals/metapackage-app

OK. Thank you.

I'll go ahead and slap that line on there. I think Rick will like it.


Re-check this

https://github.com/php-openapi/yii2-openapi/pull/4/files

This is correct.
Enum naming is handled in https://github.com/php-openapi/yii2-openapi/blob/3815cb3a64e65f0a9ebdfe78efb7d4b4e86a1628/src/lib/items/Attribute.php#L345


How to read response result in jenkins plugin

Hi
I have noticed that when there are vulnerabilities detected, the build is marked as failed, but it doesnt break it
I would like to have the ability to break the build if the dependency check step returns a failed result
Is there any way i could i read this result? The analyse method doesnt return any value. If not, could it be a good enhancement to return this value?
Here are two examples of an OK and KO execution:
[DependencyCheck] Plug-in Result: Success - no threshold has been exceeded
DependencyCheck] Plug-in Result: Failed - 2 warnings of priority High exceed the threshold of 0 by 2

Hi
Any update on this please?

I don't think this is possible with the current Jenkins plugin structure. Publishers and Builders are decoupled from each other. The DT publisher does not rely on the DT builder and vice versa. So there's really no way to read in the results and utilize the Jenkins recorder functionality in a builder step.
However, you should be able to achieve similar functionality using a shell step in a job quite easily.
After the DC job executes, add a shell step that does something like this:
DCreport=dependency-check-report.xml
SearchString='<vulnerabilities>'

if grep -q $SearchString "$DCreport"; then
  echo Vulnerabilities Found. Breaking Build!!!
  exit 1
fi

I haven't actually tested this, but something similar should work.

Hm... it would not work if I have relaxed the number of errors to break the
build, but it gives me an idea
Anyway it would be a good addition to the plugin to break the build
immediately if the threshold is bypassed. As this is an input data for the
plugin it could be done
I will play with this sh script and let you know
Thanks!
El El jue, 12 oct 2017 a las 22:29, Steve Springett <
<EMAIL_ADDRESS>escribió:

I don't think this is possible with the current Jenkins plugin structure.
Publishers and Builders are decoupled from each other. The DT publisher
does not rely on the DT builder and vice versa. So there's really no way to
read in the results and utilize the Jenkins recorder functionality in a
builder step.
However, you should be able to achieve similar functionality using a shell
step in a job quite easily.
After the DC job executes, add a shell step that does something like this:
DCreport=dependency-check-report.xml
SearchString=''
if grep -q $SearchString "$DCreport"; then
echo Vulnerabilities Found. Breaking Build!!!
exit 1fi
I haven't actually tested this, but something similar should work.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jeremylong/DependencyCheck/issues/900#issuecomment-336277423,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMK55n9dtofQ6vZRXihcJjkDMTiSEjFxks5sroS6gaJpZM4PoYbF
.

Hi
I tested this and it works really well. But i still feel like it is a good improvement for the script
Thanks!


compile problem

Hello!
I tried to compile the eos with the latest version, but it seems can not compile successfully as shown in the following figures.

The boost version is 1.75. should I replace another version for boost, or this kind of problem also proposed by other users?
I hope you can tell me the solution in more details！

Dear patrikhuber! i have fixed this bug, thanks!

Glad you fixed it. I was going to say that this looks like some issue with your local setup (what you're seeing are linker errors).


Remove unused_must_use allow

This is no longer needed because all event messages now return ()!

bors r+

bors r-

bors r+

bors r+


[adobepass] DIRECTV NOW login no longer working

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.09.26. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2018.09.26

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
# youtube-dl --ap-mso ATTOTT --ap-username *** --ap-password *** http://www.usanetwork.com/mrrobot/videos/shutdown-r
[debug] System config: []
[debug] User config: ['--write-sub', '--sub-format', 'srt/vtt', '--sub-lang', 'de,en,deu,eng,de-DE,en-US,en-GB,de-de,en-us,en-gb', '-R', 'infinite', '--fragment-retries', 'infinite', '--socket-timeout', '10']
[debug] Custom config: []
[debug] Command-line args: ['-v']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.09.26
[debug] Python version 3.7.0 (CPython) - Linux-4.18.10-arch1-1-ARCH-x86_64-with-arch
[debug] exe versions: ffmpeg n4.0.2, ffprobe n4.0.2, rtmpdump 2.4
[debug] Proxy map: {}
[USANetwork] shutdown-r: Downloading webpage
[USANetwork] 3630251: Retrieving Authorization Token
ERROR: 0070-We updated our app. Just sign out and sign back into DIRECTV NOW this one time, and you'll be all set!

Description of your issue, suggested solution and other information
Authorizing through DIRECTV NOW to Adobe Pass-powered websites no longer works. Apparently the authorization schema has been changed. The error message also appeared in the browser, but disappeared after a relogin.

Commit 8598dd3 works for me for disneynow, but the PR does not.
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2018.11.03
[debug] Python version 2.7.13 (CPython) - Windows-10-10.0.17134
[debug] exe versions: ffmpeg 3.4.1, ffprobe 3.4.1
[debug] Proxy map: {}
[Go] vdka0_93o4nu1g: Downloading webpage
[Go] VDKA0_93o4nu1g: Downloading JSON metadata
[Go] VDKA0_93o4nu1g: Downloading Provider Redirect Page
[Go] VDKA0_93o4nu1g: Downloading Provider Login Page
WARNING: unable to extract post url; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
[Go] VDKA0_93o4nu1g: Logging in
[Go] VDKA0_93o4nu1g: Confirming Login
[Go] VDKA0_93o4nu1g: Retrieving Session
ERROR: Unable to download webpage: HTTP Error 401: Unauthorized (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "C:\Users\skitheslicer\git\youtube-dl\youtube_dl\extractor\common.py", line 605, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "C:\Users\skitheslicer\git\youtube-dl\youtube_dl\YoutubeDL.py", line 2211, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "C:\Python27\lib\urllib2.py", line 435, in open
    response = meth(req, response)
  File "C:\Python27\lib\urllib2.py", line 548, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python27\lib\urllib2.py", line 473, in error
    return self._call_chain(*args)
  File "C:\Python27\lib\urllib2.py", line 407, in _call_chain
    result = func(*args)
  File "C:\Python27\lib\urllib2.py", line 556, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)

Problem is that the login page differs depending on which network you're trying to download from. I made an additional commit which I thought had fixed it, but apparently it didn't. I'll take another look as soon as I have a subscription again.

Any update on this?

If somebody can provide me with login data, I can still try to fix this. I basically had the fix already, so it shouldn't be too difficult.

@ngdio I have login data for Directv and would like to work with you in getting this working. Can you email me<EMAIL_ADDRESS>or Discord: klexen#5580
Thank you!

I'm still having this issue with version 2019.11.05


Stripping parts of filenames

Is there a reason filename are stripped of some content here: https://github.com/jkphl/svg-sprite/blob/bb19260cda26e63f06db3adc5b0122f1b3b9f02f/lib/svg-sprite/shape.js#L141
When passing full file path to template, you get something along the lines sers/foo/Projects/svg-sprite-test/assets/weather-clear-night.svg, where sers part should be /Users.
Is there another way you can get full file path inside template, and if not, can the shape.id.generator callback be changed to have additional argument which is full file path?

@niksy The .name property is intended to be the relative path of the source SVG inside the base directory where you are globbing / collecting your source files. That's the reason why this.source.base (= base directory) and one trailing path separator are stripped of the beginning of each file path.
In most situations you will have a directory, say /Users/foo/Projects/svg-sprite-test/assets, where all your source SVGs are stored, and you will want the file names to become the CSS class names. Sometimes you might even have sub directories that you will want to become part of the class name. In both cases you should glob and add your files e.g. like this:
require('glob').glob('**/*.svg', {cwd: '/Users/foo/Projects/svg-sprite-test/assets'}, function(err, files) {
	files.forEach(function(file){

		// The vinyl way
//		var f = new File({
//			base: cwd,
//			path: path.resolve(path.join(cwd, file)),
//			contents: fs.readFileSync(path.join(cwd, file))
//		});
//		spriter.add(f);

		// The manual way
		spriter.add(
			path.resolve(path.join(cwd, file)),
			file,
			fs.readFileSync(path.join(cwd, file), {encoding: 'utf-8'})
		);
	});
}

If you do it like this and the .name property is still crippled, then please check whether you you have e.g. symlinks or special characters being part of the file name (so that the length might be skewed). Just a guess ...
Please let me know if this helps. Cheers, Joschi

Hm, this doesn’t fully solve the problem. I’m looking into having full path to file inside template data since I’m using custom template to generate output. Automatic class name generate is really nice in most cases, but for advanced functionality it would be nice to have access to full file object data.

I get that. However, as the base path is constant, it should be easy to pass in a custom ID generator function (which you'd need in any case) that prepends the relative path with the constant prefix (or do with it whatever you like). I don't see the need to provide the full path as argument as you'd always be able to reconstitute it at any time, right? Also, you could always instantiate full File objects of the (prefixed relative) paths in case you need them.  The method itself should be used for advanced processing.

Also, I'm not convinced that the ID generator method is the correct place to introduce additional templating variables. You might look into custom templating functions instead and use the shape ID to reconstitute file properties.

What if I have list of SVG files which are (for some reason) placed in completely different folders and their base path differs?

svg-sprite itself doesn't really care where your files are stored. Have a look at the example I gave above. The spriter.add() method expects 3 arguments:

The absolute file path
The relative file path within the base directory
The file content
The base directory is calculated from 1. and 2. You could try to hijack them and pass in the absolute path for both. It might work for you — cannot test it right now as I'm on my mobile phone only at the moment.

The thing is, I’m passing absolute path for both arguments and then I get the stripping issue :/

Please provide your complete spriter configuration, the file and directory structure of your SVG shapes and the main script you're using to register your SVG files with the spriter. I'll see what I can find out.

@niksy I had a similar issue to yours which I reported here (and accidentally closed) https://github.com/jkphl/svg-sprite/issues/178
The solution for me was to do this,
filearr.map(f => path.resolve(f)).map(f => {
  spriter.add(f, path.basename(f), fs.readFileSync(f, 'utf-8'));
});

@jkphl here is the Gist which you can clone and test. As you can see, foo.json contains invalid paths.

@jkphl Any progress on this?

@niksy This was a tricky one, but I think you will like the solution:
Passing in an absolute path for the second argument when adding a file to the spriter queue is definitely not allowed. The reason is that svg-sprite uses vinyl files internally and some of that library's methods simply fail when no proper base directory is given (which is the case when you pass in two absolute paths). So, please pass your files in a proper format, e.g. like
spriter.add(path.resolve('a.svg'), 'a.svg', fs.readFileSync(path.resolve('a.svg'), {encoding: 'utf-8'}));

To get the absolute file path into your template the generator callback now receives the complete vinyl file object as second argument, so you can do e.g. this to return the absolute file path:
var config = {
	shape: {
		id: {
			generator: function (name, file) {
				return file.path;
			}
		}
	}
}

I hope this helps. Let me know!

@jkphl Yup, this is now working perfectly, thanks!


📜 Dynamic changelog

Add a way to handle changelogs.

[ ] Integration with UCP

Dynamic edition and global viewing

[ ] In game command

/updates pulls in data and displays the latest changelog
List previous changelogs

[ ] Discord command

!updates pulls in data and displays the latest changelog
List of previous changelogs

A changelog is a sum of information about a community release relating to any of its extensions.
Naturally, a changelog would contain the following information:

required Name
required Version
optional Description
required Date
optional Notes
optional Items

In turn, release items are defined as:

required Description
required Type

As for the item types, they are fixed and as follows: New feature, Bug fix, Change.

Consider using an API-generated report that uses the github API.


Organize build steps in azure-pipelines.yml

Build the x64 shell first and then build embedders for targets. This makes incremental builds much faster (37 min to 13 min) although I don't exactly know why.

I'm curious how you found out this.

@bwikbs It was kind of a coincidence. Running the test step prior to the build step has another advantage: we can find out a bug in the code earlier without having to run all matrix builds during PR builds. So I applied it and tested it, and during the process I found it could also reduce the build time.


Cant access several pages

Hi,
From first impressions this looks like a great bug. However, Ive only been using it for a few minutes and have already run into a serious issue. Some pages fail to load properly after setting this as the webmin theme. The page loading spinner just appears and the page fails to load.
This typically happens on the system info page. But it also happens if I run any command from the shell command page.
Also, I am now unable to load the Webmin themes page to return my system to anoter theme. This is really concerning me, as I cant return to anoter theme, and I need to run some commands from the shell page.
If you could look into this issue or at least give me some idea how to reset the theme from the commandline, I can reset it via putty.
Thanks!!!

Alright, actually this is very weird! It's probably your case installation as no one every complained about it. Did you just downloaded it and installed it using Webmin?

You can dismiss loader by clicking on it with right mouse button 2 times;
Type in URL host.example.com:10000/webmin and you will be able to get to configuration module to change your page.
Just in 3 hours I will release a new 9.0.0. version of the theme, that was re-worked completely and should fix all possible bugs.

Tell me if I could help you any further.

wow, Ilia is back! :-D can't wait...
@codeclinic , what distro and what Web/Virt version? did you install Virtualmin by install.sh ? maybe after other system managers?

Hi,
I installed virtualmin via the install.sh on a fresh Azure Ubuntu 14.04 server.
I managed to get back to a crappy interface using the following in putty:

Edit /etc/webmin/config and add the line  theme=mscstyle3
Edit /etc/webmin/miniserv.conf and add the line  preroot=mscstyle3
Restart Webmin with the command  /etc/webmin/stop ; /etc/webmin/start

as found here: http://comments.gmane.org/gmane.comp.web.webmin.general/10230

P.s. for clarity i was able to reach webmin configuration via the gui. However, Webmin Themes would only go as far as the spinner.

and why are you running an old Webmin version?

Im not. I just used the 3 lines identified to edit the relevant files so as to return to a working theme.

It looks like Ive now lost virtualmin as doesnt appear regardless of which theme I use. I only ever get webmin. It looks like creating the symlink to load the theme into virtualmin has somehow killed virtualmin. I followed the instructions given here, to create the symlink. I did it via the command shell, however after pressing execute the spinner appeared and didnt progress. It looks like this is where the apparent damage occurred

Oddly, if i put the webmin theme back to authentic-theme I now regain the link to virtualmin. Odd!

Yes, yes, couple of days ago I fixed this spinner issue with Theme select. Click on loader two time with your right mouse button - loader will go away. Releasing new version very soon.
It will take you far away from all that has been done before far far away very quickly! ;))

excuse me Ilia...
where are the Start and Stop services now... ?
thanks

Do you mean those that were on the right side, under list of virtual servers?

yes, indeed...

Joe proposed to hide it. In default theme it's in System Information page. I will add this in the near future. So far please use Webmin to do that.


Rendering test documentation says to run make

Describe the bug
Old instructions for running rendering tests with make:
https://github.com/openlayers/openlayers/blob/32a701ff65e3a8cf520e35a97a482db3b23dc82c/test/README.md?plain=1#L35-L44
To Reproduce
Steps to reproduce the behavior:

Go to 'https://github.com/openlayers/openlayers/tree/main/test#rendering-tests'
See instructions to run make serve and make test-rendering

Expected behavior
Updated instructions with more detail than at https://github.com/openlayers/openlayers/blob/main/DEVELOPING.md#running-tests

That README should probably just link to https://github.com/openlayers/openlayers/tree/main/test/rendering#readme. I'm going to fix that right now.


Make Tasks optional

Marks Tasks as omitempty, that way they do not have to be set. Without
this change, it is not possible to use just Spec.Play without Spec.Role
when creating an OpenStackAnsibleEE instance.
Signed-off-by: James Slagle<EMAIL_ADDRESS>

wasn't the just Spec.Play x Spec.Role issue fixed by #105?

Let me try that one and see.

wasn't the just Spec.Play x Spec.Role issue fixed by #105?

Let me try that one and see.

If I make this change:
Mon Mar 06 08:41:52 (jslagle@teletran-1) [~/code/github/openstack-k8s-operators/dataplane-operator] (main)$ git diff pkg/util/ansible_execution.go
diff --git a/pkg/util/ansible_execution.go b/pkg/util/ansible_execution.go
index caea50f..f441d66 100644
--- a/pkg/util/ansible_execution.go
+++ b/pkg/util/ansible_execution.go
@@ -77,7 +77,16 @@ func AnsibleExecution(
                        ansibleEE.Spec.CmdLine = fmt.Sprintf("--tags %s", ansibleTags)
                }
                // TODO(slagle): Handle either play or role being specified
-               ansibleEE.Spec.Role = role
+               // ansibleEE.Spec.Role = role
+               ansibleEE.Spec.Play = `
+- hosts: all
+  name: play
+  gather_facts: no
+  tasks:
+    - name: debug
+         debug:
+           msg: debug task
+`

I still get this error:
1.6781100608681657e+09  ERROR   Unable to execute Ansible for ConfigureNetwork  {"controller": "openstackdataplanenode", "controllerGroup": "dataplane.openstack.org", "contr
ollerKind": "OpenStackDataPlaneNode", "OpenStackDataPlaneNode": {"name":"openstackdataplanenode-sample","namespace":"openstack"}, "namespace": "openstack", "name": "openstac
kdataplanenode-sample", "reconcileID": "6a466b45-6415-4193-8c67-3719a4a609d1", "error": "OpenStackAnsibleEE.ansibleee.openstack.org \"dataplane-deployment-configure-network7
bx29\" is invalid: spec.roles.tasks: Required value"}
github.com/openstack-k8s-operators/dataplane-operator/pkg/deployment.ConfigureNetwork
        /home/jslagle/code/github/openstack-k8s-operators/dataplane-operator/pkg/deployment/network.go:49
github.com/openstack-k8s-operators/dataplane-operator/pkg/deployment.ConditionalDeploy


Activity destinations in DestinationsNavHost

Hey,
I was wondering if there is any way to include activity destinations in the DestinationsNavHost like we would in a regular NavHost? I can't see any support for it today, but I don't quite understand why. It seems like the only way to do this is to use a NavHost and manually add all our destinations, instead of doing it with Destinations annotations etc, which seems a bit counter-productive.
For us, we use quite a few Activities today, but are migrating towards using Compose Destinations everywhere. To be able to define destinations for activities instead of using the regular Intent way would be really nice for our migration towards a simpler navigation :)
Simple example use case: Today we have a root navigation with ComposeDestinations defined for a BottomNavigation. However, it's still early in the migration phase, so most of the subpages for each tab take you to a new Activity to handle some detail page.

Hi @maggud 👋
You're saying it could be done in a regular NavHost. How? Are we talking compose navigation NavHost?
If it can be done in compose navigation NavHost, then it can be done with Compose Destinations.
For interacting with screens that live on other activities, I would refactor the activities out for fragments and use fragments inside the Composable (I'm sure you can find examples out there).
Having different activities for different destinations doesn't seem like a good idea to me, and refactoring activities into fragments, shouldn't be too difficult. So I would probably go this way, but let me know if there is actually a way to do this on official compose navigation 🙂

Hey @raamcosta! Thanks for the swift reply!
Yeah, I'm talking about androidx.navigation.NavHost, and more explicitly through the NavHostBuilder:
    navController = navController,
    startDestination = "startDestinationRoute"
) {
    activity("OtherActivityRoute") {
        activityClass = OtherActivity::class
    }
}```

I really couldn't find any good docs on this, and I know it's not ideal, but this would just act as a bridge until we can do it more properly of course, allowing for a bit quicker adoption.

Of course, we could just launch activities with regular Intents, but it would be a lot nicer to be able to make them part of the navigation graph!

For the future, we want to remove all other activities entirely, but that's gonna take some time. Thanks for the idea of doing a middle-step with fragments though! That might be worth taking into consideration, as it removes some need for rewriting a bunch of lifecycle-dependent code :)

Official docs:
https://developer.android.com/reference/androidx/navigation/NavGraphBuilder#(androidx.navigation.NavGraphBuilder).activity(kotlin.String,kotlin.Function1)

Hmmm ok I didn’t know this existed tbh. Thanks for bringing it to my attention.
I’ll investigate and let you know. I seems like something I can easily add to this library

That would be awesome, thanks for looking into it!

Good news and bad news.
Good news: It's done :) Expect it on next release. Sneak peek:
data class OtherActivityNavArgs(
    val otherThing: String,
    val color: Color
)

@SettingsNavGraph
@ActivityDestination(
    navArgsDelegate = OtherActivityNavArgs::class,
)
class OtherActivity: ComponentActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        val args = OtherActivityDestination.argsFrom(intent)
        println("OtherActivity args = $args")

        setContentView(ComposeView(this).apply {
            setContent {
                Column(
                    modifier = Modifier.background(args.color)
                ) {
                    Text("OTHER ACTIVITY")
                    Text("ARGS: \n$args")
                }
            }
        })
    }
}

Imagine annotating the Activity with ActivityDestination, setting the nav args class (if there are nav args) and you're done! More: You can use the generated destination argsFrom method which takes an intent and returns the instance of the nav args class defined in the navArgsDelegate.
AND: you can also annotate any other class or object and specify an activityClass in the annotation if you're targeting an Activity that you don't own or is on another module!
Bad news: It was quite some changes for a very low usage feature 😅 Anyway, it was kinda fun, so no problem. Maybe you can buy me a coffee ahahah (just joking of course, like I said, it was fun exercise 😄 )

Forgot to mention, you can navigate to this just like any other destination with all type safety features we love, for the above Activity:
navigator.navigate(OtherActivityDestination(otherThing = "testing", color = Color.Magenta))

Wow, that was fast!
Thank you a lot for this! I'll make sure to buy you a coffee next time we meet on a conference or something 😄
Is there any snapshot build we can test while waiting for the real release? 🙂

Oh I can release a new version today, no problem ;)

@maggud you can use the 1.x.25 lib versions for this. Let me know how it goes 🙂

I haven’t had time to create the release in GitHub project but it is on maven central 🙂

I work with @maggud and can confirm that this works like a charm! A little late with the actual confirmation here, but I just added this to a legacy Activity in the app and now I can navigate there the same way as with the Compose stuff.
Many thanks!

Thanks for the feedback! Glad to hear 🙂

Open a new issue @dwane13.
You mean that if you don’t specify any ksp arguments, the it works? you can see the generated files?

Well, I tested it and it doesn't work in any case for some reason.

Ok, in that case you might be experiencing the issue with Android gradle plugin 7.4.
this is ksp issue, the workaround is either to bump ksp to 1.8.0-1.0.9 ( needs Kotlin 1.8 though) or to same as this commit:
https://github.com/raamcosta/compose-destinations/commit/9101a1a03794d2974f43131cbf4de810a53262ab

@raamcosta you rock! I have been trying to get you a coffee and couldn't find link in your github :)
would appreciate if you can add a link.
we moved all our navigation code to compose destinations in a day and it's been working so well.
what does this line do in addition to setContent? why not just setContent?
 `   setContentView(ComposeView(this).apply {`


Model API endpoints v2.0

The existing API structure reflects the top-down hierarchy of the actual model. However, there might be use cases where extracting bulk metrics and/or stats might be useful.
Examples:
/metrics/namespaces/{namespace-name}/pods/?label=X&value=Y&start=Z&end=K
returns all metrics of all pods in a namespace that satisfy the specified label:value pair within the optional start and end intervals.
/stats/namespaces/{namespace-name}/pods/{pod-name}/containers?label=X&value=Y&start=Z&end=K
returns all stats of all containers in a pod that satisfy the specified label:value pair within the optional start and end intervals.
Similar top-level endpoints can be implemented, such as /metric-sum/, depending on actual usecases of the model.
\cc @vishh @mwielgus

@piosz: This is a proposal for a more long term API. Kindly take a look.

cc @fgrzadkowski

This will be substituted by metrics API.


SW-3394 Deploy using Tailscale instead of bastion

When deploying to the AWS hosts, connect to the VPC network using Tailscale and
ssh directly to the hosts rather than bouncing through a bastion host.

See https://github.com/terraware/terraware-server/pull/1083 (this is basically the same change as that)


Remove cdeflnx.h

Removed most of it, and moved what was left into cdef.h.

Auto-merge toggled on


add option to ignore linting and types error during deploy

Description
Had a discussion with @carletex about it... sometimes beginners might have a hard time figuring out the correct types / linting errors and it would be handy if we have an option that lets you yolo app quickly
By default its false but if someone want to share a quick demo/poc deployed url it will be nice.
Approach take :
Added a flag to .env.production which by default is false and to ignore errors you run yarn vercel:yolo command which sets this flag to true or manually set  the flag to true and run yarn vercel.
Demo :

^ Here is the SS, vercel skipping both types and linting

We've created a monster. YOLO!! haha
Uncle bob, don't judge us.
We don't need to forget that we are building a tool that (if everything goes well) a lot of people will use to onboard on Ethereum, and some of them won't have TS knowledge, so we want to make their life easier at the beginning, and not let them get frustrated. It's about to find Balance!
This is related to #141 (fixes some of the issues).


Question - Can I run this on existing stats.json file.

Hi,
I have an angular project which generates stats.json file, How can I invoke bundle-stats on that file.
Thanks

@gs-akhan you can use the CLI to generate the report ;)

Cool.
So basically I had to run bundle-stats inside the dist folder and it did the trick, it picked up that stat-json file automatically. thats pretty rad. !!
Thanks


Possible error on YAML file

I think is an error on  configtx.yaml file At AnchorPeers should be  - Port: 7051 instead of  Port: 7051
- &org1

   Name: org1

   ID: org1MSP

   MSPDir: /tmp/hyperledger/org1/msp

   AnchorPeers:
      - Host: peer1-org1
         Port: 7051

- &org1

   Name: org1

   ID: org1MSP

   MSPDir: /tmp/hyperledger/org1/msp

   AnchorPeers:
      - Host: peer1-org1
      - Port: 7051

Actually it is correct... it is a single object with two key/value pairs (Host and Port), therefore one dash is correct.
See the reference example in fabric repository:
https://github.com/hyperledger/fabric/blob/main/sampleconfig/configtx.yaml


Add a help command and generate help messages per command

xflags is pretty great! What bothers me though is that currently the generated help message gets long quickly and doesn't look good. Using the fuchsia help message guidelines and Clap's default help messages I made it so it now generates a help message for each command.
Implemented are:

a help command for each individual command that can be used as help <commands> or <commands> help
Help messages for each individual command, without changing any xflags! macro syntax

Something to note:
Currently, it aligns command/arg/flag docs to 2 space indents + 20 characters. That fits something like -c, --count <count> which is probably good enough for most use cases, but Clap obviously does it prettier where it's the longest command + 2 spaces. There is probably a good way to do this but I couldn't really find something that wasn't collecting everything midway and pushing a bunch of individual spaces to the buffer. Maybe that's fine, I'm not sure.
I've tested this quite a lot and it seems it can't really break, but if you find something be sure to let me know :)
edit: one thing I completely missed is printing help information when an unexpected argument is encountered, I'll fix that up

Oh, it would also be cool to somehow show the help in the examples, so that if anyone thnigs "I wonder how the generated help messages look?", they could look at an example and get a feeling for them. Not sure what's the best way to show that though

And we probably want some dedicated new tests here for parsing --help and help in various positions?

Still quite a bit to do here, don't have time for it now but I'll get to that probably this weekend or next week

Still quite a bit to do here, don't have time for it now but I'll get to that probably this weekend or next week

FWIW, I am quite happy with this more or less as is, without extra tests and wrapping! So, if you'd like, we can merge basiclly this, release pre.1, and iteratte from there. Whatever works for you best!

Sure, do I just bump versions (and maybe revert the help message chaining) and that's it?

Sure, do I just bump versions (and maybe revert the help message chaining) and that's it?

Yup! Although, removing commented-out code would also be nice!

Hi! First of all, this is great! I plan to use xflags in one of my small cli tools and the subcommands help quickly grow over several pages.
I tried this branch with https://github.com/chewing/libchewing/blob/f163e885e1fbaf19e17601a87bdd6fc5b73bd873/tools/src/flags.rs and I noticed that

the auto added help subcommand only works for top level help. app help sub and app sub help both generates the same top level help message.
../target/debug/chewing-cli help dump
Usage: chewing-cli [-h] <COMMAND>

Chewing command-line tools.

Options:
  -h, --help           Prints help

Commands:
  init-database        Create a new dictionary file suitable for system dictionary.
  info                 Display information about the dictionary.
  dump                 Dump the dictionary entries into tsi.src formatted stream.
  help                 Print this message or the help of the given subcommand(s)

the auto added -h flag is not in the sub command's options list.
../target/debug/chewing-cli info -h
Usage: info <path> [-j]

Display information about the dictionary.

Arguments:
  <path>               Location of the dictionary file.

Options:
  -j, --json           Output in JSON format.

Commands:
  help                 Print this message or the help of the given subcommand(s)

I think the second one is minor, since -h is a global option. But the first one it seems the help sub command does not do what the help messages claims to do.
I propose we can split the PR to handle two different enhancements, generate help messages per command and add help sub command.

 Right now ff it encounters help anywhere it pushes --help to the end, similar to what happens when it found help at the start before. I'll be honest I completely forgot about this, I'll fix up the couple of things still left right now

I think this should about seal the deal. Tests look good, and everything seems to work as intended

Ok, let's get that out as a pre-release then! The fix to default cmd can be landed separately!


Scale up static Image and round to nearest pixel to avoid rounding errors

Fixes #12391
Scales up either the image width or image height to fit the extent aspect ratio, then rounds to the nearest pixel.  This replaces scaling only the width either up or down and then rounding the result up which can cause incorrect width when JavaScript floating point tolerance affects the extent aspect ratio.

Thanks for the work on this, @mike-000


Invalid proxy_pass with $upstream variable

Checklist

Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?

Yes

Are you sure you're not using someone else's docker image?

Yes

Have you searched for similar issues (both open and closed)?

Yes

Describe the bug
After proxy host config update, custom locations fails.
Checking the proxy host number.conf before and after the update i can see this difference:
Before:
location ^~ /jenkins/ {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://<IP_ADDRESS>:8080/jenkins/;
}

After:
location ^~ /jenkins/ {
set $upstream http://<IP_ADDRESS>:8080/jenkins/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass $upstream;
}

The same ocurrs with all other custom locations in the proxy host.
Nginx Proxy Manager Version
v2.9.9
To Reproduce
Steps to reproduce the behavior:

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

Expected behavior

With the old proxy_pass http://.... works fine, but with variable set $upstream at begining of the location the proxy don't loads all related paths with custom locations
Screenshots

With new $upstream variable:

With old config or reventing the .conf manually and reloading nginx:

Operating System
Linux AMI
Additional context

Proxy host config files, before and after the last update.
proxy_conf_new.conf.txt
proxy_conf_old.conf.txt

Some info from stackoverflow that could help.
https://stackoverflow.com/questions/46230270/nginx-using-variable-in-proxy-pass-breaks-routing

Unfortunately I am not able to find a way which would allow both the usage of a variable for skipping domain caching and a working and generalizable path inclusion.
As the StackOverflow question also describes, proxy_pass expects a full url if it includes a variable, so no path is added to the host. This behaviour is also described in this article.
I have tried just adding the $request_uri variable to no avail, I've also tried using the regex location name which did not work and would not generalize well, and I've also tried a suggestion from a forum to use rewrite which did not work either.
Unless some fix is found which would fix both this issue and the one described in the commit, we would have to decide which issue is more relevant, either this one or the caching issue. I would personally say this issue is more relevant and to revert commit
https://github.com/jc21/nginx-proxy-manager/commit/6c1ae77a2a40283c5444c2f7e0a7c8227aeecbd2. @jc21
Though the changes added in the commit could possibly also mitigate the issue raised in https://github.com/jc21/nginx-proxy-manager/issues/633.

The changes have been reverted and should be included in the next release when it comes (2.9.13)


Jwt.h on example

Hi... Can you please attach here the example where is located or the library for the jwt code you used ?
Thanks a lo t

Is this regarding this example https://github.com/GoogleCloudPlatform/cpp-samples/tree/main/iot/mqtt-ciotc ?
We use https://github.com/benmcollins/libjwt
You can see how it is downloaded in the corresponding CMake file:
https://github.com/GoogleCloudPlatform/cpp-samples/blob/161e068162a8f97a21011001d20450688979365d/iot/mqtt-ciotc/CMakeLists.txt#L29-L38


Update edition, dependencies and release new version

Test Plan
CI

Looks like
  function multipleResults() public pure returns (uint8, uint8, uint8) {
    return (1, 2, 3);
  }
  function multipleResultsStruct() public pure returns (S memory, S memory) {
    return (S(0, 1), S(2, 3));
  }

no longer shows up in the abi. Could be a bug in ethabi.

You mean https://github.com/gnosis/ethcontract-rs/pull/638 ? We should wait for an update from @sunce86 to decide that. I will keep this PR as is but won't tag / make a release yet so CI will not create the new version yet.

I mean this branch. We currently use it in services because we were waiting for a web3 crate release with EIP-1559 support.
Specifically it contains this PR: https://github.com/gnosis/ethcontract-rs/pull/646

So which PR is supposed to merge that branch? Is it not the one I linked? I'm confused about this situation.
Anyway it seems we can merge this and I will hold off on creating the release.

So which PR is supposed to merge that branch?

I think we need to either:

Rebase #646 onto main
Or merge #638 into main (if it is up to date with what was merged in #646).

Either way, I think you are right that we need to wait for Dusan and we can already merge this (just hold off on releasing).

I changed the settings to make the rust (1.56.1, false, false) required instead of rust (1.52.0, false, false)


test jenkins

It is for testing new public jenkins

test

retest this please

jenkins, retest this please

eee

jenkins, retest this please

jenkins, retest this please


Release 1.4.0

Codecov Report

Merging #526 into master will increase coverage by 0.12%.
The diff coverage is 88.23%.

@@            Coverage Diff             @@
##           master     #526      +/-   ##
==========================================
+ Coverage   87.11%   87.24%   +0.12%
==========================================
  Files          57       52       -5
  Lines        4609     4648      +39
  Branches      501      507       +6
==========================================
+ Hits         4015     4055      +40
+ Misses        435      433       -2
- Partials      159      160       +1

Impacted Files
Coverage Δ

...ure-storage-blob/azure/storage/blob/_encryption.py
90.24% <0%> (ø)
:arrow_up:

...e-storage-queue/azure/storage/queue/_encryption.py
91.48% <0%> (ø)
:arrow_up:

azure-storage-common/azure/storage/common/retry.py
79.77% <0%> (ø)
:arrow_up:

azure-storage-common/azure/__init__.py
100% <100%> (ø)
:arrow_up:

...re-storage-queue/azure/storage/queue/_constants.py
100% <100%> (ø)
:arrow_up:

...zure-storage-file/azure/storage/file/_constants.py
100% <100%> (ø)
:arrow_up:

...torage-blob/azure/storage/blob/blockblobservice.py
91.84% <100%> (+0.08%)
:arrow_up:

...-storage-common/azure/storage/common/_constants.py
100% <100%> (ø)
:arrow_up:

azure-storage-common/azure/storage/__init__.py
100% <100%> (ø)
:arrow_up:

...ure-storage-file/azure/storage/file/fileservice.py
92.79% <100%> (ø)
:arrow_up:

... and 13 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 ff50b8b...f84aee4. Read the comment docs.


How to display a decimal place value????

At the moment, I go to index.tsx line 80, then changed it to return ${valuePrefix}${Math.round(animatedValue.value *** 10) / 10**}${valueSuffix};
Question: is it possible to add a new prop for the decimal digits?

You can add custom progress formats with https://github.com/nithinpp69/react-native-circular-progress-indicator#custom-progress-formatter-function.
#40 adds a new props progress progressFormatter
Will be available from V2.0.7


trixi2vtk fails for AMR result on TreeMesh

I did a Trixi.jl simulation using a TreeMesh and AMR and SaveSolution callbacks. When I try to convert the output files using trixi2vtk, I get:
ERROR: KeyError: key "capacity" not found
Stacktrace:
  [1] getindex(x::HDF5.Attributes, name::String)
    @ HDF5 ~/.julia/packages/HDF5/Ws1wH/src/attributes.jl:374
  [2] #323
    @ ~/.julia/packages/Trixi/16b4d/src/meshes/mesh_io.jl:254 [inlined]
  [3] (::HDF5.var"#17#18"{HDF5.HDF5Context, @Kwargs{}, Trixi.var"#323#340", HDF5.File})()
    @ HDF5 ~/.julia/packages/HDF5/Ws1wH/src/file.jl:101
  [4] task_local_storage(body::HDF5.var"#17#18"{HDF5.HDF5Context, @Kwargs{}, Trixi.var"#323#340", HDF5.File}, key::Symbol, val::HDF5.HDF5Context)
    @ Base ./task.jl:297
  [5] #h5open#16
    @ ~/.julia/packages/HDF5/Ws1wH/src/file.jl:96 [inlined]
  [6] h5open
    @ ~/.julia/packages/HDF5/Ws1wH/src/file.jl:94 [inlined]
  [7] load_mesh_serial(mesh_file::String; n_cells_max::Int64, RealT::Type)
    @ Trixi ~/.julia/packages/Trixi/16b4d/src/meshes/mesh_io.jl:253
  [8] load_mesh_serial
    @ ~/.julia/packages/Trixi/16b4d/src/meshes/mesh_io.jl:246 [inlined]
  [9] macro expansion
    @ ~/.julia/packages/TimerOutputs/RsWnF/src/TimerOutput.jl:237 [inlined]
 [10] trixi2vtk(filename::String; format::Symbol, verbose::Bool, hide_progress::Bool, pvd::Nothing, output_directory::String, nvisnodes::Nothing, save_celldata::Bool, reinterpolate::Bool, data_is_uniform::Bool)
    @ Trixi2Vtk ~/.julia/packages/Trixi2Vtk/rtzWr/src/convert.jl:116
 [11] trixi2vtk(filename::String)
    @ Trixi2Vtk ~/.julia/packages/Trixi2Vtk/rtzWr/src/convert.jl:39
 [12] top-level scope
    @ REPL[2]:1

So, should the h5 files have the "capacity" attribute, or should Trixi not look for it?
It works for non-AMR simulations!

Sure! Just updated it in the original post.

Did you start with a clean state or may there be some other mesh/solution files?

I started the simulations from scratch and wrote to a fresh output directory each time.

Please provide the full set of information when describing a bug like this. In this specific case, I guess you ran the simulation with MPI? Does the same problem occur without AMR but with MPI?

Took a while to double check. It is related to MPI, but not to AMR!
I did the following on rocinante (Ubuntu 22.04) using julia 1.10.0, starting from a fresh directory:
JULIA_DEPOT_PATH=./julia-depot julia --project=.
julia> using Pkg
julia> Pkg.add(["Trixi", "Trixi2Vtk", "OrdinaryDiffEq", "MPI"])
julia> using MPI
julia> mpiexec() do cmd
            run(`$cmd -n 2 $(Base.julia_cmd()) --threads=1<EMAIL_ADDRESS>-e 'using Trixi; trixi_include(default_example())'`)
          end
julia> using Trixi2Vtk
julia> trixi2vtk("out/solution_*.h5")

Yes, that looks like it. Would you like to look into it and prepare a PR?


[FLINK-28609][Connector/Pulsar] PulsarSchema didn't get properly serialized

What is the purpose of the change
PulsarSchema uses readObject and writeObject for customized serialization. But the ObjectInputStream only accepts the first 1018 bytes. We had to remove the custom logic and didn't override the default mechanism.
Brief change log

Add a test for reproducing the bug (Big schema serialization issue)
Change the serialization logic in PulsarSchema

Verifying this change
This change added tests and can be verified as follows:

PulsarSchemaTest.largeAvroSchemaSerialization

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (yes)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

cc @wuchong could you help with reviewing this patch also? It should be a trivial change.

The CI failed on Kafka tests. I don't want to trigger the test again. Since this is a trivial change and tests passed on 1.15 backport. Can we just merge it?

The CI failed on Kafka tests. I don't want to trigger the test again. Since this is a trivial change and tests passed on 1.15 backport. Can we just merge it?

The CI failed on Kafka tests. I don't want to trigger the test again. Since this is a trivial change and tests passed on 1.15 backport. Can we just merge it?

Merging...


Can't add Results column

Hi Fred,
Thanks for this script, it helps save a lot of time.
It works perfectly fine for me except I can't add the 'Results' column from my Facebook Ads Data.
const FIELDS = 'campaign_name,adset_name,ad_name,clicks,impressions,frequency,cpm,actions,cost_per_action_type,conversions'
const FILTERING = "[{'field':'action_type','operator':'IN','value':['cost_per_action_type','offsite_conversion.custom.Results','ad_name','cpm','clicks','impressions','adset_name','campaign_name','frequency']}]"
The ID for the column I want is 'Results' in the Facebook Ads data.
Could you please help solve this problem.
Originally posted by @Angad-Boparai in https://github.com/fredericharnois/facebook-ads-reporting-google-apps-script/issues/9#issuecomment-642587238

Hi @Angad-Boparai!
Moved your question into its own issue.
Results isn't currently defined as either a field or a parameter in action_type by the Graph API.
You can either use the conversions field, which is a sum of all conversion actions or export each action_type you're interested in and replicate the column in Google Sheets.


WifiPasswordReveal: Does not work with passwords containing special characters

Hello,
thanks for this batch.
Your script works only with password that does not contain special characters such as $*÷” etc. Is there any way to provide compatibility with these special characters?
It also works on Windows 10.

More examples:
If the WLAN profile names containing special characters like: Joe's iPhön


Implement Toolkit Reports in React

Github Issue (if applicable): #1386 #1160 #1142
Trello Link (if applicable):
Forum Link (if applicable):
Explanation of Bugfix/Feature/Modification:
This one is gigantic. Complete refactor of reports using React and React Context (still using highcharts).
This is going to increase the size of the extension because of the addition of React but that shouldn't really matter since extensions are stored on disk for users. Next steps before merging this is to make sure all issues marked reports-rewrite should be checked for resolution.

Going to go ahead and merge this just to get it into a more suitable testing environment (beta).


Duplication of some user commands

If a command is available in more than one location in $PATH, then it is listed once for each directory.
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
$ file /usr/bin/aur-comment-fetch
/usr/bin/aur-comment-fetch: Python script, ASCII text executable
$ aur
usage: aur [command]

...

available user commands:
comment-fetch	comment-fetch

The result of compgen should be sorted and made unique: compgen -c aur- | sort -u

Thanks!


Modules should export IAM policies and not roles

When modules expose their outputs, they should provide aws_iam_policy or aws_iam_policy_documents for users, and never only iam_role.
This way, users can mix policies in their own roles or other IAM resources.

This is especially an issue in the persistent-ebs module. In reviewing with @Magicloud, we outlined the following changes:

we want the persistent-ebs module to create the IAM policy it needs (but not the other IAM resources, we need to move those)
we want a new module for the IAM instance profile (moved resources from persistent-ebs module), and made generic
we want to use that new module in the single-node-asg module, passing it the IAM policy from the persistent-ebs module

EDIT: I meant to put the last comment in #48, not this ticket, sorry for the noise.

Different IAM modules present (which may need to be updated):

[ ] cloudwatch-exporter-iam
[ ] ebs-snapshot-iam
[ ] external-dns-iam
[ ] iam-group
[ ] iam-users
[ ] kube-controller-iam
[ ] kube-worker-iam
[ ] scale-asg-iam-policy


feat: #2380 - autocompletion for emb codes, labels, categories and countries

New file:

autocomplete.dart: The default Material-style Autocomplete options.

Impacted files:

simple_input_page.dart: now using an autocomplete widget for whoever supports it.
simple_input_page_helpers.dart: new method in order to get the TagType for autocompletion.

What

Autocompletion for emb codes, labels, categories and countries

Screenshots

Fixes bug(s)

Closes: #2380

Thank you Marvin! Please merge it now, I can't for the moment.

De : Marvin Möltgen @.>
Envoyé : mardi 5 juillet 2022 15:49
À : openfoodfacts/smooth-app @.>
Cc : monsieurtanuki @.>; Assign @.>
Objet : Re: [openfoodfacts/smooth-app] feat: #2380 - autocompletion for emb codes, labels, categories and countries (PR #2506)
@M123-dev approved this pull request.
LGTM
—
Reply to this email directly, view it on GitHubhttps://github.com/openfoodfacts/smooth-app/pull/2506#pullrequestreview-1028671630, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACYKI32NG5ASSWVUTYVB7EDVSQ4P7ANCNFSM52WCCNPA.
You are receiving this because you were assigned.Message ID: @.***>

Merging


fix argument name in docstring

changes 'included_tags' to 'include_tags' in TestSuite.configure() docstring

Good catch!


Remove hour and minute from newsletter

The original design had manual input for when to publish this.
They can now be removed.
From PR
What are hour and minute here for?
Originally posted by @jonafato in https://github.com/kjaymiller/Python-Community-News/pull/48#discussion_r960219798

resolved in PR #76


Add LICENSE file and AUTHORS file

The license of this project is MIT according to setup.py, added by the original author @dstegelman.
To make this more obvious (and follow recommendations on GitHub) we should add a LICENSE file in the project repository root. An AUTHORS.rst file would also be nice to acknowledge contributions.

Awesome idea

Done.


Calculator to add, sum ,multiply and divide

Is your feature request related to a problem? Please describe.

I want to add a calculator for the addition, subtraction, multiplication and division of two number in general math section.
This will be created by using JavaScript .

This is already implemented in the Calculator, which is on the main home page


Added unit test cases for mqtt_generic.c

Welcome to Codecov :tada:
Once merged to your default branch, Codecov will compare your coverage reports and display the results in this comment.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Keybinds don't work properly when ssh-d to WSL from Windows.

Contour Terminal version
Contour Terminal Emulator <IP_ADDRESS>88
Installer source
Github: source code cloned
Operating System
Windows 11
Architecture
x86-64
Other Software
No response
Steps to reproduce
Connect from Windows via SSH to WSL.
Expected Behavior
No response
Actual Behavior
Keybinds don't work properly, e.g. my ctrl+space tmux prefix is not picked up, contour's own ctrl+shift+v paste doesn't work etc. Typing is okay, special character that need Alt or Shift are also okay.
Additional notes
No response

Seems like it was a duplicate, fixed.


Peek definition window allows edits that appear next time I peek or go to definition

SQL Operations Studio Version: Windows 0.26.7

Steps to Reproduce:

Create a new query on a table
Peek Definition on the table
Edit inside the Peek Definition window and change the table def query, then close the peek def window (this creates a new unsaved query file)
Open a new query window and peek definition, or go to definition on the table again, and it opens the edited version of the definition even though you didn't save or actually update the definition.

Being able to quickly edit the definition and have it create the new .sql file is cool. But the way it behaves on subsequent peek/go to definition shouldn't include these changes until I execute the query and actually change the definition.

Dupe of Issue 924 - just noticed this after I saved.


Add an environ flag to load an alternative PortAudio Windows binary compiled without ASIO

This PR provides a very simple and minimal workaround for loading an alternative PortAudio Windows binary compiled without ASIO, to address issue #496. Since this issue only affects Windows, as far as I know, no changes have been made to the other platforms.
An alternative PortAudio binary will need to be added to the _sounddevice_data repository (e.g. named libportaudio64bit-noasio.dll). It will then be bundled like the other binaries in the built package and can then be used instead of the default using the os.environ["SD_WIN_DISABLE_ASIO"] flag.

Hello @arkrow! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file sounddevice.py:

Line 78:80: E501 line too long (83 > 79 characters)

Thanks for this PR!
I was hoping for a more general solution for choosing the DLL/dylib/so, similar to how it was discussed in #130.
But before even going down the environment variable path, I would like to know how ctypes.util.find_library() would find a user-provided DLL without having to use an env var.
I know that this works on Linux and I assume that it works on macOS as well and it would be good to know how to make this work on Windows as well. Maybe that would already be enough for selecting a custom DLL?

I was hoping for a more general solution for choosing the DLL/dylib/so, similar to how it was discussed in #130.

I think the most promising approach would be building libportaudio as part of the wheel build process, as mentioned in #130, and accepting ASIO as a flag in package extras as I mentioned in #496. If that can work on all systems without additional prerequisites, that would be the ideal solution. If I can get the solution up and running, I'll open a new PR.
Alternatively, as part of the suggested solutions in #130, I've opened a PR (#499) that loads a user-specified PortAudio binary during runtime, which is more general than this PR and has been requested by other users.

But before even going down the environment variable path, I would like to know how ctypes.util.find_library() would find a user-provided DLL without having to use an env var.

That would be difficult to do dynamically (without hard-coding) unless the values is retrieved from somewhere, which is why os.environ is a viable and often used approach. os.environ is also not permanent and its scope extends to the current python process only, avoiding any problematic PATH changes, so it should be safe to use on all platforms.

That would be difficult to do dynamically (without hard-coding)

Do you mean hard-coding the absolute path to the DLL?
What about just hard-coding a file name?
According to https://docs.python.org/3/library/ctypes.html#finding-shared-libraries:

On Windows, find_library() searches along the system search path, and returns the full pathname, but since there is no predefined naming scheme a call like find_library("c") will fail and return None.

So if you put a correctly named DLL somewhere into the system search path (whatever that means exactly), it should be found, right?
Do you know what the system search path is?
In case this hasn't been obvious already: I'm not a Windows user, so you can assume zero knowledge from my side.

See my comment https://github.com/spatialaudio/python-sounddevice/issues/496#issuecomment-1902706025
This doesn't provide an environment variable, but it involves downloading the appropriate DLL, renaming it and moving it into a specific folder.
I think that would still be easy enough for the (few?) people who need ASIO, what do you think?

In #539, I'll switch to DLLs without ASIO by default. This also adds documentation for how to download and use DLLs with ASIO, if needed.
I think this makes this PR obsolete, right?

Since the default behavior is without ASIO, this PR is now obsolete. Though it's inverse can be considered if both binaries are to be shipped together and enabled conditionally; that might be a good middle-ground for developers depending on ASIO support with this library. That said, the PR will be closed for now.


Comment apikey

As in eggjs , we have a config merge , it it not possible to enable security without apikey , for instance we have no apikey security but we have oAuth

Please accept the PR


Link C++

The library requires c++ stdlib, which is on some platforms not included by default

Thank you!


[BUG] Content Skip

Suddenly skipped to next content when I open and close the keyboard (3 times in row) without any tapping on the content. I just open the keyboard via TextField and close it using DONE action in KB.
I will share screen record below, I hope you can view it...
https://drive.google.com/file/d/1o7zPy_pY-viN1C0qGuiimtpI8yTic1Rm/view?usp=sharing

This bug was due to the stopwatch not being reset during pauses and issue fixed in version 0.2.0 . Thanks for your feedback, again 🥇


Generate a single JSON schema

Resolve all references in-situ so JSON schema validation doesn't need to.

Addressed in PR#16


Yubico Authenticator opens outside monitors and can not be accessed

Thank you for opening an issue! If this is a bug report, please include the
following information:

Yubico Authenticator version: 4.3.2
Operating system and version: Windows 10 pro
YubiKey model and version: Neo
Bug description summary:

Yubico Authenticator opens outside monitors and can not be accessed anymore.
Steps to reproduce
I am using two 4k monitors with a resolution of 3840x2160 each, where 2 is my main monitor.

When opening Authenticator for the first time it is centered on my main monitor 2. I can move the Authenticator on monitor 2 and close it. Evereything works as expected and the settings are store in the registry as follows:

Problem: When i move the Authenticator to my monitor 1 and i close the Authentcator on monitor 1 i am not able to see it anymore. I can see Authenticator starting and that it seems to be left outside of monitor 1. Following settings are stored in the windows registry:

Expected result
I expect that Authenticator to open at monitor 1 (on same location where i closed it) next time i start the application.
Actual results
Authenticator opens outside left montior 1. I can not see it and can not use it. I need to manually delete the registry settings in my windows registry.
Other info
Great work and a great tool so far :-) Hopefully this description can help solving this issue. I can test your fix, if there will be one.

Hey,
Thanks for letting us know about this issue.
Do you have the same scaling setting on both monitors? For example, are they both on 100%? Or is one on 150%, for example?

@fdennis Both of my montitors are runnig at 200%.

@legacycode Thanks! Seems like scaling is causing the issue. We will look into this once again.

@legacycode @xetolosch91 Could you please check if you get the same issue with the latest release, 5.0.2?

@fdennis i can reproduce this error with the 5.0.2.

having this issue now on windows 10

@marvinej Can you share more details? Does this always happen? How many monitors do you have? Can you solve it?

I have 3 monitors 2 4k and a single 1080p
yes, it always happens.
The only workaround I have is to shift right click and select maximize
every time I open the program.
Respectfully,
Eli Marvin
On Tue, Nov 10, 2020 at 3:19 AM Dennis Fokin<EMAIL_ADDRESS>wrote:

@marvinej https://github.com/marvinej Can you share more details? Does
this always happen? How many monitors do you have? Can you solve it?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Yubico/yubioath-desktop/issues/241#issuecomment-724541240,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHS26BWUNSA6XRUCQ7KR4DSPDZPNANCNFSM4ENHY5RQ
.

@marvinej Can you describe what exactly is happening? What OS are you running?


Camel Case to Snake Case converter

I can submit a code converting camelCase to snake_case, taking the numbers into account, and using REGEX.

Go ahead @Mrk-Mzj


Generic IP camera snapshot and record services not working

Home Assistant release with the issue: 0.99.3
Last working Home Assistant release (if known): N/A
Operating environment (Hass.io/Docker/Windows/etc.): Hass.io running on RPi3b+
Integration: Generic camera
Description of problem:
I have Generic IP webcam setup and it works just fine. I want want to take a snapshot or record video clip at certain events. However, the services do not produce any output - there are no error messages, the dirs are listed in the config under whitelist_external_dirs, but nothing is saved.

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
  whitelist_external_dirs:
    - /tmp
    - /config

# Camera
camera:
  - platform: generic
    still_image_url: https://<IP_ADDRESS>/cgi-bin/currentpic.cgi
    stream_source: rtsp://<IP_ADDRESS>:8554/unicast
    username: user
    password: !secret camera_pass
    verify_ssl: false

Traceback (if applicable): N/A
Additional information:

Never mind ... :) It works


[zh-cn] fix some 404 issues

Modified those links, which cause a 404 page, by syncing with the en version.
Preview: https://deploy-preview-35075--kubernetes-io-main-staging.netlify.app/zh-cn/docs/concepts/architecture/nodes/

Thanks.
/lgtm
/approve


Update: Model rendering on client but not on server

Update:
Model won't load on server but when I take the original model it works. Also, it won't load under all conditions. I tried everything and I don't really want to redo it from the beginning. The update didn't do anything.
My model on my view :

Me on my friend view :

Original model :

Originally posted by @xArkailzx in https://github.com/tom5454/CustomPlayerModels/issues/170#issuecomment-1030827401

Check your gist, I checked your skin model and it gives a missing gist error.
Also ask your friend to open the Gesture gui [G]/Social Settings and click on your name, it may give an error message.


Privacy aware unique visitor tracking with HyperLogLog

Currently, we track the number of views per project using ahoy gem. This requires storing user ip addresses(optional), user agents and other user data in the database. This isn't ideal due to the following reasons

As the organisation we would like to track minimum information as possible to get the software working, we don't sell data.
Storing visit details in the database is neither computationally nor storage-wise effective.

Proposed solution
Use HyperLogLog to calculate the number of views. This won't give the exact number of views, but that is more than enough for our use case.
Constraints

We need to keep the development environment simple as possible for a new contributor
System should be backwards compatible. The existing view count should be added to the new system,

Potential solutions

https://github.com/ankane/active_hll
https://redis.com/redis-best-practices/counting/hyperloglog/

I am interested in this issue, ready to work if it is free.

This issue will be assigned only after we have proper solution in place.
You can brainstorm your ideas here.
On Mon, 6 Feb, 2023, 8:15 pm Vaibhav Upreti, @.***>
wrote:

I am interested in this issue, ready to work if it is free.
—
Reply to this email directly, view it on GitHub
https://github.com/CircuitVerse/CircuitVerse/issues/3541#issuecomment-1419198696,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXYAECL2WXMAQWC57M4SX3WWEFBFANCNFSM6AAAAAAUSX6WYU
.
You are receiving this because you authored the thread.Message ID:
@.***>

For starters we can have two tables

Event Rollup:

Event buckets to count views everytime a user visits various pages(groups page, profile page, contest page, simulator)
Purpose of various events would be to store data to determine how popular are circuitverse's different features

visitor_ids : hll field to count unique views
event_bucket : daily each bucket will be created for various paths. eg: ref pic
time_bucket: stores date of creation

The idea is to use active jobs to create these event buckets daily and add visitors daily, these stats can be queried to count views and grouped with gem to count monthly, weekly, yearly views for statistics.
Single query to create an event bucket...
 EventRollup.hll_upsert({event_bucket: "group_#{Date.current}", visitor_ids: current_user.id})

After creating the bucket, visitor_ids can be added using the correct hash function.
hash functions
There are mainly two hash functions that are suitable for our use case and which will result in minimum collision.
hll_hash_bigint() - for signed in users, we will use unique user_id so there wont be any collisions(because of same userid, however per visit in same day these will be handled by the hash function).
hll_hash_text()- for signed out users ... will use another way to identify signed out users, ip, browser type , etc
 EventRollup.where(event_bucket: "group_#{Date.current}").hll_add(visitor_ids: current_user.id)

different query incase user is signed out.

These stats can then be Queries to get a day/ week/ month/ yearly data
The time buckets can be grouped and stats can be presented using groupdate gem.
EventRollup.where(time_bucket: 30.days.ago.to_date..Date.current).hll_count(:visitor_ids)
EventRollup.group_by_month(:time_bucket, time_zone: false).hll_count(:visitor_ids)

Project View

For projects we can have the time buckets too to include various stats like to display most viewed projects daily, weekly , monthly , yearly to get most viewed circuits but for starters I thought of another approach.

project_id: same as project_id of Project model
visitor_ids: hll field to count unique users.

After user creates a project, ProjectView is created and add author's view by 1
ProjectView.hll_upsert({project_id: @project.id, visitor_ids: current_user.id})

Adding view count
ProjectView.where(project_id: @project.id).hll_add({visitor_ids: current_user.id})
# different query for signed out user

Determining unique :visitor_ids
The part about creating the buckets is sorted... however it needs more research on improvising input to the hash function.
Like determining how to map signed out users
Eg using ip address, geolocation, etc using scripts or other gems
migrating old views
This task is fairly simple ... can be done using upsert_all to map the values. Neatly documented in the gem docs

It seems that you used active_hll gem. One issue with this is that we need to compile hll extension with postgres. It can be tricky since we need to support Linux, Mac and Windows(with or without WSL). We need to keep development setup easy for new contributors.
Also, we should be dropping ahoy gem with this change

Event buckets to count views everytime a user visits various pages(groups page, profile page, contest page, simulator)

We can restrict the scope to unique views per circuit(aka project). No need to generalise the implementation for the time being

It seems that you used active_hll gem. One issue with this is that we need to compile hll extension with postgres. It can be tricky since we need to support Linux, Mac and Windows(with or without WSL). We need to keep development setup easy for new contributors.
Also, we should be dropping ahoy gem with this change

Sure, then ig using redis hyperloglog will be suitable for our case ?

Sure, then is using redis hyperloglog will be suitable for our case ?

I don't have an answer for that yet, we need to research maximum possible approaches and their tradeoffs before making the decision.

So it seems like redis is a great option to consider:

developer friendly( no installation of psql hll extension)
quite simple and well documented logic

To implement this we have two fields project.id and hll field req_id(request id).
For each unique @req_id we pfadd it to the db.
# initialize redis instance
    @redis = Redis.get(host: "localhost")
    @req_id = request.user_agent

# add also while creating a project
<EMAIL_ADDRESS>@req_id)

This can be queried using:

View count can be queried using project id in views as shown below:
<%=<EMAIL_ADDRESS>%>

Better @req_id hashfunction
It would be better to implement it using browser cookies like it is implemented in Ahoy gem, without storing any data in database.

@tachyons since there are more than 50k circuits in circuitverse, would it be feasible to store each project view count mapped to project_id in Redis?
This is the one concern for using redis for hyperloglog(although redis is faster). We will have 50k+ rows in our redis dump.rdb, is that suitable for production? Do you think this will this be suitable for our case or we would need to store hll in postgres field only?
Wanted to know your opinion on this.

We have around 5 lakh circuits, So the count will be higher

Two issues with redis based approach are

Memory consumption
Can't query from SQL

@tachyons
How about using Redis HyperLogLog just as a cache for recent views and then periodically moving the totals to PostgreSQL? This could keep Redis light and still let us do SQL queries for older data. Maybe we could even track only the top-viewed circuits in Redis to save memory. What do you think?


WIP: Performance Improvements

I'm opening this PR to start working on the performance issues raised in #654. The issues identified are:

[X] .md-tabs-wrapper has a width: 9999em property.
[ ] excessive layers created by md-ink-ripple.

I don't have much experience digging into rendering performance on web pages, but so far I've removed the width:9999em property from .md-tabs-wrapper and that seems to have made a significant performance improvement (measured with the FPS tool in chrome, and simply visually). I can see no visual difference to the tab's appearance or animation in Safari, Chrome, Firefox (latest versions of each, Mac OS and Ubuntu 16.04.) It's simply smoother.
@marcosmoura: Can you give some history to why such a huge width was required, when you're already setting it to be absolutely positioned?
@pablohpsilva, @sandhose: If the two of you would like to help with testing, that'd be great. I'd love to tackle the ink ripple issues, but that will take more time than I have at the moment.
All: Consider this mostly a request to make a plan and to start discussing improvements. This PR is a very small start. I will update performance issues in the task list as we find them.

I would love to @Morgul
Count me in. Fell free to ping me on gitter or even here. I'll test it when you tell me to. :D

@pablohpsilva feel free to test the tabs change. Let me know if you see any difference in performance. I also need to test mobile... Amy hero with that would be appreciate as well.
The ink ripple will be the big one, but not quite ready to tackle that yet.

I completely forgot to tell you that I had improvements with this single change @Morgul
I'm really really sorry :(

@pablohpsilva So, my thoughts are that we should merge this fix, and revisit the ink-ripple.

Done, my friend.


tags setting/.tags file ignored in manifest mode

The docs for the manifest plugin list tags as an optional setting for manifest (not spec) mode. And in spec mode, a .tags file is read, and populates tags.
My expectation would be that either of these would add onto the list of tags specified by the target setting in manifest mode. However, it seems both tags setting and .tags file are ignored in manifest mode.
Example sanitized .drone.yml:
---
kind: pipeline
type: docker
name: publish amd64 image

# default autoscaler node is arm64

steps:
  - name: publish app image
    image: plugins/docker
    settings:
      dockerfile: Dockerfile
      registry: our.private.registry
      repo: our.private.registry/this-thing
      tags:
        - build-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}-${DRONE_BUILD_NUMBER}

depends_on: []

---
kind: pipeline
type: docker
name: publish arm64 image

node:
  arch: arm64
platform:
  os: linux
  arch: arm64

steps:
steps:
  - name: publish app image
    image: plugins/docker
    settings:
      dockerfile: Dockerfile
      registry: our.private.registry
      repo: our.private.registry/this-thing
      tags:
        - build-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}-${DRONE_BUILD_NUMBER}

depends_on: []

---
kind: pipeline
type: docker
name: publish manifest

# default autoscaler node is arm64

steps:
  - name: publish
    image: plugins/manifest
    settings:
      target: our.private.registry/this-thing:build-${DRONE_BUILD_NUMBER}
      template: our.private.registry/this-thing:build-OS-ARCH-${DRONE_BUILD_NUMBER}
      tags:
        - latest-${DRONE_BRANCH//\//-}
        - ${DRONE_COMMIT_SHA:0:8}
      platforms:
        - linux/arm64
        - linux/amd64

depends_on:
  - publish amd64 image
  - publish arm64 image

I’ve also tried generating a .tags file for the publish manifest.publish step. The results are the same either way:
latest: Pulling from plugins/manifest
Digest: sha256:...
Status: Image is up to date for plugins/manifest:latest
2022/06/22 16:47:14 pushing our.private.registry/this-thing:build-OS-ARCH-33 to our.private.registry/this-thing:build-33 linux/arm64, linux/amd64
Digest: sha256:... ...

The additional tags are not pushed to our docker registry.
Originally posted at https://community.harness.io/t/manifest-plugin-tags-setting-tags-file-have-no-effect/12178

Hey @kylewallpe  from looking at the logic of the plugin, if autotag is true, then user set tags are ignored. drone-manifest/main.go at 92722b712a4a378262ca8f3e39e34248646c8a7b · drone-plugins/drone-manifest · GitHub Can you confirm

Hi @tphoney. According to the docs, auto_tags defaults to false anyway. But even with both auto_tags and default_tags explicitly set to false in the pipeline definition, the behavior is the same.


Refactor codebase to async/await - m365 aad o365group teamify until m365 aad policy list

Closes #4944

Thank you @MathijsVerbeeck, we'll try to review it ASAP!

@martinlingstuyl  I've added the verbose logs :-)

Merged manually, thanks for all the good work 👏


Added Guard definition (ternary)

Hi,
Based on PR #32, this is my solution for guards through ternary operations.
This may raise some discuss about syntax linting and language hijack.

LGTM

What say @stoeffel?

But.. using this way, the  otherwise clause is always required.
I was also thinking about a more tricky way using boolean short-circuit evaluation and truthy/falsy.
But this is truly not readable.
const max = (a, b) =>
  (a > b) && a
  || /* otherwise */ b;

const sign = (n) =>
  (n < 0) && -1
  || (n >= 0) && 1

@Swizz heh heh bit twiddling is always fun, but readability goes to -Infinity!

@jethrolarson This is the definition of #32.
My diff on it is
+It can be simulated thanks to the conditional ternary Operator.

My english skills are very poor to attempt to write a real definition.
I gave you my coding solution to solve this issue and let you write something more suitable.
Cheer,

I would love to see this get revised and merged

Can reopen if revised


Improve Font Sizes and Font Styles for Better UI/UX

Currently, the font sizes and styles across different components of the website are inconsistent. This inconsistency creates a disjointed user experience, especially when navigating between different sections of the site. In some areas, the text is too small or too large, making it harder to read, and in other areas, there isn't enough visual hierarchy between headings and body text.
To improve readability and provide a more cohesive user experience, the font sizes should follow a consistent and scalable pattern. Headings (H1, H2, H3, etc.) should be visually distinct from the body text, and the overall font size should be optimized for accessibility and readability across devices. Consistent and sensible font sizes enhance both usability and aesthetics, making it easier for users to navigate the website. This also improves accessibility, especially for users with visual impairments, by ensuring that text is readable without requiring additional zooming or adjustments. Set the base font size to 16px for body text to ensure readability.
Scale heading sizes using a modular scale:
H1: 2.5em
H2: 2em
H3: 1.75em
H4: 1.5em
H5: 1.25em
H6: 1.125em
Use a readable font family, such as 'Roboto' or 'Arial,' with fallbacks to system fonts.
Maintain consistent line heights (e.g., 1.5 or 1.6) for readability. Improving font sizes and styles will also make the site more visually appealing and professional. Typography best practices can be referenced from resources like the Google Material Design typography guidelines or W3C's Web Content Accessibility Guidelines.
Please tag this issue under GSSoC Extended and Hacktoberfest to me.

@bavi404 thanks for pointing this out , but we are good with out fonts , closing issue since we dont need this


Graph-Indexer-Service don't work with http (no https) --ethereum endpoint

Do you want to request a feature or report a bug?
This looks the bug, the graph-indexer is starting with --ethereum endpoint, if it's https:// (example infura), however in case we want to deploy the full-node (rinkeby), with non-ssl http access, this returns the error.
What is the current behavior?
starting graph-indexer-service and pointing --ethereum endpoint to https location works ok (eg infura)
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.
after starting graph-indexer-service, with key --ethereum http://IP:port (where IP:port is the IP of full rinkeby node) -> this returns the error that "network was not found", this looks buggy
What is the expected behavior?
indexer service shall work with both https and http protocol for --ethereum endpoint.

Could yo add the logging output of graph-node when you start with that setting and also add --debug to the command line?

Hello!
here it is when starting without https.
{"level":30,"time":1599144560979,"pid":29162,"hostname":"AuroraX","name":"IndexerAgent","host":"<IP_ADDRESS>","port":5432,"database":"graph-indexer","msg":"Connect to database"}
{"level":30,"time":1599144561107,"pid":29162,"hostname":"AuroraX","name":"IndexerAgent","msg":"Successfully connected to database"}
{"level":30,"time":1599144561107,"pid":29162,"hostname":"AuroraX","name":"IndexerAgent","msg":"Connect to network"}
Error: could not detect network (event="noNetwork", code=NETWORK_ERROR, version=providers/5.0.6)
    at Logger.makeError (/root/.nvm/versions/node/v14.9.0/lib/node_modules/@graphprotocol/indexer-agent/node_modules/@ethersproject/logger/lib/index.js:179:21)
    at Logger.throwError (/root/.nvm/versions/node/v14.9.0/lib/node_modules/@graphprotocol/indexer-agent/node_modules/@ethersproject/logger/lib/index.js:188:20)
    at JsonRpcProvider.<anonymous> (/root/.nvm/versions/node/v14.9.0/lib/node_modules/@graphprotocol/indexer-agent/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:335:54)
    at step (/root/.nvm/versions/node/v14.9.0/lib/node_modules/@graphprotocol/indexer-agent/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:46:23)
    at Object.next (/root/.nvm/versions/node/v14.9.0/lib/node_modules/@graphprotocol/indexer-agent/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:27:53)
    at fulfilled (/root/.nvm/versions/node/v14.9.0/lib/node_modules/@graphprotocol/indexer-agent/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:18:58) {
  reason: 'could not detect network',
  code: 'NETWORK_ERROR',
  event: 'noNetwork'
}

@Jannis @fordN not sure but this looks like an indexer-agent problem.

This should be fixed now. Feel free to reopen if it is still an issue.


HBASE-25273 fix typo in StripeStoreFileManager java doc

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
2m 28s
Docker mode activated.


Adding a table to the middle of an existing document

I'm trying to figure out how to take an existing Word document template and dynamically insert one or more tables at a certain point somewhere in the middle. I know add_table only adds a table right at the end, same with images. I've managed do this with images by leaving some placeholder text where I want the image, finding the right paragraph with python-docx, clearing the text and adding a new run (which supports add_picture). So I guess what I want to know is:

does a <w:r> element support adding a table inside it? (if yes I could somehow copy my approach by adding a table inside a new run)
or should I try to identify an existing paragraph and add a table inside it? (currently not an explicit option as far as I can tell)
is there a better/correct way to do what I'm trying to do?

A table is a block element, as is a paragraph. This means it spans the space between the margin and has a top and a bottom which can be occupied by no other element. A document is a series of block items (if we neglect floating items for the moment).
A run is an inline element and can only appear inside a paragraph.
Interestingly, like a document, a table-cell is also a block-item container. That means it can contain paragraphs but can also contain "nested" tables.
Applying these concepts to your problem, a table can only be inserted as a sibling to a paragraph or another table. You can mark the paragraph you want it to appear above or below or replace, but that text marking, say "{{table-goes-here}}" will itself be inside one or more runs. So you can't just replace the "placeholder" text with a table.
A simple approach would be to have a placeholder that is the only text in a paragraph, then insert the table before that paragraph and remove the placeholder paragraph. There are other approaches but I think I'd try this one first and see if it didn't work just fine.
The simplest way I can think of to insert a table at a given location would be something like this:
placeholder_paragraph = find_placeholder("{{table-goes-here}}")  # --- you have to write this function yourself ---
table = document.add_table(...)
tbl = table._tbl
p = placeholder_paragraph._p
p.addprevious(tbl)
p.getparent().remove(p)

The .addprevious() etc. functions are part of the lxml.etree._Element interface which all XML elements in python-docx have: https://lxml.de/api/lxml.etree._Element-class.html

Thanks so much for the quick and thorough reply @scanny! I hadn't appreciated that I can take a table object and assign it to sit in another paragraph. That is definitely the workaround I was after, I'll give it a go and report back if I have any follow up questions. Thanks again!

Works a treat, thanks again @scanny.


run tget but it output nothing

I install tget success and can run "$ tget "
it output "Usage: tget magnet-link-or-torrent"
but when i type "$ tget 'magnet:xt=urn:btih:0403fb4728bd788fbcb67e87d6feb241ef38c75a'"
it seem stuck and output nothing

the system is centos7

I just updated a new version. Can you install the new version and try it?

Looks like your magnet link is incorrect. I'd recommend double checking whether you have a valid-magnet link as the input to tget


Support typescript 3.8.x

Describe the bug
It is currently not possible to start or build with typescript 3.8. Following error occurs:
TypeScript error in /../tsconfig.json(19,5)
Option 'noEmit' cannot be specified with option 'incremental'.

Did you try recovering your dependencies?
yes
Which terms did you search for in User Guide?
typescript, incremental, noEmit
Environment
Environment Info:
current version of create-react-app: 3.4.0
running from /home/valentin/.npm/_npx/18909/lib/node_modules/create-react-app
System:
OS: Linux 5.3 Ubuntu 19.10 (Eoan Ermine)
CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
Binaries:
Node: 13.6.0 - ~/.nvm/versions/node/v13.6.0/bin/node
Yarn: 1.21.1 - ~/.nvm/versions/node/v13.6.0/bin/yarn
npm: 6.13.4 - ~/.nvm/versions/node/v13.6.0/bin/npm
Browsers:
Chrome: 79.0.3945.130
Firefox: 73.0
npmPackages:
react: 0.0.0-experimental-ea6ed3dbb => 0.0.0-experimental-ea6ed3dbb (16.12.0)
react-dom: 0.0.0-experimental-ea6ed3dbb => 0.0.0-experimental-ea6ed3dbb
react-scripts: 3.4.0 => 3.4.0
npmGlobalPackages:
create-react-app: Not Found`
Steps to reproduce

Install typescript 3.8.2
Run react-scripts start

Expected behavior
the standard configuration of tsconfig should work with typescript 3.8. Set noEmit=false or incremental=false
Actual behavior

Please remove incremental, as it's handled by the type checker plugin.


Update link to maintained version of Bats

The old Bats was archived in 2021, the currently maintained fork uses a different repo which is not linked to from the old one.

👍  Thanks!


[LIVY-574][TESTS][THRIFT] Add tests for metadata operations

What changes were proposed in this pull request?
Add unit test for existing meta operation: GetCatalogsOperation/GetTableTypesOperation/GetTypeInfoOperation.
We also fix issues we met.
How was this patch tested?
Add new unit tests and existing test.
We also use SquirrelSQL test relate operations.

Codecov Report

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

@@             Coverage Diff              @@
##             master     #197      +/-   ##
============================================
+ Coverage     28.33%   68.53%   +40.2%
- Complexity      343      909     +566
============================================
  Files           100      100
  Lines          5679     5679
  Branches        855      855
============================================
+ Hits           1609     3892    +2283
+ Misses         3739     1229    -2510
- Partials        331      558     +227

Impacted Files
Coverage Δ
Complexity Δ

...main/scala/org/apache/livy/server/LivyServer.scala
35.46% <0%> (+0.49%)
11% <0%> (ø)
:arrow_down:

...rver/src/main/scala/org/apache/livy/LivyConf.scala
95.87% <0%> (+1.03%)
21% <0%> (+3%)
:arrow_up:

.../main/scala/org/apache/livy/server/WebServer.scala
53.33% <0%> (+1.66%)
10% <0%> (+1%)
:arrow_up:

...la/org/apache/livy/server/batch/BatchSession.scala
86.17% <0%> (+2.12%)
14% <0%> (ø)
:arrow_down:

...la/org/apache/livy/utils/SparkProcessBuilder.scala
54.44% <0%> (+2.22%)
11% <0%> (+1%)
:arrow_up:

.../scala/org/apache/livy/sessions/SessionState.scala
61.11% <0%> (+2.77%)
2% <0%> (ø)
:arrow_down:

...e/livy/server/interactive/InteractiveSession.scala
69.11% <0%> (+3.66%)
44% <0%> (+2%)
:arrow_up:

...org/apache/livy/server/recovery/SessionStore.scala
80% <0%> (+5%)
10% <0%> (ø)
:arrow_down:

...ain/scala/org/apache/livy/server/JsonServlet.scala
38.46% <0%> (+5.76%)
18% <0%> (+4%)
:arrow_up:

.../apache/livy/server/batch/CreateBatchRequest.scala
68.75% <0%> (+6.25%)
19% <0%> (+1%)
:arrow_up:

... and 70 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 e7f23e0...e6f89f5. Read the comment docs.

Please solve the conflict, @yiheng .

@jerryshao resolved

title:
[LIVY-574][TESTS][THRIFT] Add tests for metadata operations

Thanks, merging to master.


No props in header of custom component

I want to make a clear chat button in the header. But there is no props in header and so i cannot do setState([ ])

@FredrikOseberg @tirsoh please help!


[BUG] No Option to "print" the photo, when using right-click on an image.

However, I am able to do so with Windows Stock Context Menu.

This item has been moved to More Options > Print

Right-clicked on a .jpg file.
No print option...
Please refer to attached ss:

Press CTRL + WIN + RIGHT-CLICK to check if "Print" appear in classic menu
Press CTRL + RIGHT-CLICK to restore Shell menu

Yes, "Print" is there in classic menu.

@moudey Where to find these files?


attackstyles-adjustment

Adjust the height of the attackstyle panelComponent to make the text not hug the bottom of the panel.
(i.e. Aggressive touches the bottom of the panel currently. Commit adjusts the height to eliminate this issue.)

I'll just leave it how it is then.


Founding a bug about Mtree

DistanceFunction used by Mtree in this project returns a double-precision number. However, double-precision numbers will lose precision when calculated, which will cause some bugs. For example, some index items will not be deleted, as shown below.
public static void main(String[] args) throws Exception {
MTree tree = new MTree<>(4, Point::distancePoint, null);
Queue queue = new LinkedList<>();
File f = new File("test.txt");
BufferedReader br = new BufferedReader(new FileReader(f));
String line;
int count = 0;
while ((line = br.readLine()) != null){
String[] split = line.split("\t");
TrackPoint point = new TrackPoint(new double[]{Double.parseDouble(split[1]), 		Double.parseDouble(split[2])},
Long.parseLong(split[3]),
Integer.parseInt(split[0]));
tree.insert(point);
queue.add(point);
count++;
if (count % 40 == 0){
if (count > 20000){
for (int i = 0; i < 40; i++) {
TrackPoint trackPoint = queue.remove();
if (count == 36480 && i == 17)
tree.search(trackPoint, 1.0);
if (!tree.delete(trackPoint))
System.out.print("");
			}

		}
	}
}

}
class TrackPoint {
public double[] data;
public long timestamp;
public int TID;
public TrackPoint(double[] data, long timestamp, int TID) {
	super(data);
	this.timestamp = timestamp;
	this.TID = TID;
}

}
test.txt

We implement this repo to support static dataset, in which delete will not happen. I recognize the precision issue, but we probably will not fix it due to the purpose of the code.