Warning / Danger for unmaintained libraries

we chould put a "warning" border around a library that hasn't been touched the last 2 release. And a "danger" border if it hasn't been touched in the last 6 releases (or so).

I'd rather not. This can be communicated, but in a more subtle manner.

How about a low-contrast, tasteful cobweb in the corner of the card?

If two releases without changes is the criterion, more than half of my libraries would be cobwebbed.

if( release_count_ > 2 && author != "Peter DImov" )
  bCobweb_ = true;

but yeah, I'll close this :)

@pdimov if you have ideas on how to communicate it diplomatically, please open an issue


Add service for exporting journalctl logs & fix startLimitInterval in service configs

This PR adds a logging service that exports journalctl logs to a file in /output/logs every five minutes. Upon first export, the log file name is defined as an environment variable and exported with systemctl set-environment, so that subsequent exports can overwrite the existing log file.
The service also contains another oneshot service to export logs to another file upon system shutdown. This is achieved by giving the export service a Before = ["audio-recorder.service"]; unitConfig. Systemd applies the start order in reverse on shutting down, hence this ensures that this service starts before audio-recorder.service and exits only after audio-recorder.service has stopped. On exit, the command defined in ExecStop is executed.
What I could not get working with the shutdown log export was to include a timestamp in the file where logs are written. When I tried it with this ExecStop:
ExecStop = ''${pkgs.bash}/bin/bash -c "FILE=$(${pkgs.coreutils}/bin/date +"%Y_%m_%d-%H_%M_%S")_journalctl_on_shutdown.txt; echo \"Exporting logs at shutdown to $FILE\" && journalctl --boot 0 > ${config.services.journalctl-log-export.output-folder}/$FILE"'';

This is what showed up on journalctl:
Jan 15 18:09:28 nixos bash[1876]: Exporting logs at shutdown to /nix/store/2hvfch152hp91kf4rm8giiflg0ndqll9-unit-journalctl-log-export-on-shutdown.service_874c6b8984b84df7b3d6b2bead37ac03_/run/credentials/journalctl-log-export-on-shutdown.service-nixos__/var/lib_journalctl_on_shutdown.txt
Jan 15 18:09:28 nixos bash[1880]: /nix/store/xv90a9497jmi4v1hx1y007al4vrk555c-bash-5.2-p15/bin/bash: line 1: /output/logs//nix/store/2hvfch152hp91kf4rm8giiflg0ndqll9-unit-journalctl-log-export-on-shutdown.service_874c6b8984b84df7b3d6b2bead37ac03_/run/credentials/journalctl-log-export-on-shutdown.service-nixos__/var/lib_journalctl_on_shutdown.txt: No such file or directory

In addition, this PR contains two fixes for service configs:

fix for audio-recorder unitConfig After configuration. For some reason, sound.target does not appear to work as a target for the service so that it would only be started after sound.target is reached. However, multi-user.target does work.
restoring startLimitIntervalSec = 0; in all services (with hydrophonitor-gps and depth-recorder versions updated in flake.lock

I got something like this to work:
https://github.com/juliuskoskela/ghaf/blob/bpmp-virt/modules/hardware/nvidia-jetson-orin/virtualization/host/uarta-host/default.nix
wantedBy = ["bindSerial3100000.service"];

 ...

 wantedBy = ["multi-user.target"];
 after = ["enableVfioPlatform.service"];

Got shutdown log exporting to work, but one issue about file naming remains. I updated PR description accordingly.

Got shutdown log exporting to work, but one issue about file naming remains. I updated PR description accordingly.

Change scope of the PR and move file name fixing to a new issue. Then we merge.

Documentation for logging added.


Get method on phone_mobile field, not working

Hello Russell,
First of all, really appreciate your awesome python module.
In our use case, we need to search based on "phone_mobile" field which is a built-in field ( not custom field ). We store the phone_mobile in "+[country code][phone number] format.
after doing lots of trial and error, it turned out that if we store phone_mobile without "+", get method can find otherwise it would not find any matched record.
example:

) stored phone_mobile =  +999333333
result = suitecrm.Contacts.get(phone_mobile=''+999333333") ( NOT working )

) stored phone_mobile =  992222222
result = suitecrm.Contacts.get(phone_mobile=''992222222") ( working )

Can you please advise?
thanks.

It is case sensitive. How is the number stored for that record?
ie... 626-555-555 (record actual data in the contact)
suitecrm.Contacts.get(phone_mobile=626555555) # No record found
suitecrm.Contacts.get(phone_mobile=(+1626555555) # No record found
suitecrm.Contacts.get(phone_mobile=(626-555-555) # Record found

@RussellJuma Thank you so much for your quick reply.
I just updated the comment.

No worries, glad I could help. You can always run suitecrm.Contacts.fields() to get the list of fields that are searchable.

still there is a bug
in order to replicate:

store phone_mobile "+991111111"
use get method :
suitecrm.Contacts.get(phone_mobile=''+991111111")

above scenario would not work.

I have found the problem.

phone number special character was causing problems with the url encoding.

@RussellJuma Perfect. thanks.
I am glad to report this bug and thank you for your support!
When do you think the patched version would be available on pip ?

Already ready.
On Sat, Aug 13, 2022, 7:55 AM nima0102 @.***> wrote:

@RussellJuma https://github.com/RussellJuma Perfect. thanks.
I am glad to report this bug and thank you for your support!
When do you think the patched version would be available on pip ?
—
Reply to this email directly, view it on GitHub
https://github.com/RussellJuma/PySuiteCRM/issues/4#issuecomment-1214172307,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHYGJYN6RL55GS7Y7NTICXLVY6ZMPANCNFSM56OBCRVQ
.
You are receiving this because you were mentioned.Message ID:
@.***>


Windows portability

Unfortunately Makefiles are not easily supported in the platform 90% of the developers of the world use.

Perhaps we should just show the 2 commands that are needed directly:
docker-compose up
docker exec -it neo-python np-prompt -p -v

Not sure we even need the wrapper/Makefile...

@canesin I am working on porting the contents of the Makefile to a cross-platform CLI. This will also allow us to unit test the project.

Closing as solved by documentation that is now in README: https://github.com/CityOfZion/neo-local#windows-1
This will be improved in the future by the CLI, however I've seen Windows users run the project so I'm happy for the moment.


adding circleci configuration

Closing this, since we've pulled this in to our HEAD branch, rebased_master.


HTTP requests errors don't include port in the request URI.

Context
When the Datadog Metrics destination encounters an error while sending a request, we end up emitting a warning log through the normal HTTP lifecycle machinery, which looks like this:
Request failed: tcp connect error: Connection refused (os error 111). Retrying after 3.737111852s. error_count=1 request_uri=http://<IP_ADDRESS>/api/v2/series

While this is true, it is crucially missing the port used here, since the URI in this example is <IP_ADDRESS>:9095. This is important when additional endpoints (dual shipping) are configured, since the chance of having identical endpoints goes up... which, to be honest, is really only a concern in tests like the above, but still! We should emit the full, proper request URI. :)

Fixed in 91d603d.


Add the mention bot to tensorflow's github

Integrate Mention-bot with the tensorflow github pull request system
https://github.com/facebook/mention-bot

The mention bot will automatically mention potential reviewers on pull requests. It helps getting faster turnaround on pull requests by involving the right people early on.

By analyzing the text of this issue I've identified @aselle as someone who will want to know about this.
I'm all for it. Adding it now.

Let's see how this works. We have a PR triage, but I bet it'll be relaxing as hell to have a reviewer recommendation. We can also play with the config. I wish it had an option to not @mention people, but just say their names instead (as a recommendation for a human).
If this catches on, we may make a PR.

Pretty cool.


revise the behavior of tumble_start

The built-in function tumble_start has been implemented so crudely to implement a demo quickly that its behavior is likely wrong.

Do we still need to revise it?

Do we still need to revise it?

Maybe 😄
https://github.com/risingwavelabs/risingwave/issues/19075


Fix Compiler Settings Error

The missing space causes building as per the readme to fail. I have added this to my own build and it compiles and runs fine.

Can you check if your improvement is also possible for this repo?
https://github.com/ethereum-mining/ethminer
If you are confused why I am asking about this ... see #268

@JHGitty Yes, the same pull-request can be cherry-picked to ethereum-mining/ethminer.
I have done this in ethereum-mining/ethminer#159


Hide expression clears defaultValue from model

Description
When hide expression and defaultValue are configured for a field, the field's defaultValue isn't set in the model
{
  key: 'test',
  type: 'input',
  defaultValue: 'Hello!',
  props: {
    label: 'Testing',
  },
  expressions: {
    hide: '!model.test'
  }
}

In a field like above, the expectation is that model.test will be Hello!, therefore the field won't be hidden. It seems like defaultValue doesn't update the model before the hide expression is checked?
Minimal Reproduction

https://stackblitz.com/edit/angular-l2ae7y-lqvapj?file=src%2Fapp%2Fapp.component.ts
Your Environment

Angular version: 14.2.2
Formly version: 6.1.6

see https://formly.dev/docs/guide/migration#6-resetonhide-is-enabled-by-default


Has alts I can attribute to same user by dates of git activity.

ok

I will dox you @BDARmech :trollface:

Please come and find out why I am given such a wide bearth from governements.


Add ApexZip (compresion.ZipWriter and .ZipReader)-based implementation of Zippex API

Create a new class, Zippex2, based on the same Zippex API but using native Apex Zip as its underlying zip implementation.
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_zip.htm

I left the original Zippex class unchanged since not everyone will have compression.ZipWriter and compression.ZipReader available yet, and to allow people to test side-by-side to see if they want to adopt the new impl.


OpenConfig Telemetry in Grafana

If someone could point me in the right direction it would be appreciated.  When subscribing to Telemetry via OpenConfig instead of Native, what needs to be changed to use the prebuilt Grafana graphs? As it stands nothing is graphing on them at the moment.
I can verify I am receiving data via Chronograf into InfluxDB and use Chronograf instead of Grafana, but I would much rather use Grafana as a majority of the graphs are already built and what I need.

When using OpenConfig and Juniper the beginning "/" in the measurement line names makes Grafana believe is regex and a name_prefix added to the Telegraf input settings resolves this issue.


KAFKA-12213: Kafka Streams aggregation Initializer to accept record key

More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.
As per title and jira ticket.
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Ran gradlew tests.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Thanks for the PR @jCalamari  - I left a more detailed comment on the Jira ticket. We cannot just merge public API changes without a KIP. There is KIP-149 and KIP-159 that overlap with you request so we need to figure out how we can move forward before we can review and merge this PR.
Would you might to read up on KIP-149 and KIP-159 and investigate the current status? KIP-149 is approved but not fully implemented yet. KIP-159 is not approved yet. Nobody is working on either KIP, so feel free to pick them up and help to complete them.

Thanks for the PR @jCalamari  - I left a more detailed comment on the Jira ticket. We cannot just merge public API changes without a KIP. There is KIP-149 and KIP-159 that overlap with you request so we need to figure out how we can move forward before we can review and merge this PR.
Would you might to read up on KIP-149 and KIP-159 and investigate the current status? KIP-149 is approved but not fully implemented yet. KIP-159 is not approved yet. Nobody is working on either KIP, so feel free to pick them up and help to complete them.


CB-17040 Add ssm Permissions to Default Cross-Account Policy

https://jira.cloudera.com/browse/CB-17040
Adding ssm Permissions required when creating Kubernetes clusters that utilize SSM Parameters instead of explicit AMI.

@akanto - I don't have permission to merge.  Can you do that please?


updated deps and peer-deps

Thanks for this btw! :)

Hey, thanks for the PR. There are actually a lot of other packages that need to be updated in order for Babel 6 to work, so we're waiting on those before making this update. Closing this for now, but you're welcome to track https://github.com/davezuko/react-redux-starter-kit/issues/150 and resubmit once all dependencies are ready (react-hot-loader, redbox-react, etc.).

Thanks


Dart Analyzer Error: Encountered a Dart Analysis Server error.

I have restarted my Mac, but it still doesn't work.
Here is the log:
Analyzer Feedback from IntelliJ
Version information

IDEA AI-181.55<IP_ADDRESS>14246
2.1.0-edge.a2eb050044eec93f0844667b8b6132e858467e4e
AI-181.55<IP_ADDRESS>14246, JRE 1.8.0_152-release-1136-b06x64 JetBrains s.r.o, OS Mac OS X(x86_64) v10.13.2 unknown, screens 1680x1050, 2560x1440  Retina

Exception
Please append the contents of:
file:///private/var/folders/fq/wx3zkflx7bz36fz3f3bpx5wh0000gn/T/report.txt
Dart analysis server, SDK version 2.1.0-edge.a2eb050044eec93f0844667b8b6132e858467e4e, server version 1.20.5, error: Analysis failed: /Users/yumi/Documents/yumi/demo/flutter/flutter_slide_drawer/lib/main.dart
Exception: Element not found in summary: package:flutter/src/material/scaffold.dart

Possible duplicate of #34716

I have restarted my Mac, but it still doesn't work

Hmm, this may be a bigger issue than we realized if its the same one we've seen before.
You should be able to fix your workspace with rm -rf ~/.dartServer/.analysis-driver/ and then restarting analysis inside intelliJ.
Can you give us any details about what caused this, for instance, maybe a flutter upgrade?
@scheglov

Probably https://github.com/dart-lang/sdk/issues/34823
Mike is right, removing .analysis-driver/ should help.

Possible duplicate of #34716

I have restarted my Mac, but it still doesn't work

Hmm, this may be a bigger issue than we realized if its the same one we've seen before.
You should be able to fix your workspace with rm -rf ~/.dartServer/.analysis-driver/ and then restarting analysis inside intelliJ.
Can you give us any details about what caused this, for instance, maybe a flutter upgrade?
@scheglov

Possible duplicate of #34716

I have restarted my Mac, but it still doesn't work

Hmm, this may be a bigger issue than we realized if its the same one we've seen before.
You should be able to fix your workspace with rm -rf ~/.dartServer/.analysis-driver/ and then restarting analysis inside intelliJ.
Can you give us any details about what caused this, for instance, maybe a flutter upgrade?
@scheglov

This made my day. Thank you @MichaelRFairhurs.

I tried the rm -rf ~/.dartServer/.analysis-driver/ advice above and it has made no difference.


Smaller shadow tiles.

Shadow tiles used to be 144x128 which was almost twice as large as they needed to be. This made some of the sprite sheets over 2000x2000 pixels in size, which impacts performance and load times.

I initially wanted to avoid the repetitive shadow sprite sheets and have them just be one or two rows. But I couldn't think of how to do this without introducing some mapping logic. I think the current approach is pretty braindead and simple which is sometimes a good thing.


Explicitly document the need for User API key creator permission

Description
User API key creator permission is needed when account settings are restricting api key creation. https://cloud.ibm.com/docs/account?topic=account-allow-api-create&interface=ui
As part of cluster creation flow, an api key is created on behalf of the user (as the underlaying fabric creates an api key for the clusters in same resource group / region ). Cluster creation would fail without this specific permission on the api key in account with security settings restricted, like it is the case in default base account settings DA.

PR with appropriate role added to both ROKS quickstart and standard flavors:
https://github.com/terraform-ibm-modules/terraform-ibm-landing-zone/pull/896

This documentation change has been released: https://github.com/terraform-ibm-modules/terraform-ibm-landing-zone/releases/tag/v6.0.5


Submodule config results in mixed protocols after cloning

We're having some difficulty documenting the best way to setup the Ghost repo & submodules for contributing, as cloning the top-level repo results in a mix of https and ssl URLs in the git config for submodules.
What we want is for there to be a clear and minimal set of commands that result in a correctly setup environment. This environment should be optimised for contributing, not for installing Ghost - which should use the CLI.
The current setup is using https:
[submodule "content/themes/casper"]
	path = content/themes/casper
	url = https://github.com/TryGhost/Casper.git
[submodule "core/client"]
	path = core/client
	url = https://github.com/TryGhost/Ghost-Admin.git

Cloning works reliably this way, but when pushing, git checks all remotes and will prompt you for a password, meaning you need to do quite a lot to get all of the remotes setup correctly.
There appear to be 3 potential solutions:
Option 1. Use Git SSH
[submodule "content/themes/casper"]
	path = content/themes/casper
	url = git@github.com:TryGhost/Casper.git
[submodule "core/client"]
	path = core/client
	url = git@github.com:TryGhost/Ghost-Admin.git

Option 2. Full relative URLs
[submodule "content/themes/casper"]
	path = content/themes/casper
	url = ../Casper.git
[submodule "core/client"]
	path = core/client
	url = ../Ghost-Admin.git

Option 3. Urls relative to the TryGhost org
[submodule "content/themes/casper"]
	path = content/themes/casper
	url = ../../TryGhost/Casper.git
[submodule "core/client"]
	path = core/client
	url = ../../TryGhost/Ghost-Admin.git

Relative urls means git uses whatever protocol is used on the top level clone for all the submodules.
Using fully relative URLs would open the option to cloning a fork, and automatically having all of the right remotes setup. However, you'd have to have all 3 repos forked to start.
Using URLs relative to the TryGhost org means the top-level protocol is honoured for submodules, and git uses the upstream TryGhost remotes for submodules, meaning you still have to add remotes if you want to work on Ghost-Admin or Casper.
Using git urls means the protocol and remotes are all fixed to use TryGhost with git. This mechanism should be the easiest to reason about, as it should always do the same thing.
Conclusion
For now, I suggest option 1 (git urls) because I think consistency is more important than flexibility, however if we still have problems balancing having a clear path to contributing with weirdness with ports and git not working on certain systems, options 2 and 3 are available to try out as well.

OK that broke travis - trying option 3

FYI this made my heroku push fail. I ended up switching to the HTTPS one and it seems fine now.


Update features for AArch64.

Add all missing features up to Linux v5.0.
Features added: evtstrm, atomics, fphp, asimdhp, cpuid, asimdrdm,
jscvt, fcma, lrcpc, dcpop, sha3, sm3, sm4, asimddp, sha512, sve,
asimdfhm, dit, uscat, ilrcpc, flagm, ssbs, sb, paca, pacg.

Thx for the PR/


Service Chaining package dead code?

The only instance where ServiceChain object is used is in TopologyInstance and in the method the sc variable is unused. The only instance I found that calls this method is TopologyManager.java and it passes that argument as null.
 Want to clean it up and issue a pull request? Thanks for letting us know.

With pleasure :)
I am wondering if following hunk should be removed too,
diff --git a/src/main/java/net/floodlightcontroller/topology/TopologyInstance.java b/src/main/java/net/floodlightcontroller/topology/TopologyInstance.java
index 015a36a..198ffee 100644
--- a/src/main/java/net/floodlightcontroller/topology/TopologyInstance.java
+++ b/src/main/java/net/floodlightcontroller/topology/TopologyInstance.java
@@ -30,7 +30,6 @@ import net.floodlightcontroller.routing.BroadcastTree;
 import net.floodlightcontroller.routing.Link;
 import net.floodlightcontroller.routing.Route;
 import net.floodlightcontroller.routing.RouteId;
-import net.floodlightcontroller.servicechaining.ServiceChain;
 import net.floodlightcontroller.util.ClusterDFS;

 import org.projectfloodlight.openflow.types.DatapathId;
@@ -858,40 +857,6 @@ public class TopologyInstance {
         return true;
     }

-	/*
-	* Calculates E2E route
-	*/
-    protected Route getRoute(ServiceChain sc, DatapathId srcId, OFPort srcPort,
-            DatapathId dstId, OFPort dstPort, U64 cookie) {
-        // Return null if the route source and destination are the
-        // same switch ports.
-        if (srcId.equals(dstId) && srcPort.equals(dstPort)) {
-            return null;
-        }
-
-        List<NodePortTuple> nptList;
-        NodePortTuple npt;
-        Route r = getRoute(srcId, dstId, U64.of(0));
-        if (r == null && !srcId.equals(dstId)) {
-        	return null;
-        }
-
-        if (r != null) {
-            nptList= new ArrayList<NodePortTuple>(r.getPath());
-        } else {
-            nptList = new ArrayList<NodePortTuple>();
-        }
-        npt = new NodePortTuple(srcId, srcPort);
-        nptList.add(0, npt); // add src port to the front
-        npt = new NodePortTuple(dstId, dstPort);
-        nptList.add(npt); // add dst port to the end
-
-        RouteId id = new RouteId(srcId, dstId);
-        r = new Route(id, nptList);
-        return r;
-    }
-
-
     // NOTE: Return a null route if srcId equals dstId.  The null route
     // need not be stored in the cache.  Moreover, the LoadingCache will
     // throw an exception if null route is returned.
diff --git a/src/main/java/net/floodlightcontroller/topology/TopologyManager.java b/src/main/java/net/floodlightcontroller/topology/TopologyManager.java
index 9ca3074..83794cf 100644
--- a/src/main/java/net/floodlightcontroller/topology/TopologyManager.java
+++ b/src/main/java/net/floodlightcontroller/topology/TopologyManager.java
@@ -693,13 +693,6 @@ public class TopologyManager implements IFloodlightModule, ITopologyService, IRo
 	}

 	@Override
-	public Route getRoute(DatapathId src, OFPort srcPort, DatapathId dst, OFPort dstPort, U64 cookie,
-			boolean tunnelEnabled) {
-		TopologyInstance ti = getCurrentInstance(tunnelEnabled);
-		return ti.getRoute(null, src, srcPort, dst, dstPort, cookie);
-	}
-
-	@Override
 	public boolean routeExists(DatapathId src, DatapathId dst) {
 		return routeExists(src, dst, true);
 	}

@pdvyas I'm pretty sure that is an implementation of the IRoutingService (seeing the override annotation), so it shouldn't be removed.

Thanks @rizard , Will send a patch soon.

@pdvyas awesome! Thanks so much!


Adapt pipelines to version 2.7.x

One field was removed in this version.
@OriHoch who should approve from WIS side?

the field that was removed is symptoms_sore_throat
I don't know who should approve this
Need to also know if the column should be removed from the output csvs, set to an empty string or something else?

@kalkairis

Why did you remove sore throat?

Why did you remove sore throat?

My mistake - it wasn't removed.
This symptom appeared in two locations in the questionnaire, now it appears
only once but it is still being sent.
On Thu, Apr 23, 2020 at 11:03 PM Iris Kalka<EMAIL_ADDRESS>wrote:

Why did you remove sore throat?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/hasadna/avid-covider-pipelines/issues/7#issuecomment-618633944,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACAY5PLMQVGIQW4EDPRVA3ROCNHNANCNFSM4MPLG5CA
.

cool, so to clarify - there is no change in the data between 2.7.1 and 2.6.0 ?
@akariv

yes
On Thu, Apr 23, 2020 at 11:18 PM Ori Hoch<EMAIL_ADDRESS>wrote:

cool, so to clarify - there is no change in the data between 2.7.1 and
2.6.0 ?
@akariv https://github.com/akariv
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hasadna/avid-covider-pipelines/issues/7#issuecomment-618643235,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACAY5KWOUUVMF57ZTN5IITROCPBPANCNFSM4MPLG5CA
.

done in #10


WARNING: No adapter was configured for this request

I'm testing the API and getting an error
require 'pipedrive'
Pipedrive.api_key = "abc123"

Pipedrive::Organization.retrieve(1)
WARNING: No adapter was configured for this request

Traceback (most recent call last):
        1: from (irb):5
TypeError (no implicit conversion of nil into String)

The same goes for other objects and methods. What am I doing wrong?
Ruby: 2.6.5
Thanks

Hello, which version are you using? you can get it by calling Pipedrive::VERSION - It is all working fine here with the last version 1.2.9

Maybe check what version of the faraday gem you are using (it is the only dependency of this gem) and try updating it to a more recent one.

Closing this as there is no new update and the problem doesn't seem to be related with the gem.


Add BackOffHandler to FailedRecordTracker

Expected Behavior
BackOffHanlder should encapsulate the handling for the next backoff. FailedRecordTracker will use this interface and call handleNextBackoff in recovered method.
Current Behavior
Currently FailedRecordTracker it is tightly coupled with thread sleep. There is no way to inject another behavior.
Context
The idea is to make FailedRecordTracker able to handle the backoff in different ways. In my case I need to pause the listener on XX minutes.
The other solution for me is to copy several classes just to change one line (FailedRecordTracker,FailedRecordProcessor, DefaultAfterRollbackProcessor)

PR : https://github.com/spring-projects/spring-kafka/pull/2263


fix for #6039

What this PR does / why we need it:
replace the mysql jdbc hostname in the chart with the value from that is given into the chart via the values.yaml
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #6039
Special notes for your reviewer:

Singed cla

/ok-to-test

/retest

/retest

/assign

/lgtm


Update scalatest to 3.2.13

Updates org.scalatest:scalatest from 3.0.9 to 3.2.13.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Applied Scalafix Migrations

org.scalatest:scalatest:3.1.0 (created no change)

https://raw.githubusercontent.com/scalatest/autofix/e4de53fa40fac423bd64d165ff36bde38ce52388/3.1.x/rules/src/main/scala/org/scalatest/autofix/v3_1_x/RewriteDeprecatedNames.scala
Documentation: https://github.com/scalatest/autofix/blob/master/3.1.x/README.md

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalatest", artifactId = "scalatest" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "org.scalatest", artifactId = "scalatest" }
}]

labels: test-library-update, early-semver-minor, semver-spec-minor, scalafix-migrations, commit-count:1

Superseded by #370.


Missing windows 11 edition in Shell launcher

I wasn't able to enable shell launcher via MDM on Windows 11 Pro, but it worked with Windows 11 Enterprise, so I'm thinking that the Applies to section must mention particular edition of Windows 11.

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

ID: c51c7628-5bb2-e962-e837-24a1b5123582
Version Independent ID: e59acc13-b986-a5f5-9cd0-f27e5cc69866
Content: Use Shell Launcher to create a Windows 10/11 kiosk (Windows 10/11) - Configure Windows
Content Source: windows/configuration/kiosk-shelllauncher.md
Product: windows-client
Technology: itpro-configure
GitHub Login: @lizgt2000
Microsoft Alias: lizlong

To make it easier for you to submit feedback on articles on learn.microsoft.com, we're transitioning our feedback system from GitHub Issues to a new experience.
As part of the transition, this GitHub Issue will be moved to a private repository. We're moving Issues to another repository so we can continue working on Issues that were open at the time of the transition. When this Issue is moved, you'll no longer be able to access it.
If you want to provide additional information before this Issue is moved, please update this Issue before December 15th, 2023.
With the new experience, you no longer need to sign in to GitHub to enter and submit your feedback. Instead, you can choose directly on each article's page whether the article was helpful. Then you can then choose one or more reasons for your feedback and optionally provide additional context before you select Submit.
Here's what the new experience looks like.
Note: The new experience is being rolled out across learn.microsoft.com in phases. If you don't see the new experience on an article, please check back later.
First, select whether the article was helpful:

Then, choose at least one reason for your feedback and optionally provide additional details about your feedback:

Article was helpful
Article was unhelpful

Finally, select Submit and you're done!


Add Linear Programming Solver

Here's a very ambitious addition!
TL;DR: this PR adds a matrix-like solver to make problems with loops way easier to solve, and I have some questions about implementing the front-end.
This PR aims to add a Linear Programming solver alongside the existing Sympy solver, comparable to how the Factorio Factory Planner offers both a traditional and matrix solver. Just like Factorio, it's not practical to have a database of the value of all items in the game (beyond the base game, anyway), which makes solving these problems a challenge. However, I don't love the way Factory Planner handles this lack of information (by having users choose Free Variables), a solver that only needs a minimum of information on what's an output and what's an input. I also wanted something that can choose the most optimal of multiple processing routes - hence, Linear Programming solver.
As this is a big hunk of stuff to support, the first question is whether you (@OrderedSet86) are willing to incorporate and maintain this solver in your repo. If not, I can totally support it in my fork. If so, there is still work to be done with this code. But, since the backend solver is pretty much nailed down and reasonably well-tested (see my dev log on it), I wanted to open this up and ask for input on a few points on the front-end.
First, a high-level overview of my backend implementation:
This solver is largely inspired by Kirk McDonald's Factorio Calculator write-up, but I had to make a number of modifications to handle the increased complexity of GTNH problems:

Kirk's write-up uses powers of the ratio between the largest and smallest values in the recipe matrix to prioritize items in the objective/cost function. However, GTNH tends to have both small and large numbers flying around (from amortized byproducts in the 0.2 range to fluid amounts in the 10k+ range), resulting in very large ratios that cause numeric precision issues. To handle this, a quadratic solver simultaneously scales both items (e.g. 1000L oil might become 1kL) and recipes (e.g. 5->1 becomes 100->20) to minimize this "priority ratio".
We don't know which items should be inputs to a problem. Instead of making the user enter every one, the solver finds a minimal set of Extra Inputs to add. It does so by adding terms to the objective function at a higher cost than explicit inputs, such that user-specified inputs are used before additional items are added. In practice, the solver does well even when the user specifies only one or two "main" ingredients (like ilmenite ore in the titanium line or pmp in the platline) .
Kirk's recipe tax to minimize byproduct production doesn't apply well to GTNH problems, where it's often cheaper (in terms of # of recipes and cost of inputs) to bypass reprocessing loops we would much rather be used. I replace this with explicit byproduct variables that are either minimized with highest cost (in most cases) or maximized with lowest priority (when a byproduct is "desired" as the output of recipes that are only included to deal with a useful byproduct, like processing radioactive sludge dust).

I chose CVXPY as the LP solver of choice for this problem because it can also handle the quadratic scaling problem, all in one shiny dependency.
Are are the design questions I'd like to discuss:

How to handle new required parameters in project file.

New parameters include:

Byproducts (when the simple "is this only ever an output" heuristic fails, is a byproduct desired or minimized)
Explicit Inputs (with priority level for "expensiveness")

Theories include:

Adding even more dictionary-type tags to each recipe, like target does
Modifying project format (either with a pseudo-machine on the same list or a higher-level dictionary with solver parameters and recipe sections)

Corollary: what are better/shorter terms for "input expensiveness" and "byproduct handling type"?
Corollary: how important is it that we maintain compatibility with projects for traditional/sympy solver? I like the idea of being able to switch between the two easily, but how often would the user actually do that?
Corollary: how should user select between solvers? It could be a command line argument or some aspect of the project yaml file, like presence of a solver parameters pseudo-machine or the schema of the whole file.

How to the handle bracketed tags in the project file that differentiate "flows" of the same item.

Currently implemented: always ignore them. Allows easier compatibility with sympy solver, but there are some scenarios where you still want to separate ingredients with the same name to show perfect loops:

P-507 is consumed by three machines in the Naquadria and Naquadah Stage One sections, and three other machines (in the same sections) produce exactly the amount needed by each consumer.  You might want separate visual lines to show that a loopback pipe could easily handle each of these perfect-loops, rather than having all inputs and outputs go through the same node.

Theories include:

Add a different tag with curly brackets or something that is treated as "stronger" than square bracket (I don't like this as it's complicated for the user)
Ignore these scenarios because they're rare (probably best option)
If it's a common enough issue, automatically detect perfect loops and separate lines without user input.

Is it worth the effort of supporting number-of-machines tags in addition to target items.

A solution that allows for "number:" tags like the sympy solver will (in my head) involve a sizeable modification of the LP problem. The relevant recipe_var would be set/constrained and the targets (which the user must still specify) would be maximized rather than a constraint.
In short: it's hard to do, and would require support of a distinct solver "mode"

Let me know your thoughts!

I would appreciate if you had consulted me first, since I am working on a new solver already here: https://github.com/OrderedSet86/flow2 I think we duplicated a lot of work. (You can message me at ".order" on Discord.) But I think we ultimately agree on three major points, which is really good:

Item value database is inpractical for a lot of reasons
The goal should be minimizing user input as much as possible. My broader vision is to have it "just work" from selecting recipes in a NEI-like web interface (https://github.com/OrderedSet86/webnei-solid) even for users who are not that familiar with the quirks of the factory solver.
The most obvious/practical user input minimizing solution is to only specify external input/output. From my testing on flowv2 it reduces amount of user interventions by 8x on platline.

I had some issues with trying to include loops in a LP problem solver earlier, which I detail here: https://github.com/OrderedSet86/flow2/blob/main/math.md My current solution that I have been exploring is an explicit equation solver using sympy again, mostly because it gives a more clear closed form solution using rationals.
For (1), I just added a new entry like in the image. Then while processing the yaml file I watched for v2_node_type or m to determine type. This is probably the best for backwards compatibility. I think there will be additional tooling required for these inputs because although there are fewer inputs, it is harder to come up with them a priori and the tool should guide you towards suspected required inputs. I have some ideas for this, like binary searching over subgraphs. Yes, we should continue using the project YAML file.

For (2) I think it can ignored for now, but a more fundamental rework of readability is needed soon. The current edges overlap way too much and unreadable stuff can happen often. In particular something that I think hurts readability a lot is same-rank horizontal dependencies, which you can see an example of in the above chart between Naq Stage 1 and Naq Stage 2. Rank can be manually specified when generating a graphviz chart, so I can write an algorithm that makes layout better for this (roughly speaking, distance from the source node).
For (3), I am not seeing how this is difficult, but perhaps you are constructing your LP problem in a way that makes this difficult. I will look at the code now.
 I think networkx is a significantly better choice for graph problems as it makes searching for ancestors/children and implementing common graph algorithms much easier than the ad hoc solution I am doing currently. You can see this if you look at the v2 code, it is significantly cleaner and easier to maintain.

Ah I see, your solver uses priority ratios: https://github.com/OrderedSet86/gtnh-flow/pull/47/files#diff-7ec0af41c2feb068c65f4ee2a9e4775a5e3e145d08656288b1d1cd13efabd5bbR106-R136
I don't think this will work for all problems due to the issues I describe here: https://github.com/OrderedSet86/flow2/blob/main/math.md#linear-programming-and-selecting-an-objective-function Furthermore, the failure modes are not that obvious and it will randomly break for the end user, which is a situation we want to avoid.

Ah, phooey. I looked all over at solvers for other games, but didn't think to check your other repo.
Fortunately, I do think this solution has a thing or two to add to the conversation. Firstly, from reading that math write-up:

You mention the "sensitivity" issue with priority ratios in the objective function. That is, the constant you multiply by to prioritize one thing over another must be very large to handle situations where item quantities blow up (like bio lab stuff). The solution I tracked down for this was matrix scaling, where item and recipe quantities are scaled to minimize these big differences in number scales. While I haven't tested it with bio problems specifically, I found that it was able to resolve large-number situations (like liquid air distilling, etc.) such that this priority ratio only needs to be <10 - well within a reasonable range, and always predictable. After the solver completes, the amount-of-each-recipe variables can be unscaled to recover the solution. Check that out here. As an unexpected side effect, the minimal solution this scaler finds tends to combat what you called the "2<1000" problem, where items on a lower scale, which thus have smaller amounts and lower costs, can tend to be selected. I found that items were often scaled to the same level, so the "2" item would be scaled by 1/2 and the "1000" item by 1/1000. Note that this is still prone to some issues, mostly with decimal precision (see the very bottom of my very-hard-to-read-devlog).
It's always fun when this happens - I arrived at the same idea for finding a minimal set of inputs to a given problem. You talk about it in beyond linear programming. I experimented with the quadratic approach you mention (where  input_amount = binary_switch * continuous_amount) using CVXPY, but it didn't play well with its DCP ruleset (I struggle to understand why), and the other rulesets have other gotchas like strictly positive variables that make them not applicable. Perhaps someone smarter than I could figure it out or find a different solver. What I did figure out (while on top of a mountain in Italy, absent-minded thinking about this problem, talking to my sister and making fun of myself for struggling with this problem... it was a hilarious moment) is a sorta-hacky way to linearize the problem. Instead of input_amount = binary_switch * continuous_amount, I use input_amount = (binary_switch - continuous_subtractor) * BIG_NUMBER, where the big number is practically the priority ratio (because that is the largest amount of any ingredient we expect to use in this problem). See it in action here. I don't love it and there are situations where it might break down (if BIG_NUMBER isn't big enough). Check out this comment for why this might fail, and why I think it probably won't happen in not-contrived problems. Further, in my tests where I intentionally made BIG_NUMBER too small, I usually saw either a failure-to-solve or a "subtractor" of zero, meaning the solution used a maximal amount of the input. Both of these cases are detectable, which means we can report them to the user. I think this makes this solution "plenty good enough" for most cases.

I'm certainly open to more ideas on this, especially better options than the "minimal set of inputs" approach. For example, running the solver on the platline with PMP as an input and platinum dust as an output, the solver would find that using zero PMP and shortcutting to a reprecipitated platinum dust input. Of course, this approach also displayed some unexpected "intelligence" by finding that it required fewer inputs to reprocess the byproduct calcium chloride and use the extra chlorine (along with some extra inputs) to produce some nice byproducts. It's not a bad approach, but it still requires the user to specify stuff we would like to be automatic, like simply acids and other inputs.
I do like the "maximize flow as a low priority" approach you mention in your writeup, and I think it might be a way to implement the "use as many of the provided recipes as possible" heuristic I was considering. I don't love that it will conflict with using the solver to choose the most optimal of multiple possible processing paths. But, honestly, I think it's very rare that you would want to use this solver for that. Perhaps I'm wrong,
You say  "From my testing on flowv2 it reduces amount of user interventions by 8x on platline" - does this mean you have a minimal-set-of-inputs prototype out there?
Regardless, if you think this implementation holds some merit, I'm definitely up to contact you on discord and talk about integrating this with flow2 instead. I'm glad I stopped here to ask for input, before getting too deep into integration with this flow1.

Two other odd points:

I've also been dreaming about hooking the solver up to a website with exported recipes. One odd thought I had: retrofit essentially your WebNEI into https://www.satisfactorytools.com/. It offers some very nice features, like saving projects for later and displaying everything on an interactive, draggable map. It would be a hunk of work, but the main details would be A) swapping out the recipe list (which is currently downloaded in its entirety) for SQL database calls and B) swapping out the existing solver for whatever suped-up version we come up with (either ported to javascript or enabled via API calls, neither of which I love).
It's not a drop-in replacement, but I think another instance of me-not-finding-something-that-already-exists happened with the recipe exporter your WebNEI uses. I wrote this one after researching like crazy (because I so hate java) and never finding the one you used. I'm honestly blown away I didn't find it in literally hours of searching. How did you happen across this one?

Yes - please reach out on Discord. I am actively developing it and we would benefit from coordinating on development.
Yep, flowv2 has a MVP working. Here is platline. Unfortunately loops make the readability problem worse (look at the mess halfway down), and deciding "minimal set of I/O" is counterintuitive for large machine lines. Needs more time to cook before it is ready to replace v1 (the code will ultimately live here once it is done since this repo is much more popular / widely-known). But it works.

For broader design philosophy of the tool - I am not intending to pick the objectively optimal route between two methods. There are other tools that can solve that. Instead I leave the burden of machine line and resource selection up to the user, and instead show something that is (A) a useful and readable overview of a machine line, which can be used to build a line in the actual game, (B) an accurate predictor of overclock and machine count values, and (C) as a consequence of A and B, something useful for developer pack balancing. This is a complex enough problem and I am happy to leave eg. HOG fraction solving as an out of scope problem. I only mention this up front because you mentioned it here:

I don't love that it will conflict with using the solver to choose the most optimal of multiple possible processing paths. But, honestly, I think it's very rare that you would want to use this solver for that. Perhaps I'm wrong,

1 & 2) I am skeptical of any solution that requires numerical constraints on recipe I/O values. There is no guarantee that a machine line will not exist in the future that breaks this. For example, naqline has large input quantities and outputs tiny 4mb/s quantities. I think a "good enough" objective function can be found, but I am worried about it randomly breaking in a completely opaque way to the end user, and us not having a better answer than "tough luck." I would like to use a solver with no numerical sensitivities / heuristics if possible, and my v2 sympy solver does that. I appreciate the work you have done (it is impressive you made something this big in such a short time in an unfamiliar repo) but you are at the same spot I was when initially developing it - I looked into the pulp solver (same library even!) and ultimately discarded it due to too many annoying heuristics and issues needed to patch it.
I am theoretically open to basing the web UI on another tool, but I personally have some dislike of most JS frameworks (particularly React). It seems Satisfactory Tools is using Angular, which I do like more than React... We can likely steal whichever libraries they are using and integrate them into the final implementation. Really it comes down to whether it is worth it for dev time saving, as I would be happy with writing the web interface myself (assuming we choose a non-terrible framework). The existing one uses SolidJS which I like quite a lot, but I think is not in a state where it is ready for community projects - the UI library already got deprecated since I last worked on it. API calls are fine to me, the DB will be colocated on the webserver running WebNEI.
For the recipe exporter, nesql-exporter is the "official" one written by one of the dev team, so it is probably best if we coalescence around that one. I believe there is a fork owned by the GTNH developers so we can get permissions to manage commits to that one. The primary author is nice to work with but often busy, so we will have to do the legwork on getting it going. My understanding is the two main needs are more NEI handlers covered and faster recipe exporting.


Make plot_gate_map generic for any backend

Summary
Previously the plot_gate_map() family of visualization functions only
worked with a fixed hard coded list of number of qubits. The function
made the assumption if the backend had a matching number of qubits it
was an IBM backend that had the same number of qubits (and fell into a
fixed connectivity topology) and would use the manually set graph layout
to visualize the function. This was problematic because it didn't
actually work for any backend, and if a backend had the same number of
qubits as an IBM backend but a different connectivity it would use a potentially
nonoptimal layout. This also required us to update the hard
coded list whenever a new IBM backend was released to support
visualizing them. Additionally the functions only worked with BackendV1
and BaseBackend based backends and would fail if a BackendV2 object were
passed to the function. This commit address these issues by making 4 key
changes to the function, first it adds a new qubit_coordinates kwarg to
all the methods which if specifed can be used to manually specify a
graph layout to use for the visualization. The second is that the
hardcoded list for layouts are only used if it's an IBM backend (or a
fake backend) so that we're using them where appropriate (the 127q
layout for ibm_washington is also added). The third change is that if a
graph layout isn't provided and it's not an ibm backend with a hardcoded
entry, retworkx's spring_layout() function is used to create a layout.
In the future we can use a more appropriate planar_layout() function
after its available in retworkx (see
https://github.com/Qiskit/retworkx/issues/438 ). Finally the last change
is that BackendV2 support is added to the function to make sure we're
able to use the visualization function regardless of what type of
backend is passed in.
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

27 of 96 (28.13%)  changed or added relevant lines in 1 file are covered.
11 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.06%) to 83.508%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit/visualization/gate_map.py
27
96
28.13%

Files with Coverage Reduction
New Missed Lines
%

qiskit/pulse/library/waveform.py
3
89.36%

qiskit/visualization/gate_map.py
8
41.56%

Totals

Change from base Build<PHONE_NUMBER>:
-0.06%

Covered Lines:
52761

Relevant Lines:
63181

💛  - Coveralls


browsing Flask-Admin-Dashboard in mobile is very slow

hi
i run Flask-Admin-Dashboard in raspberry pi and make a hotspot by hostapd to other mobile can connect to my raspberry. but my big problem is that when i want to browse project in mobile browser that connected to raspberry by wifi, the Dashboard is very slow and every page take avg 40 seconds to load!!
can you help me?

Hi.
There's nothing Ican do, it is related to Flask and Flask-Admin projects, I was just implementing a Dashboard template, navigation speed is not affected by this.


Reformat source

Fix the format error from #24425

LGTM. Do we have an automatic checker in place now?

Ah, just saw the other PR.


Use eth_getAccount if provided by the endpoint

eth_getaccount is very useful because it sends us the nonce+balance+codehash in one response:
https://www.quicknode.com/docs/ethereum/eth_getAccount
but this is not supported by all endpoints so we need to check if this is available and cache that info.
if support we can optimize this via a single eth_getAccount call, and a followup eth_getCode if the code_hash is not KECCAK_EMPTY
https://github.com/foundry-rs/alloy-fork-db/blob/cbd6df29d515dfbab9ce48c1bdb37a3e592c62d0/src/backend.rs#L215-L221
see also alloy provider fn
https://github.com/alloy-rs/alloy/blob/067cc464bd1357e745653709db051707b949cc6b/crates/provider/src/provider/trait.rs#L242-L249

we need to add a new variable that tracks this and when we fetch the first account we can try fetching it with eth_getAccount if that succeeds we know the endpoint supports it and can keep using it otherwise we use what we currently use (3 rpc calls).
something like
enum GetAccountMode {
  Unknown,
  EthGetAccount,
  AccountCodeNonce
}

this can have significant perf drawbacks and should be avoided


FEAT: Auto-export TopSky and GroundRadar maps to plugin maps file

An interesting feature is the ability for the plugin to export to the plugin maps files provided the user gives the map file directories. The plugin would then look of an AIRPORT GROUND LAYOUTS header then look for the next header after that, inserting the ground layout before the next header with adequate spacing.

Seems extreamly cool! How would this interact with folders / files thats in a git clone? Will it give problems with the branhes or not? :)

The plan is for the feature to revert your files back after the debug session unless you explicitly want to the save the results so it would ideally not interfere with any git repos neither cause any changes. The idea is that you are in complete control of the changes.


git repository outside project directory with gitdir in .git file : gitdir not recognized

I have all my scripts in the folder  C:/Users/user/Desktop/programming/. Because this folder is sync with a cloud, I don't want the git to be in this folder.  (I only use git as a local management).
So I did this (following the steps from here):

I create a folder   C:/Users/user/Document/vscodegit and did a "git init" inside it
Inside C:/Users/user/Desktop/programming/ (my project directory), I created a file called ".git", inside which I added this:
gitdir:  C:/Users/user/Documents/vscodegit/.git
I open VS  code, click on the git icon and on Initialize Repository.
I am then ask Pick workspace folder to initialize git repo in, and I select the folder C:/Users/user/Desktop/programming/.

I then get this error:
Git: fatal: Not a git repository: C:/Users/user/Desktop/programming/ C:/Users/user/Documents/vscodegit/.git
I have tried to use "gitdir:  C:/Users/user/Documents/vscodegit/.git"  (notice the ""), then I get this error:
Git: fatal: Invalid gitfile format: C:/Users/user/Desktop/programming/.git

Sorry for this, I had two spaces between gitdir: and  C


Allow client code to supply the window and document objects.

It doesn't look like there is already a way to do this but in such case please advice.  I don't mind implementing this change myself but I'd like to gauge the interest and chances of getting the change merged in before I start writing any code.
I'm planning to use hammer.js in an environment where there could be multiple valid document and window objects.  My proposed interface is to add the window and document objects as part of the configuration.  I understand there might be issues such as the creation of the TEST_ELEMENT global and perhaps other issues.
What do you guys think?  Thanks!

Does anyone care about this?  Is this project even active these days?

bump


Turorial video Custom Controller and Views

Laravel Version: 5.5
Voyager Version: 1.0
PHP Version: 7.0
Database Driver & Version: last

Suggestions:
Hi, it would be great to create a tutorial or video for the custom process of a model, for example table posts
How to perform the controller with all its methods, index, update, create, delete, etc ...
Custom browse.blade.php
Custom edit-add.blade.php with the possibility of including several columns as they have already developed in the bread that comes by default with Voyager.
Does anyone else think this would be interesting?
In addition, I think it is essential to finish using the module with unlimited productivity, to be able to include statistical graphics in the Dashboard, as well as being able to create a bread master-detail, for example for orders, invoices, etc.
I do not know if it's too much to ask, but it would be incredible.
Thank you.
Steps To Reproduce:

I'm not entirely sure what the question is.  Customizing views from packages is covered in the laravel documentation (and ours for convenience).  Customizing controllers is as simple as extending the class and adding a single line to a service provider, which I believe is covered in our docs as well.
As for the dashboard, we can't possibly support every possible use-case, but we may add some built-in flexibility in a future release.  For now, if you can code it, you can do it, just override the view and add what you need.

Thanks, solvent.


fix hiding bottom sheet modal; fix i18n console error on android

Description
While navigating through the application I found 2 errors related to the android os.

First was console error that v4 is not supported on android (check this link - https://www.i18next.com/misc/migration-guide)
Second - bottom sheet gestures wasn't handled properly - https://github.com/gorhom/react-native-bottom-sheet/issues/1014#issuecomment-1175228219

Type of change

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

[x] UI test (navigating through the application), just a normal usage of a functionality

Screenshot(s)
Android

iOS

Checklist:

[x] Add the correct label to your pull request
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Also good work of catching the other issue with i18n and android, we have same issue in production app. We didn't investigate this but it was annoying :D


testYears Fix

The specific test of focus was the testYears test from the UtilitiesTest class.  Due to the existence of leap years, the previous designation of a year as 365 days led to the test returning the incorrect year when traversing back 75 years, occurring from 12/15 to the end of the year.  To change this, a year was changed to be 365.25 days.
Below is a table depicting the days this test will fail based on the days/year scalar:
Days/Year | When testYears Test Fails
365 | 12/13 0:00 - 12:31 23:59
365.2 | 12/28 0:00 - 12:31 23:59
365.22 | 12/29 0:00 - 12:31 23:59
365.24 | 12/31 0:00 - 12:31 23:59
365.25 | 12/31 0:00 – 12:31 23:59
The current value for this scalar is 365.25.

To elaborate a little more - the current approach of having a "quick & dirty" time conversion method means that there are always going to be gaps somewhere when compared to the rigorous but slower built-in Java time handlers.
Setting the "days/year" in this function to 365.25 causes a couple tests around the HealthInsuranceModule to fail. That module is designed to process things on a monthly and yearly basis, but expects to be called on the usual timestep, ie one week, so it's able to be called more often than intended with no downside. On the other hand, it's not designed to "catch up" if it's not called in a given time frame.
The last piece of this is that the Utilities.convertCalendarYearsToTime function is expected to return 1/1/XXXX at 00:00, ie the first millisecond of the year.  So if the calculation is off by one millisecond then it returns 12/31 of the previous year. Then for 3/4 years (ie, non-leap years) 12/31/X + 365.25 days = 1/1/(X+2), ie, a whole year in the middle gets skipped. And for the leap years, 1/1/X + 365.25 = 12/31/X, it's not the next year yet. So in some cases, things will fail because they got counted twice. Some things will fail because they didn't happen at all.
I proposed 2 options for a fix to Aditya:

Always run the HealthInsuranceModule tests on a weekly basis over the intended timeframe, to mirror how they are actually called in practice.
Shift the start date, so that instead of having testing dates right around the year boundary, they happen at a time where the leap year math doesn't matter.

To elaborate a little more - the current approach of having a "quick & dirty" time conversion method means that there are always going to be gaps somewhere when compared to the rigorous but slower built-in Java time handlers.
Setting the "days/year" in this function to 365.25 causes a couple tests around the HealthInsuranceModule to fail. That module is designed to process things on a monthly and yearly basis, but expects to be called on the usual timestep, ie one week, so it's able to be called more often than intended with no downside. On the other hand, it's not designed to "catch up" if it's not called in a given time frame.
The last piece of this is that the Utilities.convertCalendarYearsToTime function is expected to return 1/1/XXXX at 00:00, ie the first millisecond of the year.  So if the calculation is off by one millisecond then it returns 12/31 of the previous year. Then for 3/4 years (ie, non-leap years) 12/31/X + 365.25 days = 1/1/(X+2), ie, a whole year in the middle gets skipped. And for the leap years, 1/1/X + 365.25 = 12/31/X, it's not the next year yet. So in some cases, things will fail because they got counted twice. Some things will fail because they didn't happen at all.
I proposed 2 options for a fix to Aditya:

Always run the HealthInsuranceModule tests on a weekly basis over the intended timeframe, to mirror how they are actually called in practice.
Shift the start date, so that instead of having testing dates right around the year boundary, they happen at a time where the leap year math doesn't matter.

I was wondering if we could just pick a start date for the testYears function rather than starting with the current date - is that what you are proposing in 2?

I was wondering if we could just pick a start date for the testYears function rather than starting with the current date - is that what you are proposing in 2?

Not what I had in mind, but that's an interesting approach. I was thinking we should change the days/year to 365.25, then fix whatever falls out from that. Never considered the alternative of just picking a specific start date in the one test that fails.
Either way we're changing how a test works because what it's testing has edge cases. Not sure there's any way around that...

Not what I had in mind, but that's an interesting approach. I was thinking we should change the days/year to 365.25, then fix whatever falls out from that. Never considered the alternative of just picking a specific start date in the one test that fails.
Either way we're changing how a test works because what it's testing has edge cases. Not sure there's any way around that...

Fixed by #853 instead.


fix: use cache directory in users home instead of system-wide tmp dir

Using a cache directory in users home directory fixes problems with conflicting user permissions and is also more secure because other users cannot inject executable code by placing a manipulated file in tmp.
Fixes  #51

This PR just hit a program I use and caused an outage because we don't run with writable home directories. The resulting traceback doesn't really explain the problem:
Error: EPERM: operation not permitted, mkdir '/var/empty/.cache'
    at Object.mkdirSync (node:fs:1391:3)
    at Object.mkdirSync (pkg/prelude/bootstrap.js:1639:33)
    at createDirRecursively (pkg/prelude/bootstrap.js:256:8)
    at createDirRecursively (pkg/prelude/bootstrap.js:255:5)
    at createDirRecursively (pkg/prelude/bootstrap.js:255:5)
    at process.dlopen (pkg/prelude/bootstrap.js:2217:7)
    at Object.Module._extensions..node (node:internal/modules/cjs/loader:1452:18)
    at Module.load (node:internal/modules/cjs/loader:1197:32)
    at Function.Module._load (node:internal/modules/cjs/loader:1013:12)
    at Module.require (node:internal/modules/cjs/loader:1225:19)

It would be much better if this had a fallback to a secure temporary directory, and a clear error message when that fails.

@quentinmit I think we can fix this by using an env var to customize that dir on needs. Want to submit a PR?


Streamlining Nether for usage scenarios

Game Studios like what Nether bring to the table, but struggle somewhat to know how to start using Nether, how to extend Nether and how to get benefits from updates that are provided when Nether evolves. This is a write up on some observed problems and solutions to them.
Alternative 1 – The contributor
Clone the Nether repository and start hacking away on-top of it. This approach would be beneficial for a Game Studio that want to go “all in” on what Nether has to offer and/or want to contribute to the development of Nether.
You would get a working solution of Nether that is tested by someone else and that is developed and driven by the community. As Nether evolves you will get new features (that potentially could be configured to not be used) as they are incorporated and merged down your branch.
If you are willing to follow the flow and just use what is there, then this approach would be good. This is currently the approach that exists in Nether.
Benefits:
•	Full power to all source code of Nether
Drawbacks:
•	Updates are hard
•	You have to use the exact tool chain that Nether is built with
•	No or very limited way of extending without changing the original code
Alternative 2 – Extending Nether with your logic
(not implemented)
If you do like what Nether has to offer and are starting from beginning, you might be considering using Nether “as is” but extending it with plugins/mods to fit your need. This is a very good option for a Game Studio that is starting from the beginning and has no or little knowledge on selecting hosting options for a game backend. In a way, it would be very similar to Alternative 1, with a “working” solution of Nether updated by the community with updates that would be “simple” to incorporate by merging newer versions with your cloned version.
Nether would have to expose extension points that could then be pluggable with little or no configuration. Conventions would be preferable to using configuration in such a scenario making it easy to extend the service by “just adding new game service logic”.
Nether could expose easy extension points through interfaces that could be implemented and exposed as .NET Core Libraries (DLLs) that are later dropped into a Plugins folder. At startup Nether services would have list files in that folder and look for implemented Plugins. .NET Core provides this infrastructure with MEF 2 (Microsoft Extensibility Framework), but has not yet implemented all functionality in MEF 1. This means that the resolving of Assembly dependencies need to be handled manually.
AssemblyLoadContext is the new file in .NET Core that provides similar capabilities to AppDomains in .NET (except for the isolation capabilities) and could be used to load assemblies dynamically.
`
[ImportMany]
public static IEnumerable< Nether.Analytics.IGameEventsHandler > GameEventHandlers { get; set; }
static void Setup()
{
var files = Directory.GetFiles(path, "*.dll", searchOption);
var assemblyNames = files.Select(AssemblyLoadContext.GetAssemblyName);
var assemblies = assemblyNames
.Select(AssemblyLoadContext.Default.LoadFromAssemblyName)
.ToList();
config = configuration.WithAssemblies(assemblies, conventions);
using (var container = config.CreateContainer())
{
GameEventHandlers = container.GetExports<Nether.Analytics.IGameEventsHandler>();
}
}
`
The above sample code doesn’t include code to resolve dependencies of loaded assemblies, something that can be handled by catching the Resolving Event on the AssemblyLoadContext instance.
For this alternative to work, Nether would have to expose “most” of its code as pluggable by defining interfaces for almost every part. If no plugin is found that replaces or extends an interface, Nether should fall back to the native implementation, thereby also providing the same benefits as alternative 1 above.
In this alternative Nether could be distributed as precompiled binaries.
Benefits:
•	Easy ability to extend Nether with custom logic
•	Updates to Nether will be “easy” to consume.
Drawbacks:
•	Need to have a working environment to compile and/or run Nether, since it’s provided as is with extension points.
•	If you have your own backend, want to host additional services or host the backend in a way not supported out of the box then you may run into trouble and need to tweak source code and will have issues with updates later on.
•	Nether Developers need to think about extensibility points while developing Nether.
Alternative 3 – Extending your game services with Nether
(not implemented)
If you already started development of your backend or have somewhat different demands on the hosting alternatives provided by Nether, then you would want to extend your own backend with Nether, rather than the other way around. In the .NET Community the most obvious way of doing this would be by using NuGet Packages together with a flexible and pluggable implementation of Nether.
To start with, this alternative would be the most flexible but could also be combined with Alternative 2 (and thereby 1) above, providing both an out of the box experience, but also the ability to cherry-pick features in Nether that provide value to you.
Consider the following scenario:
•	Game Studio have started working on an API for their game and have currently implemented login and user management to save state of their players.
•	They want to have an API for leaderboards and a solution for Analytics and like what Nether has to offer.
•	Picks correct ARM template to deloy infrastructure for Nether.API.Leaderboard and deploys
•	They already have a ASP.NET Web API and executes:
o	install-package Nether.API.Leaderboard
•	In their Startup.cs, they include code similar to:
services.AddNetherLeaderboard(… configuration …)
•	Game Studio also have a background processing job (perhaps hosted in Service Fabric) that would be perfect to consume GameEvents for the analytics pipeline. In that project they execute:
o	install-package Nether.Analytics.GameEventProcessor
•	In their Program.cs (or similar) they would create and start the Nether Game Event Processor using code similar to
`
var netherHost = new NetherAnalyticsHost(… configuration…);
netherHost.ResolveEventType += ResolveEventType;
netherHost.UnknownEventType += HandleUnknownEventType;
netherHost.RunAndBlock();
`
•	NetherHost class would then provide Events and/or abstract methods to catch and/or override in order to extend and tweak the default behavior.
•	Even plugin support could be used to tweak the default behavior of NetherHost by implementing interfaces that defines plugins and handing them over to the NetherHost, either by configuration or by convention.
Any updated done to Nether would then come as updates on NuGet.
•	Done!
Their backend has now been enriched with a Leaderboard API.
In order to develop Nether we would have to have an implementation of such a WebAPI with all provided features, that is basically what already exists and will give the same benefits as Alternative 1 above.
Benefits:
•	You start with your backend and can customize everything
•	Updates to Nether will be easy to consume since they are distributed as NuGet packages
•	Extensible. I can extend anything very much like I use other libraries out there.
•	I don’t need a working environment to compile or run Nether. Everything runs in my own environment.
•	Possible for Nether to support more than one platform (both .NET Framework and .NET Core, etc.)
•	Done right you could also have alternative 1 and alternative 2 included in this, since Nether development still need a working environment to test everything “as is”.
•	Nether falls into the normal usage pattern for using other’s framework in .NET development
Drawbacks:
•	Limited or no drawback to end user.
•	Nether Developers need to think about extensibility points while developing Nether.

@krist00fer - these are proposed solutions, but I'm not sure I fully understand the problem/requirements. What are the outcomes that we want to enable? What aspects should be customisable and how? (e.g. adding new reports, adding validation logic for scores, ...)

@stuartleeks Preferably anything should be customizable, but let’s start with analytics as a starting point. The partners we’ve been talking to all think they’ll send other kind of events that are outside of the GameEvents that we’ve designed. Also, they’ve talked about “enriching” the events differently than the way we do and perhaps putting the result somewhere differently. Some others want to ignore some events or parts of the analytics pipeline and leave that out of the equation. So for EventProcessor we are talking about:
Analytics and customizations

Customizable hosting process (not just in a WebJob). For example, if user already use Service Fabric.
Extendable way to recognize GameEventTypes (we somewhat provide this feature today, but requires code changes to Nether). For example, if GameEvents are sent using another “more efficient” way than our default JSON-format.
Ability to handle all type of events differently. I.e. inject custom code for all Game Event Types, like GameStartEvent, LocationEvent, LevelStartEvent, etc. For example, currently LocationEvents are enriched by using BingAPI, but other providers might provide services that are needed, cheaper or otherwise better.
Additional output from GameEventHandlers. Currently we output to Blob and EventHub, but partners want to customize more and decide (sometimes dynamically) what goes where and when.

Feedback is that user of Nether might not understand exactly what information they want or need from the game client up front and that it might change over time. So the need to tweak the analytics pipeline (without losing the value of Nether) is very much needed.
Continuing down the Analytics Pipeline, we’ll need to think about a very customizable solution where Nether provides reports/output for “known event types” handled the “normal way”, but also expect that users of Nether will have a lot of custom solutions on top of this.
For example, ADF might by default register a few jobs, that creates the default output for the “known event types” but we should support and encourage custom implementations side by side. Some outputs are valuable for almost everyone, some outputs only computable if the correct events are sent and some events and/or outputs doesn’t make sense at all for some games. So “big data jobs” need to be very selectively deployed and expect other “jobs” to be around.
Other Nether API and customizations
Going to the other APIs that we provide we know that almost no game will use Nether as is. There is always the need to add one more API or just see Nether as another API that we wanted to add to something that already exists. Yes, we could see this as a Micro Service Architecture where Nether is just one (or many) Micro Services. But what if Nether is almost all that I want, if it just had one more feature. Or what if I already have all that I want if I could just have Leaderboards and what if I’ve already decided on an architecture go with and what if… As soon as you start tweaking the direct source code of Nether you get into those problems that I described before.
So, some examples for the Nether APIs that would be lovely to have (all taken from real life):

Game already have a backend with custom API, but need a way to hand out connection information to clients for connecting to Nether Analytics. This code is today exposed as a controller responding on /api/endpoint . Right now the “best solution” is to copy/paste the code into their own solution. A better solution would be if this logic where encapsulated in an easy re-usable way that doesn’t include dependencies to everything else that comes with Nether.Web. Preferrably using a NuGet package. #sthlm
Game has no backend and like what Nether provides. Need additional features in order to fit their needs of a leaderboard service. Want to provide other implementation that what is available out of the box. Right now data storage for leaderboard is “pluggable” but not the API or business logic (unless you cheat and put that in the data layer). #stpbrg
User of Nether likes one part of Nether, but don’t like the fact that configuration is handled completely different than rest of the game. They rather have configuration in one place so they can include Nether in their CI/CD solution easily and also have a single interface to configure deployments. If we could have configuration be pluggable or injectable we could easily allow users to store configuration in other config solutions like databases, etc. #sthlm
User want to add one additional method to the Nether API to catch WebHook Event being fired. The code behind that need to be custom made and depends on what WebHook that is fired. If Nether could have a plugins or if Nether was a plugin/package to my custom web app, then I could write that code without breaking or customizing Nether. #hmbrg

A lot of above could be fixed with additional configuration and conditions in Nether, but a pluggable architecture and/or a solution where Nether could be adapted to an existing solution seems like the way forward.
None of the examples or solutions provided above are in anyway prioritized or investigated how hard they would be to implement, which is something that need to be done. Sample “spike solutions” has been made for some of the suggested solutions though.


[Bug] Topics Tree with XML payload

What did I do
Use Topics Tree and navigate to topic with XML payload
What happened
The payload field in the right window contains XML data w/o tags
Expected
Complete XML content should be seen
Environment

OS: OS version, Windows 10
MQTTX version, e.g. v1.11.0

More detail

Next version optimization, thank you for the feedback.


install apt-transport-https via required_packages (issue #369)

Installing apt-transport-https via required_packages mitigates the cyclic dependency mentioned in issue #369

required_packages is in apt module deprected and emitts a warning.

@madddi thanks for looking at this. I'm having trouble reviewing as it looks like the commit history contains lots of commits from master. If you could rebase against the current master I'll take a closer look and provide feedback. Thanks again.

@garethr Sorry, I unfortunately did'nt get around to update this PR. As @jkroepke pointed out, "required_packages" is deprecated in the apt module. Looking at this again I think the best solution would be to provide "manage_repo" and "manage_package" options to disable repository management separately. If you're ok with this I'd like to close this request and open another one with the changes described above.

@madddi I think that sounds like a good idea. I'll close now as mentioned. And I'll look out for the PR and try and jump on a review quickly. Thanks


Handled "columns" property in layer options of map-config

cc @rochoa

I don't know if it's worthy to check options.columns is an array.

Apart from that :shipit:.


HDDS-7594. [FSO] Folders created through S3G are created on file system as "files".

What changes were proposed in this pull request?
Instead of creating 0 byte file, directory is going to be created.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-7594
How was this patch tested?

unit tests
manual tests

@duongkame @swamirishi can you please take a look at this PR?

@errose28 thank you for the review!

@errose28 I've addressed all the comments. Could you please rereview it?

@errose28 thank you for re-reviw!

Thanks for the updates @mladjan-gadzic. Changes LGTM but can you investigate the Copy Object acceptance tests? The failures may be related.

I've checked that already. CI passed on the remote but failed on the upstream. I'd say we are on the safe side.

@mladjan-gadzic The same tests have failed twice in a row here. Each run is actually running the same test as part of unsecure and HA so that's 4 total failures of the same test:
https://github.com/apache/ozone/actions/runs/4103607438/attempts/1
https://github.com/apache/ozone/actions/runs/4103607438/attempts/4
I do see it has passed on your fork though.
Can you check the logs once the artifacts for the latest run becomes available to try to root cause the failure so we will know whether it is related or not? Unfortunately I can't merge this with the same test failing consistently on the PR branch.

@errose28 I will check it further. What is a mystery to me right now is that the same tests passed for acceptance (secure) but failed for acceptance (unsecure) and acceptance (HA). What is also interesting is that for one commit before the latest CI was green but it is red for refactor changes on latest one.

What is a mystery to me right now is that the same tests passed for acceptance (secure) but failed for acceptance (unsecure) and acceptance (HA).

Each acceptance test grouping kind, be it secured, unsecured or HA, run a different set of s3 acceptance tests.  Because of this, the failing s3 copy-object tests are occuring for some reason in the unsecured and HA s3 test suites with the source bucket for the copy either an EC bucket (unsecure) or a random bucket (HA).
The passing s3 copy-object tests for the secure cluster are using encrypted, link or generated buckets, however these are not tested in the failing unsecure s3 acceptance test suite since it fails on erasure coded buckets.  Interested to find the source of the problem here.

Thank you @neils-dev for suggestions, review and re-running CI!

@errose28 any further comments?  Going to merge.  Thanks.


Fullscreen escape key sequence (Ctrl+Alt+Enter) not working

My build of commit 1210421 on a Debian stretch/sid mix seems to have a broken fullscreen escape sequence. The last version I built where it worked was df81e842a. Actual command line I'm using is this:
xfreerdp /u:mark /p:****** /compression /fonts /f /v:[fe80::1dfd:e0c9:9d86:d7bf%eth0] /toggle-fullscreen /drive:x,/home/mark/work/ins

oops, sorry didn't see this issue.
duplicate of #3051

https://github.com/FreeRDP/FreeRDP/pull/3052 should fix this

should be fixed!
https://github.com/FreeRDP/FreeRDP/commit/2db8c7e1079e2160301299de082e854cb4c63479

@mlawren can you verify that this problem is fixed on the latest master?

Current master commit (2db8c7e) works for me. Thanks for the quick response and the overall FreeRDP effort.


Texture corruption in sf::RenderTexture when using sf::View Scissor test

Prerequisite Checklist

[X] I searched for existing issues to prevent duplicates
[X] I searched for existing discussions on the forum to prevent duplicates
[X] I am here to report an issue and not to just ask a question or look for help (use the forum or Discord instead)

Describe your issue here
Due to smoothing issue in my game, I had to render all my drawables into sf::RenderTexture before finally render the texture into the window. This is temporary solution due to my assets problem, but this led me to discover strange behavior of the combination of sf::View::setScissor and sf::RenderTexture.
When using scissor test in render texture, the produced texture is somewhat corrupted, rendering the texture every frame led to flickering. The easy workaround to this problem is to draw something right after using the scissor view.
Your Environment

OS / distro / window manager: Windows
SFML version: 5da286487ae79703c4b918c00f9542be67d8e660
Compiler / toolchain: MSVC x86
Special compiler / CMake flags: N/A

Steps to reproduce

Initialize render texture
Use render texture with scissor view

#include <SFML/Graphics.hpp>

int main()
{
    auto window = sf::RenderWindow{sf::VideoMode{{200u, 200u}}, "Test"};
    auto renderTexture = sf::RenderTexture();

    if (!renderTexture.create(window.getSize()))
        return -1;

    auto shape = sf::CircleShape{100.f};
    shape.setFillColor(sf::Color::Green);

    auto left = window.getView();
    left.setScissor(sf::FloatRect{{0.f, 0.f}, {0.5f, 1.f}});

    auto right = window.getView();
    right.setScissor(sf::FloatRect{{0.5f, 0.f}, {0.5f, 1.f}});

    while (window.isOpen())
    {
        for (auto event = sf::Event{}; window.pollEvent(event);)
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        {
            renderTexture.setView(window.getDefaultView());
            renderTexture.clear();

            renderTexture.setView(left);
            renderTexture.clear(sf::Color::Red);

            renderTexture.setView(right);
            renderTexture.draw(shape);

            // Uncomment this to workaround the issue
            // renderTexture.setView(renderTexture.getDefaultView()); // The bug will still occur if a different view is not applied
            // constexpr auto temp = std::array<sf::Vertex, 1>({sf::Vertex{{}, sf::Color::Transparent, {}}});
            // renderTexture.draw(&temp[0], temp.size(), sf::PrimitiveType::Points);

            renderTexture.display();
        }
        auto sprite = sf::Sprite(renderTexture.getTexture());
        window.draw(sprite);
        window.display();
    }

    return 0;
}

Note: The code is a slight modification from this PR: https://github.com/SFML/SFML/pull/1451
https://github.com/user-attachments/assets/4cfa5124-d214-4252-b9d2-982934e8f4ed
Expected behavior
The produced texture from sf::RenderTexture should not be corrupted
Actual behavior
The produced texture from sf::RenderTexture is corrupted

This was most likely already fixed with: #3114
Can you try the latest master?

Sorry, using the latest commit (7fdce1235e509242bfb9b3532be76830485e2a5e) fixes the problem.
Here the code I use to verify:
#include <SFML/Graphics.hpp>

int main()
{
    auto window = sf::RenderWindow{sf::VideoMode{{200u, 200u}}, "Test"};
    auto renderTexture = sf::RenderTexture(window.getSize());

    auto shape = sf::CircleShape{100.f};
    shape.setFillColor(sf::Color::Green);

    auto left = window.getView();
    left.setScissor(sf::FloatRect{{0.f, 0.f}, {0.5f, 1.f}});

    auto right = window.getView();
    right.setScissor(sf::FloatRect{{0.5f, 0.f}, {0.5f, 1.f}});

    while (window.isOpen())
    {
        while (const auto event = window.pollEvent())
        {
            if (event->is<sf::Event::Closed>())
                window.close();
        }

        window.clear();
        {
            renderTexture.setView(window.getDefaultView());
            renderTexture.clear();

            renderTexture.setView(left);
            renderTexture.clear(sf::Color::Red);

            renderTexture.setView(right);
            renderTexture.draw(shape);

            renderTexture.display();
        }
        auto sprite = sf::Sprite(renderTexture.getTexture());
        window.draw(sprite);
        window.display();
    }

    return 0;
}


Simplify logic of usage reversed index query

Reversed metrix quried from index when the first node with globe in
the metric name closer to start than the latest to end.
IndexReverses overwrite if query should be reversed.

It was a long discussion in telegram https://t.me/ru_go_graphite/2884, but we decided to give a try.
@msaf1980, test it in your environment, please

It was tested and generally it fixes the most of requests


[UI-Fix] Resolve Kubernetes icon broken issue

Notes for Reviewers
Added onError handler, removed an empty file as well.
This PR fixes #11597
Signed commits

[x] Yes, I signed my commits.

Thanks! How well does this work, @Muhammed-Moinuddin? Does the broken link image ever display (flash for a second)?

Thanks! How well does this work, @Muhammed-Moinuddin? Does the broken link image ever display (flash for a second)?

Yes,
It works completely fine for me.


Improve My CV feature

Related to #1
I'll start with TDD

All tests are passing.
Now I should perform an E2E test

It kinda works, but I'm getting step-by-step instructions.

I hardcode a job description in main
I run python3 -m improve_my_cv.main
I get an exception: improve_my_cv.cv_improve.InvalidResponseException: LLM returned an invalid format for response
I re run the script, and get a valid response

There's A LOT of work to be done. But the core is working


⚠ Secret-Cinema has degraded performance

In 79679c5, Secret-Cinema ($SC) experienced degraded performance:

HTTP code: 200
Response time: 3173 ms

Resolved: Secret-Cinema performance has improved in ddb5ff6 after 18 minutes.


Add a -derivedDataPath option

A patch to add the -derivedDataPath option to xctool that is passed on to xcodebuild. Includes a fix for relative pch paths when using build folders contained within the projects directory.

+1

+1

Will this help with build-tests always completely rebuilding tests?

Please merge this!!

+1

I'm using xcodebuild now to build the tests incrementally (this project includes a lot of libraries so incremental builds are more or less required) and then run the tests using xctool run-tests. It works but xctool support would be better of course.

@LegNeato @ExtremeMan @fpotter Could somebody merge this?
Many of our builds are failing because of corrupt derivedData. This PR would us help really much!

+1

:+1:

Hmmm, I thought there was discussion about the edge cases here and it was a massive foot-gun that people would trigger. I can't find that discussion though, so I'll merge it and if people blow off their foot so be it.


Cannot reprovision with 1.4.9 due to 401 error

After 1.4.9 was released, I did a build and was able to re-provision successfully (iotedge system reprovision).  I did a clean build just a few days ago and now reprovisioning is failing.

dunfell branch?

dunfell, yes.

dunfell branch?

Yes.

Odd, because we built 1.4.9 when it was first release two weeks ago and that image works fine IRT reprovisioning.  We did a fresh build with 1.4.9 and ran into this reprovisioning issue.

We have been working on a Yocto recipe for azure-osconfig and it generated osconfig.toml (contents below) and placed it in the /etc/aziot/identityd/config.d directory.  I deleted it, rebooted, ran "iotedge config apply" and now "iotedge system reprovision" no longer fails with 401.  It works just find.
[[principal]]
name="osconfig"
idtype=["module"]
uid=0

Thanks for sharing. I do not have much info on why this would cause provisioning to fail. Will keep this issue open so anyone with the same issue can use your fix

Hi. I have a similar problem (maybe unrelated so just tell me and I create a new issue).
I'm on Kirkstone using last commit on main branch: https://github.com/Azure/meta-iotedge/commit/cba54fdae09d8c51c73b11e2b4879331006d1f2d
Sep 01 01:21:39 mydevice aziot-identityd[18161]: 2023-08-31T23:21:39Z [INFO] - !!! authorization error
Sep 01 01:21:39 mydevice aziot-identityd[18161]: 2023-08-31T23:21:39Z [INFO] - --> 401 {"content-type": "application/json"}
Sep 01 01:21:39 mydevice aziot-edged[18136]: 2023-08-31T23:21:39Z [WARN] - Failed to reprovision: invalid HTTP status code
Sep 01 01:21:44 mydevice aziot-edged[18136]: 2023-08-31T23:21:44Z [INFO] - Obtaining Edge device provisioning data...
Sep 01 01:21:44 mydevice aziot-edged[18136]: 2023-08-31T23:21:44Z [ERR!] - Failed to obtain device identity: authorization error
Sep 01 01:21:44 mydevice aziot-edged[18136]: 2023-08-31T23:21:44Z [INFO] - Requesting device reprovision
Sep 01 01:21:44 mydevice aziot-edged[18136]: 2023-08-31T23:21:44Z [WARN] - Failed to clear provisioning cache before reprovision: No such file or directory (os error 2)
Sep 01 01:21:44 mydevice aziot-identityd[18161]: 2023-08-31T23:21:44Z [INFO] - <-- POST /identities/device?api-version=2020-09-01 {"content-type": "application/json", "host": "identityd.sock", "content-length": "16"}
Sep 01 01:21:44 mydevice aziot-identityd[18161]: 2023-08-31T23:21:44Z [INFO] - !!! authorization error
Sep 01 01:21:44 mydevice aziot-identityd[18161]: 2023-08-31T23:21:44Z [INFO] - --> 401 {"content-type": "application/json"}
Sep 01 01:21:44 mydevice aziot-identityd[18161]: 2023-08-31T23:21:44Z [INFO] - <-- POST /identities/device/reprovision?api-version=2020-09-01 {"content-type": "application/json", "host": "identityd.sock", "content-length": "16"}
Sep 01 01:21:44 mydevice aziot-identityd[18161]: 2023-08-31T23:21:44Z [INFO] - !!! authorization error
Sep 01 01:21:44 mydevice aziot-identityd[18161]: 2023-08-31T23:21:44Z [INFO] - --> 401 {"content-type": "application/json"}
Sep 01 01:21:44 mydevice aziot-edged[18136]: 2023-08-31T23:21:44Z [WARN] - Failed to reprovision: invalid HTTP status code
Sep 01 01:21:49 mydevice aziot-edged[18136]: 2023-08-31T23:21:49Z [INFO] - Obtaining Edge device provisioning data...
Sep 01 01:21:49 mydevice aziot-edged[18136]: 2023-08-31T23:21:49Z [ERR!] - Failed to obtain device identity: authorization error
Sep 01 01:21:49 mydevice aziot-edged[18136]: 2023-08-31T23:21:49Z [INFO] - Requesting device reprovision
Sep 01 01:21:49 mydevice aziot-edged[18136]: 2023-08-31T23:21:49Z [WARN] - Failed to clear provisioning cache before reprovision: No such file or directory (os error 2)
Sep 01 01:21:49 mydevice aziot-identityd[18161]: 2023-08-31T23:21:49Z [INFO] - <-- POST /identities/device?api-version=2020-09-01 {"content-type": "application/json", "host": "identityd.sock", "content-length": "16"}
Sep 01 01:21:49 mydevice aziot-identityd[18161]: 2023-08-31T23:21:49Z [INFO] - !!! authorization error
Sep 01 01:21:49 mydevice aziot-identityd[18161]: 2023-08-31T23:21:49Z [INFO] - --> 401 {"content-type": "application/json"}
Sep 01 01:21:49 mydevice aziot-identityd[18161]: 2023-08-31T23:21:49Z [INFO] - <-- POST /identities/device/reprovision?api-version=2020-09-01 {"content-type": "application/json", "host": "identityd.sock", "content-length": "16"}
Sep 01 01:21:49 mydevice aziot-identityd[18161]: 2023-08-31T23:21:49Z [INFO] - !!! authorization error
Sep 01 01:21:49 mydevice aziot-identityd[18161]: 2023-08-31T23:21:49Z [INFO] - --> 401 {"content-type": "application/json"}

Using curl request on identity.sock as iotedge user I have the following result:
# su - iotedge -s /bin/bash -c "curl --unix-socket '/run/aziot/identityd.sock' 'http://identityd.sock/identities/identity?api-version=2020-09-01'" && echo
{"message":"authorization error"}

But as root it works fine:
# curl --unix-socket '/run/aziot/identityd.sock' 'http://identityd.sock/identities/identity?api-version=2020-09-01' && echo
{"type":"aziot","spec":{"hubName":"blablabla-dev.azure-devices.net","gatewayHost":"blablabla.azure-devices.net","deviceId":"XXXX","auth":{"type":"tpm"}}}

So I had to modify all systemd aziot services files to run aziot daemons as root and then it works fine.
But for evident security concerns I would like to make user services working.
Do I have special configuration to do in some config.toml to make this work ?
Thanks for help. ;)

ok, fixed, due to bad [[principal]] configurations. Fixed by using iotedge config apply and diff with my actual configuration.
But do you think that such principal configuration could not be applied by yocto recipes:
# cat /etc/aziot/identityd/config.d/aziot-edged.toml
[[principal]]
uid = 987
name = "aziot-edge"

Does that make sense ?

As dunfell went out of support, closing this issue


Better default for pathed_env_vars

Hello,
After running into the issue, would that be possible to improve the pathed_env_vars configuration setting ?
Current state :
https://github.com/AcademySoftwareFoundation/rez/blob/371644d19de24d720cc0a4b14f6c17eeb61c55e1/src/rez/rezconfig.py#L558-L565
Suggested :
pathed_env_vars = [
    "*PATH",
    "*PATHS",
]

I think it is safe to assume that all environment variables ending with PATHS can also be considered as "path like" and always need normalization.
Let me know if there is any side-effect that I did not think about.
I can take time to make a short PR for this change if you think that is a good idea.
Cheers.
Liam.

I think the safest we can do right now is *PATH, which is currently the default. The thing is that we have to be careful to not unnecessarily break anyone. Default values are there to cover some/most cases, not all cases.

Yes that is what makes me hesitant to post because that could be a breaking change.
Then what do you think of at least giving a hint in the documentation that it would be recommended to add this additional variable ?

https://github.com/AcademySoftwareFoundation/rez/pull/1475 will improve the documentation. You can see the improvements at https://rez--1475.org.readthedocs.build/en/1475/configuring_rez.html#pathed_env_vars.
If anything, we need user guides for our shells. Though, even with user guides, I wouldn't necessarily say "You should add x, y, y to x" and would more say "you might need to tweak these settings" to stay neutral.

thanks for sharing the pr, those are nice improvements.

would more say "you might need to tweak these settings" to stay neutral.
yes totally
so perhaps this issue should be part of a bigger issue about "user guides" ? If so I am fine with closing this issue.

Yeah I think so. If you feel like it, you can comment on https://github.com/AcademySoftwareFoundation/rez/discussions/1277 to add docs for our shell plugins and link to your GH issue.
Additionally, we are looking for people to help us with docs, so if you want to contribute, adding docs would be a great way to contribute :)

Great, I try that.

Comment added to #1277.
Closing this.


Question on Brueckner

Hej!
I am sorry to bother you again but would like to clarify one issue. If one combines Brueckner orbital rotation with the DCSD ansatz, would it effectively result in the so-called BDCD approach?
Thank you in advance!
With best regards,
Victor

Not a bother -- yes, that is correct. I believe that I have compared BDCD against literature values when I was adding DCD and DCSD, though I didn't write a unit test for this. Let me know if you try it and the results don't seem to match expectation.


Fixed #3

Coverage remained the same at 100.0% when pulling de087bcc92760427503dee76b9a4c1b529273473 on fix/issues/3 into 017917dd00707c73cda62ef9b4c6e374ac14b677 on master.