Curator/Curator API: missing API surface for cluster management

We should do a pass to ensure a basic set of APIs are available to manage nodes within a cluster, and the cluster itself - things that we already might have logic for, but don't have the right knobs exposed via gRPC.
Relevant service:
https://github.com/monogon-dev/monogon/blob/main/metropolis/proto/api/management.proto

Ideas for features to implement:

reporting node status (heartbeat-like)
changing node roles (probably non-MVP)
draining/decommissioning of nodes
node configuration
CA introspection (inspecting certificates, certificate revocation, current CRL)
inspecting the current Curator leader (status, node list, quorum)
identity management (users?)

Sample user stories for some of the above (these are not just APIs to implement, but probably also metroctl flows):

As an Operator, I want to know what is the state of nodes in my cluster: are they UP? are there any non-UP nodes? when was the last time they reported to the cluster/curator?
As an Operator, I want to inspect and even change the assigned roles to nodes. How many Control Plane nodes do we have?
As an Operator, I want to know what's the status of my control plane nodes. Which node is the Curator leader? What are the followers? When did the leadership begin? When will it timeout?

As an Operator, I want to inspect and even change the assigned roles to nodes. How many Control Plane nodes do we have?

I think we should only (at first) allow:

adding a ConsensusMember role where there wasn't any
adding a KubernetesWorker role where there wasn't any and that node is already a ConsensusMember (this limit applies as long as we don't split KubernetesWorker into KubernetesControlPlane and KubernetesWorker)
removing a KubernetesWorker roles where there wasn't any, but we'll have to also think about removing nodes from Kubernetes itself when that happens

Point 3. is a bit more involved because it requires interacting with Kubernetes, let's start with 1 and 2.

↑ both should be landing this week.

https://review.monogon.dev/c/monogon/+/775 implements role-based filtering in Management.GetNodes RPC.
https://review.monogon.dev/c/monogon/+/776 enables predicates related to node heartbeats.
These conclude the user story no 1.

What's left to do here?

Just the last user story, if we're going to limit this long standing ticket to the ones you posted (which I think we should, due to lack of other present use cases):

As an Operator, I want to know what's the status of my control plane nodes. Which node is the Curator leader? What are the followers? When did the leadership begin? When will it timeout?
One can get the current leader node's ID through a call to CuratorLocal.GetCurrentLeader. The follower list can be accessed with an appropriate filter supplied to Management.GetNodes, though it's true it could be made more accessible than that. I'll be adding the leadership timestamp and TTL to GetCurrentLeader results.


Bug/#111 ticktick package.json

Addresses https://github.com/iancleary/ansible-desktop/issues/111

This bug preventing saving the desktop icon to the favorites


Add light cone viewer UI

Need LightConeCard, then just show them all in a grid with some pagination

heyy, can i be assigned to this issue?

Hey, can I be assigned this instead, my friend took the task that was assigned to me, so we switched a bit


Add Jenkins window to compile automatically

It is suggested to add windows auto-compiler. Windows is not like Linux and MAC self-compiler kit. Compiling is very troublesome. Can you add auto-compiler like krita or blender software?
https://binary-factory.kde.org/job/Krita_Nightly_Windows_Build/
Window compilation is really a painful process. Bad game system.

Emmmmm, based on the system event cycle, it seems that window is hopeless.

For official releases, you can go to https://bintray.com/pony-language/ponyc-win/ponyc#files, and at the bottom of the page you will find the latest release.
If you sign into Appveyor, you can find new Windows builds for every commit to the master branch.  Go to https://ci.appveyor.com/project/ponylang/ponyc, then click on the environment you would like (for example, Environment: llvm=3.9.1; Configuration: release, then click on the Artifacts to find a link to a Zip file that contains the ponyc compiler.

As @kulibali mentioned, we already provide precompiled Windows builds. If there is another issue here, we can reopen, but I am closing this for now, because it seems there is no remaining issue.


Is there plans for android 12 support?

I just released there were no differences with buoy on and off after my android 12 upgrade.

At least some Buoy functionality should be possible in Android 12.
Prior to Android 12,settings put global battery_saver_constants "gps_mode=4" keeps location updates on in battery saver mode.
Starting with Android 12, settings put global battery_saver_constants "location_mode=4" appears to have the same effect.
The culprit appears to be Migrate remote configuration to DeviceConfig, which renames the gps_mode key to location_mode, along with a bunch of other changes (which may or may not affect Buoy).

Sadly, should ≠ does.
Even with location_mode=4 in battery_saver_constants, a Pixel 4 running Android 12 does not send location updates in battery saver mode.

I've done a fork with android 12+ support and other changes. https://codeberg.org/s1m/savertuner
Some changes may ends in Buoy :)


[SPARK-46431][SS] Convert IllegalStateException to internalError in session iterators

What changes were proposed in this pull request?
In the PR, I propose to convert IllegalStateException in the two classes UpdatingSessionsIterator and MergingSessionsIterator to SparkException.internalError.
Why are the changes needed?
To improve user experience with Spark SQL by unifying the error messages, and apply the same approach as in other sub-systems.
Does this PR introduce any user-facing change?
No, the exceptions shouldn't be visible to users in regular cases.
How was this patch tested?
By running the modified test suites:
$ build/sbt "test:testOnly *UpdatingSessionsIteratorSuite"
$ build/sbt "test:testOnly *MergingSessionsIteratorSuite"

Was this patch authored or co-authored using generative AI tooling?
No.

Thanks! Merging to master.


NPE in ImportGltf.cs:1099 when importing a private asset

Repro:

Open the asset browser window
Sign in
Select the Your Uploads category
Select an unpublished asset
Import it.

This also repros at runtime when attempting to import a private asset.
The symptom is:
Import error: System.NullReferenceException: Object reference not set to an instance of an object
at PolyToolkitInternal.ImportGltf.PostProcessRemoveMultipleMeshes (PolyToolkitInternal.Gltf1Root root) [0x00002] in C:\Users\cnvr4\Documents\JesterVR\Assets\PolyToolkit\Internal\ImportGltf.cs:1099
at PolyToolkitInternal.ImportGltf.DeserializeGltfRoot (GltfSchemaVersion gltfVersion, Newtonsoft.Json.JsonTextReader reader) [0x00021] in C:\Users\cnvr4\Documents\JesterVR\Assets\PolyToolkit\Internal\ImportGltf.cs:129
...
We are aware of the issue and are working on a fix.

Note: this was fixed in release 1.0.3.
https://github.com/googlevr/poly-toolkit-unity/releases/tag/v1.0.3


[For Discussion] FlightTask: remove local position dependency for activating a task

Some vehicles such as racers don't have a local position.
So this removes the requirement from the base task, but we should discuss alternative options. I suggest something like:

Requirement for a valid attitude in the base task
Requirement for a valid altitude in alt control
Requirement for a valid local pos in auto & pos ctrl modes

@Stifael what do you think?

Really what we need is to be explicit about the requirements for every single FlightTask.

Requirement for a valid attitude in the base task

Stabilize mode is a FlightTask, although perhaps it shouldn't be.

what are you trying to solve?
In the base class, the only thing that is currrently done is to set position and velocity estimate if available
https://github.com/PX4/Firmware/blob/master/src/lib/FlightTasks/tasks/FlightTask/FlightTask.cpp#L90-L96

For racers, I guess this line could be a potential problem:
https://github.com/PX4/Firmware/blob/master/src/lib/FlightTasks/tasks/FlightTask/FlightTask.cpp#L122
where yaw is always set...
For Altitude there is no need to have a valid position in xy (we fly Altitude indoors). For Stabilized there is also no need to have position nor velocity valid

what are you trying to solve?

The error I see is that the task activation for stabilized fails. The reason is that the task switch (FlightTasks::switchTask) calls and checks updateInitialize(), which fails because of the local position requirement.

where yaw is always set...

That is also an issue, though it seems to work.

calls and checks updateInitialize(), which fails because of the local position requirement.

There is no local  position requirement for stabilized... the only thing it requires is currently to receive manual-setpoints withing a certain time-delta and yaw.
https://github.com/PX4/Firmware/blob/master/src/lib/FlightTasks/tasks/ManualStabilized/FlightTaskManualStabilized.cpp#L56-L58

@bkueng
the only think required in FlightTaskManual is to receive the manual-setpoints within a certain time delta:
https://github.com/PX4/Firmware/blob/master/src/lib/FlightTasks/tasks/FlightTask/FlightTask.cpp#L87
There is no position nor velocity requirement. The evaluatelocalposition method is literally just a mapping method

Ok, now I understand what you mean.
Yes, the structure vehicle_local_position is required within the time delta (at least in the current implementation), but position and velocity do not have to be valid. Your suggestion that each individual task checks for the required data is already implemented. Stabilized does not require a valid position.
If I understand you now correctly, then the only thing required is to remove the delta timing check

The time delta check is just for checking if the vehicle_local_position structure is received.
I suggest the following:
If the estimator position/velocity flag is valid, then the topic 'vehicle_local_position' has to be received within the time delta

If I understand you now correctly, then the only thing required is to remove the delta timing check

Correct. Plus _yaw needs to come from the attitude or we need to remove the yaw dependency in Stabilized. But I'll have some other changes regarding that, I'll bring it up in a separate PR.

If the estimator position/velocity flag is valid, then the topic 'vehicle_local_position' has to be received within the time delta

I think it's better to remove the dependency entirely from the base class. In case the position estimate stops being published (for whatever reason), we still want to be able to switch into Stabilized.
For example by ignoring the return value from _evaluateVehicleLocalPosition in FlightTask::updateInitialize.

I think it's better to remove the dependency entirely from the base class. In case the position estimate stops being published (for whatever reason), we still want to be able to switch into Stabilized.

What I meant is that you do not require to receive the topic within a time-delta time, but require it to have a valid position/velocity. For instance, what I did here:
https://github.com/PX4/Firmware/blob/flighttask-remove-delta-time-check/src/lib/FlightTasks/tasks/FlightTask/FlightTask.cpp#L88-L133
For the yaw issue: I think the correct solution is what @dagar suggested and what @MaEtUgR and me are supporting as well: move the the thrust-to-attitude method to the attitude controller https://github.com/PX4/Firmware/blob/master/src/modules/mc_pos_control/mc_pos_control_main.cpp#L743

What I meant is that you do not require to receive the topic within a time-delta, but require it if there is a valid position/velocity estimate. For instance, what I did here:

Ok, same result, that looks good. Can you open a PR for that?
Closing this then.


uProxy popup looses focus when pasting Copy+Paste URL

When pasting a copy+paste url into the browser, the uProxy window briefly comes to the front, however, it then immediately is superseded by the browser again.  This had previously appeared to be fixed by delaying the UI processing until after we had returned the result object to Chrome, however, that no longer seems to be the case.
Ideas

Set an actual timeout on bringToFront so that it gets called later on
Change the copy+paste info page to bring the uProxy window to the front after it loads

Avoid a timeout based solution: they are not a consistent way to get UX (on a slower machine the timeout you think should work, doesn't; or when the machine gets busy, etc).

Yup, was definitely favoring the second option


Hos is Azure ML implemented in this JFK sample?

In one of readme.md file, it is mentioned Azure ML would soon be integrated in this sample. May I know if it is implemented in this, and where I can find it?

Today Azure ML is not a part of this sample, however, you can check out our new sample repo for Azure knowledge mining to go through a tutorial on how to generate your own Azure ML custom skill for use with cognitive search.


Bumped up the versions of React

Bumped up the versions of React, React-Dom, and of the React-scripts to it's latest, and ensured that will work perfectly.

Hey, @UsefulHunter. 🙃 Thanks for your time on trying to contribute to huskyCI-dashboard. However, as @marcelometal said, it would be great if you could work on issues that we currently could use some help. In the next few days, we will add more issues related to hacktoberfest and will be very happy to review any PR related to them! 🚀


context menu

Description of the new feature / enhancement
I really miss FULL context menu editing (especially Win 11)
Scenario when this would be used?
When adding programs, unnecessary menu items appear. Sometimes the opposite is true - the program does not add the necessary items to the context menu
Supporting information
No response

Are you referring to the right-click context menu, for example in File-Explorer?
/needinfo

Yes, that's right


Copyright of logo

Thankfully, I would like to announce our project logo with @davidsz 's help.
Before announce it, I would like to gather opinions of community members on copyright.
We have two options to choice.

Szeged University --> @davidsz create this logo and he belongs to Szeged.
JerryScript Community --> The community members have decided this so it's reasonable, too.

Please share to me your opinions.

+1 for 2)

+1 for 2)

is okay for me. :)

I'm not a lawyer, but my best understanding is: Simply the voting on the logo allows no claim on the copyright. On the other hand, @davidsz has the right to transfer the copyright to the community. (He did not create that piece of art in his capacity as an employee of the University of Szeged, so he is free to do so.) Fortunately, he seems to be OK with such a transfer.
(Sorry if the above seems to be too picky. But it's better to be on clear terms if it comes to legal things. And once again, I'm no lawyer, so it might be worth checking with someone who has a degree in this.)

Thanks @akiss77 for making clear it.
Then let's put "JerryScript Community" on the copyright and announce the logo.
@lemmaa  please upload the logo with the copyright under MIT.

@Seo-Young  PR https://github.com/Samsung/jerryscript/pull/831.


creation of .serverless-secret.json file according to environment like dev,stage, prod

HI,
In defualt values are encrypted and saved in .serverless-secret.json file, is there any way we can have the files like [.serverless-secret_dev.json, .serverless-secret_prod.json, .serverless-secret_Stage.json ] to save the encrypeted values according to environment, or we can directly save values into .YML file, please chekc this once, this is our requirement actaully.
Thanks,
Firoj Shaik

This would best be implmented as a secretsFile option and then if you want per-stage files you can do secretsFile: .serverless-secret-${opt:stage, self:provider.stage}.json

@dschep ,Thanks for quick response, I was running the following command  --   serverless encrypt -n ACCESSKEY32 -t "sjkdhjksd-asj-sdds1" --save , so values are being encrypted and adding to .serverless-secret.json as default, so if i want to add the values into serverless-secret-stage.json/serverless-secret-prod.json, what is the way and what command i have to run, please advise on this?
Thanks,
Firoj Shaik

sorry, that was a suggestion of how we might implement it. the option doesn't currently exist. If you don't mind extra secrets in your file, the work around I'd suggest now is this:

run: sls encrypt -n ACCESS_KEY_PROD -t supersecret --save
add this to the serverless.yml provider section:

environment:
  STAGE: ${opt:stage, self:provider.stage}

in your code, access the secret with:

slscrypt.get(`ACCESS_KEY_${process.env.STAGE.toUpperCase()}`);

Thanks @dschep , even i was doing the same 👍 as a work around , but do u have plans to add that option in future....

not sure, I don't have time really and am thinking of migrating to SSM Parameter Store for secrets anyway. @marcy-terui might  tho.

hi, here we are passing single key for encryption as followed (sls encrypt -n ACCESS_KEY_PROD -t supersecret --save) , but if we want to pass set of keys in a single command like if i have 15 secret keys in my project rather running sls encrypt command for 15 times, can we pass a json whch has list of keys which will encrypt through sls encrypt command , as such do we have any process for it? please let me advise....

@firojasha Thank you for your suggestion.
This plugin is currently supported for more simple usage.
So it is difficult to solve your problem right now.
But, I think that it is valuable to solve your problem with this plugin.
What enhance do you think is necessary?

@marcy-terui  , as a security concern can we restrict the " serverless decrypt -n $SECRET_NAME", because this command shows the actual value of encrypted secret key, so any one can run this command see the actual value of encrypted secret key, even i tried to amend the IAM policy of KMS KEY at AWS Console to restrict decryption but i identified that serverless decrypt -n $SECRET_NAME command not taking the KMS KEY for decryption , so please check this case and let us know what could be done to achive this case?
Regards,
Firoj Shaik

I don't think that is important.
I think this plugin helps to "save" confidential information. If you want to apply security to all layers other than "save", I recommend using a security-specific product such as "HashiCorp Vault".
I would like to implement a function to change the filename saved for each stage.
However, if you think that another issue is important, please send a pull request.


Index out of range in create_wsgi_environ

Gunicorn version 19.4.1
aiohttp version 0.19.0
nginx 1.4.6
Ubuntu 14.04

[2015-12-03 13:24:27 -0500] [12308] [ERROR] Error handling request
Traceback (most recent call last):
File "/home/vagrant/.virtualenvs/mighty/lib/python3.4/site-packages/aiohttp/server.py", line 262, in start
yield from self.handle_request(message, payload)
File "/home/vagrant/.virtualenvs/mighty/lib/python3.4/site-packages/aiohttp/wsgi.py", line 127, in handle_request
environ = self.create_wsgi_environ(message, payload)
File "/home/vagrant/.virtualenvs/mighty/lib/python3.4/site-packages/aiohttp/wsgi.py", line 93, in     create_wsgi_environ
environ['REMOTE_ADDR'] = remote[0]
IndexError: index out of range

This change occurred in between the two releases https://github.com/KeepSafe/aiohttp/commit/d904071c30737baa7189ed1c842c76954274c129#diff-58081209a1b73c318d74d4fe7ad41460L91
to
https://github.com/KeepSafe/aiohttp/commit/eb54e6c010f55c02e49a36cb2e74b077f8aa77e4#diff-58081209a1b73c318d74d4fe7ad41460R92
which may be related to the issue
This gunicorn issue from June 2014 is somewhat similar https://github.com/benoitc/gunicorn/issues/785.
Downgrading to aiohttp 0.18.4 fixes the issue.

It seems aiohttp is listening unix socket. Ill make a patch in few minutes.

@alex-kaufman could you please check this patch? It should work and REMOTE_* and SERVER_* vars should be set.
Or at least tell me how to start app with gunicorn and unix socket.

@redixin that works, thanks!


Update for Node 12

@astro

Published https://www.npmjs.com/package/xml2json-temporary as a temporary workaround.

@astro would you mind chiming in and letting us know if this is something you're planning on getting to or if this is a repo that is no longer being maintained?

I tried emailing him, but no response.

I suggest contact NPM support and saying that the author is unresponsive. If the author does not respond within 14 days, the package will be handed over to whoever requests to takeover the namespace. I would also include reference to this issue.

I just sent an e-mail to NPM's support team, will let you know here what they suggest.

Hi
It's great that this code is broadly used and that people try to contribute. It has been only a week since @tomkel reached out and his e-mail address bounced. Please be a bit more patient. :)
Is there anyone else who would like to share the joy of reviewing PRs and helping @tomkel with the release process?

Hi @astro!
I'm happy to be a contributor and review PRs if/when need be.
Feel free to contact me directly if you want to discuss it more :-)
Thanks,
Y.

Thanks again @astro for allowing me to contribute to this project.
As you all might already have seen by now, I've merged this PR and released 2.3.18 that contains these changes. Let me know if I've missed anything. Thanks!


Regression: Concurrent read from __SwiftDeferredNSArray crashing in Swift 5.7

Describe the bug
In my app, we experienced a new EXC_BAD_ACCESS crash from users on iOS 16 (beta 4 - build 20A5328h) when reading from a swift Array bridged to NSArray on multiple threads. The crash can be reproduced by running the function provided below.
Steps To Reproduce
func crash() {
    let arraySize = 10_000 // large size appears to matter, maybe takes longer to load backing buffer for __SwiftDeferredNSArray?
    let array = Array(repeating: 1, count: arraySize)
    let nsArray = array as NSArray
    DispatchQueue.concurrentPerform(iterations: 10) { _ in
        _ = nsArray.object(at: 0)
    }
}

Expected behavior
Reading from an NSArray should be thread safe.
Environment (please fill out the following information)

OS: iOS 16
Build: Beta build 4 - 20A5328h
Xcode Version/Tag/Branch: xcode 14 beta
Swift: 5.7

Additional context
My theory is it has to do with recent changes to _swift_setClassMetadata in this commit

Experiencing same crash! Thanks for reporting.

CC: @aschwaighofer @Catfish-Man

I just want to point that for the provided example, the array size required to produce the crash varies by device. For my iPad is around 10,000 and for my Mac is about 10,000,000.
In the real world, this our our top crash for users on an iOS 16 device.

This example involves types that are not bridged verbatim (Array, deferred array storage). The _swift_setClassMetadata path is not implicated by this because it happens only in the verbatim case.

If this issue is unrelated to the suggested commit, just wondering if this is being investigated to determine the cause.

Did anyone figure out something about this? Found this issue on our App in the wild. I am a bit concerned that there will not be a fix before iOS 16 is released and our App is crashing massively. How did you go about this? Is there information somewhere other than this issue? Did any of you file a radar/feedback? Did you implement a workaround instead of waiting? I am curious 😊

Did anyone figure out something about this? Found this issue on our App in the wild. I am a bit concerned that there will not be a fix before iOS 16 is released and our App is crashing massively. How did you go about this? Is there information somewhere other than this issue? Did any of you file a radar/feedback? Did you implement a workaround instead of waiting? I am curious 😊

We were able to get a quick-and-dirty workaround by doing an initial read from the array on a single thread. We didn't file on the Feedback Assistant but made a Swift Forums post here.

Thanks for the update @matttodd. I guess we'll go for a workaround as well.

Me too.   I encounter with this some sort of bug about SwiftArray too. But in my situation, I just use
try? JSONSerialization.data(withJSONObject: containerModel, options: .fragmentsAllowed)
It's crash inside this JSONSerialization.data method even I use optional try.
But this is not happen on all user devices.  Just for some specific condition (on some device) which I can't identity that condition exactly.
Attached is stack trace.


Fixes #1729: Use 'is changed' instead of non-existent changed filter.

Closes #1729.
This PR is necessary to make the 'Rebooting on Raspbian' task work at all; without the change the task silently fails on every run, regardless of architecture.

Thanks for the contribution. LGTM


ENSCORESW-3591: clean up deprecated methods

Requirements

Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion;
Review the contributing guidelines for this repository; remember in particular:

do not modify code without testing for regression
provide simple unit tests to test the changes
if you change the schema you must patch the test databases as well, see Updating the schema
the PR must not fail unit testing

Description
Some species have a separate config file to overwrite methods in various Mapper modules.
Some of these methods are not used any more and making maintenance of the config files difficult.
The proposed change removes any method that is not used in other modules.
Use case
Remove species-specific configuration that is not used.
Benefits
Code is cleaner and easier to maintain.
Possible Drawbacks
NA
Testing
Have you added/modified unit tests to test the changes?
No test cases available for the mapping part of the xref pipeline.
The methods removed are not found any where else in the whole repository
If so, do the tests pass/fail?
NA
Have you run the entire test suite and no regression was detected?
NA

Coverage increased (+0.08%) to 82.365% when pulling 159b398929202182e87e05af639332fb5e172757 on feature/cleanup_species into 38af135d51d089a644b16db7450026dde01b7868 on master.


Add in won't stay in the ribbon

I've recently created a small Word add in for a client and this was the best method for publishing the app. But once a user has added the app to their Word for desktop and closes the application, they have to re add the add in. Is this supposed to be how that works?

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

ID: 94198cb6-3426-c33f-6ff9-88f2a327af49
Version Independent ID: 99fc507e-dc87-9367-fb44-ff1016ec9fe2
Content: Publish task pane and content add-ins to a SharePoint app catalog - Office Add-ins
Content Source: docs/publish/publish-task-pane-and-content-add-ins-to-an-add-in-catalog.md
Product: non-product-specific
Technology: add-ins
GitHub Login: @o365devx
Microsoft Alias: o365devx

Hi AlRosenthal,
The note in the linked article "App catalogs on SharePoint do not support add-in features that are implemented in the VersionOverrides node of the add-in manifest, such as add-in commands." explains the behaviour that you are seeing sadly.
The recommended way to deploy add-ins within an enterprise is to use Centralized Deployment. https://docs.microsoft.com/en-us/office/dev/add-ins/publish/centralized-deployment

Closing per comment above.


Processing functions have no tolerance for missing fields

gemma.R seems to making assumptions about presence of all data fields when trying to fit things into a table. This causes datasets without geeq scores to fail. Unknown if anything else fails
oldOutput = gemmaAPI::datasetInfo('GSE40695') # sucess
oldOutput2 = gemmaAPI::datasetInfo('GSE2018') # sucess

newOutput = gemma.R::getDatasetsInfo('GSE40695') # fail
newOutput2 = gemma.R::getDatasetsInfo('GSE2018') # sucess

problem would be specific to the deeper layers of the original data since otherwise missing fields would just default to NA.
Functions where deep level assignments are made: processTaxon, processSamples, processDEA, processDatasets


Add flow typings

Few questions/notes:

I put flow typing declarations within dist/ directory. This is iconsistent with the location of typescript declarations as for now. This is because typescripts makes typings location configurable through the package.json while Flow can't do this.

I added some tests for Flow typings (they are minimal now, will expand as I accumulate more usage patterns) to test_flow. Test are run by npm test command so CI can check them too. Not sure if this is the best location / integration with CI. What do you think?

Related to #40.

Thanks :) This looks nice.
One problem is that dist/ gets blown away by the build process, so we'd have to copy the typings in from elsewhere as a postinstall step.
Also, can you add test_flow to .npmignore?

so we'd have to copy the typings in from elsewhere as a postinstall step.

Do you want me to do the same for typescript typings? Just for consistency.

Ok fine. Not really bothered either way, as long as everything works.

Travis now fails because I didn't commit the build artifacts. (btw. is there a need to keep them commited to the repo?).

I suppose not. We could just run npm build as part of the postinstall.

We could just run npm build as part of the post install.

I think npm does that for you.

Nope, of course I'm wrong, npm does build on publish not on postinstall. Making it on postinstall will require to have all dev deps installed which isn't great. I suggest just removing build artifacts and thus breaking install directly from github repo.

btw. I added ci:test and configured travis to run it.

Added npm run build to Travis (which is also cool as it checks the build pipeline) so it's green now.

Thanks! 🎉

Thank you! This all is shaping up so well!


Entities unavailable when restarting home assistant

Firstly, thanks for the app, it's very helpful.
I was having a problem that when i restart home assistant all the entities from the app became unavailable, until i restart the pc, or at least the service.
I know very little about mqtt, but after doing some research, i actually already found a solution: set retain = True to the home assistant auto discovery messages.
But normally the entities should work after restarts even without retaining the messages? And is there some reason to the messages not being retained by default?
I'm running home assistant and mosquitto as docker containers, in case this is relevant.

You are absolutely right, the entities are not retained, so they become unavailable.
I will push a quick fix for that so that you can choose it if you want from the retain option in the yaml file.

I just pushed the fix.
Let me know if it works.


Update README.md

When I use PushModalAsync and run the app on Windows, the "Rate a monkey" text is not shown and the back arrow is not presented. So I'm stuck without ability to navigate away from the rating page. Using PushAsync - and the monkey and ratingState parameters added, it works as described and expected. I have not tested other platforms.

Fixes #4. Sorry for spamming, I'll read the issues before making a PR next time.

This is my favorite kind of spam! No worries, thank you!


Define patterns for GC Design System

Canada.ca uses "pattern" interchangeably with "component". A new use of the term pattern will likely be confusing to some users. Need to align on and define what are patterns in GC Design System as compared to other design systems. Then need to introduce patterns so people can find them and use them.


How to create user token from teams bot for the api call

When user logins first time it will create one token right. How can we generate that token again whenever we want?

@samthrusha123 -To communicate with the Bot Connector service, you must specify an access token in the Authorization.
Request an access token based on your bot's application type-

As a user-assigned managed identity, so that you don't need to manage the bot's credentials yourself.
As a single-tenant app.
As a multi-tenant app.

Multitenant-
POST https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&client_id=MICROSOFT-APP-ID&client_secret=MICROSOFT-APP-PASSWORD&scope=https%3A%2F%2Fapi.botframework.com%2F.default

The app can use the refresh token to get a new access token when the current one expires.
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id=11111111-1111-1111-1111-111111111111
&response_type=code
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&response_mode=query
&scope=offline_access%20user.read%20mail.read
&state=12345


Fix validateDOMNesting error from nested

Warning: validateDOMNesting(...):  cannot appear as a descendant of

What kind of change does this PR introduce?

Does this PR introduce a breaking change?

What needs to be documented once your changes are merged?

Thank you @missmatsuko! You are amazing!


Add a new section to redirect users to use Hazelcast Command Line tools

Added a section to redirect users to use Hazelcast Command Line tools as an easy way to start Hazelcast IMDG server cluster.
fixes #726

Windows test PASSed.

Linux test PASSed.

Linux test FAILed.

Windows test FAILed.


Added two new config options and accompanying implementation

search-area specifies an square around the failed knock back location for one that works.
fix-tp-target when set to true creates a safe knock back location if all else fails.
I'm not sure if this is the best solution, but as it stands we are have large problems with the nether and world border as it is failing too often to knock people back and because we can't allow people to exploit the tp back to spawn we have to kill them.
Other solutions I thought about and rejected as to complicated include traversing the edge of the border/knockback until a valid location is found.
I've tried to stay with your code style. If there's something that bothers you I'll gladly fix it. I'd like to avoid keeping and maintaining our own version of WorldBorder.

Thanks I think that may well be the case let me see about fixing it and I'll get back to you.

There this should fix it sorry for the time.

This should do it. Sorry about that.

Have you done much testing on it to make sure it's working correctly? Eventually when I have time I'll need to go over the code more thoroughly and then do a fair amount of in-game testing myself to make sure it's working as intended. I'm not sure when I'll have time.
The code also can't be pulled at this point due to the version change in plugin.yml and pom.xml; you'd do better to omit those, as I pretty much strictly update the version string when making a public or dev release.

Sorry about taking so long on this. I need to get back to do some intensive
testing. I'm in college and in one of the busier parts of the semester and
basically everything that isn't totally necessary is getting left by the
wayside. I'll try to get to this soon. I did a fair amount on the old one,
but not on this modification to it. Again apologies and I'll try to get to
it within the next week or so.
On Sun, Mar 8, 2015 at 6:08 AM Brett Flannigan<EMAIL_ADDRESS>wrote:

Have you done much testing on it to make sure it's working correctly?
Eventually when I have time I'll need to go over the code more thoroughly
and then do a fair amount of in-game testing myself to make sure it's
working as intended. I'm not sure when I'll have time.
The code also can't be pulled at this point due to the version change in
plugin.yml and pom.xml; you'd do better to omit those, as I pretty much
strictly update the version string when making a public or dev release.
—
Reply to this email directly or view it on GitHub
https://github.com/Brettflan/WorldBorder/pull/43#issuecomment-77741793.

No worries. It will probably be a while before I have free time to spend on properly reviewing it for inclusion anyway.
Thanks again for the code submission, by the way, it should be a good addition to the plugin.


Development

👷 Deploy Preview for countyseats processing.
🔨 Explore the source changes: 4b74630c465adc19e17f2192c64a0a482d12579c
🔍 Inspect the deploy log: https://app.netlify.com/sites/countyseats/deploys/61427594218f0b0008063d48


systemd: restart when bitcoind restarts

This prevents "ThreadRPCServer incorrect password attempt from <IP_ADDRESS>:..." errors.
I'm using cookie based authentication, and the cookie changes every time bitcoind is restarted.
There might be a more elegant way to fix this, but this works. I haven't had this problem with c-lightning, electrs and nbexplorer, so their implementation might provide some hints.

Thanks, I haven't checked this closely, but I think this should work.

There might be a more elegant way to fix this, but this works. I haven't had this problem with c-lightning, electrs and nbexplorer, so their implementation might provide some hints.

I've opened #50 to track this. In my setup, I'm using a fixed user/pass combination and thus haven't noticed this problem. Thanks for reporting.


Can't download videos from 91porn

I run the download command line one my vps. It shows contents as follows:
[root@localhost youtube]# youtube-dl --verbose http://91porn.com/view_video.php?viewkey=a4e5cecaa15e0e61b8a3
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'--verbose', u'http://91porn.com/view_video.php?viewkey=a4e5cecaa15e0e61b8a3']
[debug] Encodings: locale ANSI_X3.4-1968, fs ANSI_X3.4-1968, out ANSI_X3.4-1968, pref ANSI_X3.4-1968
[debug] youtube-dl version 2017.04.17
[debug] Python version 2.6.6 - Linux-2.6.32-042stab116.1-i686-with-centos-6.9-Final
[debug] exe versions: none
[debug] Proxy map: {}
[91porn] a4e5cecaa15e0e61b8a3: Downloading webpage
ERROR: Unable to extract file id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 760, in extract_info
ie_result = ie.extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 429, in extract
ie_result = self._real_extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/porn91.py", line 48, in _real_extract
r'so.addVariable('file','(\d+)'', webpage, 'file id')
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 778, in _search_regex
raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract file id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Please help me to solve this problem. Thanks.

Thanks for the report. This will be fixed in the next version.


Several problems are being caused by the new log file name timestamp

https://github.com/Microsoft/vstest/pull/1877 is causing problems.

VSTest inventing directories that don't exist because the string.Replace is hitting all containing directory names, not just the file name.
The filename is unsightly and there's no way to turn this off.
Our CI scripts have to guess at the resulting filename based on the directory listing or else direct VSTest to a temp folder and copy TRX files back out with proper filenames.

@jnm2 we are looking at this issue, & re-designing on how we should handle the results at dotnet sln(multiple test project / multi target test project) level.
We are not reverting the fix done earlier immediately, as it might cause confusion for those whose trx are getting published.
We will publish an RFC once we have a design in place, before implementing it.

Good to know. I'd love if there was a way for the TRX format to be enhanced so that a single file can contain all the results for each target framework. Projects that use TRX would be able to follow the <multi-project run name>.trx pattern that is possible with NUnit XML.
Second-best would be <multi-project run name>.netstandard2.0.trx etc, but that puts a burden on our CI scripts to play catch-up with the changing TFMs over time. It's not very maintainable from that perspective.

well maybe you could use the existing feature?
--logger "rx;LogFileName=Framework.trx"  for framework
--logger "rx;LogFileName=Core2_1.trx"  for Core 2.1
--logger "rx;LogFileName=Core2_2.trx"  for Core 2.2
this change broke all of my multi-targeted builds!

well maybe you could use the existing feature?

How would my build script know which TFMs to use? They change pretty often. This is additional pain.

@vagisha-nidhi Can you please link the RFC for this fix and also release when it is available.

#1877 was reverted in #1996 so that fixes the log file name timestamp part of the issue.
Being able to run tests on multiple frameworks and collect the results is unfortunately not yet solved, though.
See also #1876 which is related to this issue. If the [targetFramework] template is implemented as proposed, it could solve the problem of running tests on multiple frameworks by producing one test results file per target framework.

Note to self: test if problem still exists

Cross-posting my comment from #1876 which can workaround this issue by defining the test logger parameters as MSBuild properties, where you have access to the target framework and the project name.
I recently learnt that you can control the loggers through MSBuild properties instead of dotnet test arguments. Thus it becomes easy to craft the log file name of your choice. Here's what I have added to the Directory.Build.props file in my tests directory:
<ItemGroup>
  <VSTestLogger Include="trx%3BLogFileName=TestResults-$(TargetFramework)-$(MSBuildProjectName).trx" />
  <VSTestLogger Include="html%3BLogFileName=TestResults-$(TargetFramework)-$(MSBuildProjectName).html" />
</ItemGroup>

<PropertyGroup Condition="$(ContinuousIntegrationBuild) == 'true'">
  <VSTestResultsDirectory>$(MSBuildThisFileDirectory)\..</VSTestResultsDirectory>
  <VSTestLogger>@(VSTestLogger)</VSTestLogger>
</PropertyGroup>

Workaround is provided.


Fix tests on Node.js 7

This deck of commits fixes the two tests that were failing on Node.js 7, one of which was called out in #946, and the other of which was a REPL tab-completion bug. (While I was poking around the REPL, I also fixed a few other issues.)

Should we also add 7 to travis config (like this:)?
language: node_js
node_js:
  - 4
  - 6
  - 7

Per the docs, I don't think Travis supports 7 yet.

The docs are out-of-date, see this node 7.4 build log
Travis uses nvm to install node, we can specify any node versions supported by it.

Oh, awesome! Thanks for the tip; I added 7 now.

Hmm. I'll fix this; don't merge yet.

@gkz

@gkz, any issues with this one?

thanks


UndervoltageReports in Logs: 2

https://termbin.com/i0uk2
I am using a Raspberry Pi Power Supply
What is the command to run the hardware test? I've looked through the menu and I may have overlooked it.
Thanks

Hardware test was removed and the mention of documentation also https://github.com/rootzoll/raspiblitz/pull/2281
It is going to be refactored later.

Thanks


Loading mlflow model on passthrough cluster

We configure our cluster with Gen2 Storage:

High Concurrency
6.0 ML runtime
enabled passthrough

I would like to load data from Gen2 Storage with AD credentials (its fine) and then score it with mlflow model. But I can't load it properly.
error:
 py4j.security.Py4JSecurityException: Constructor public org.apache.hadoop.fs.Path(java.lang.String) throws java.lang.IllegalArgumentException is not whitelisted.
What are the other options?
I tried to use Azure ML as mlflow backend and then load a model from there, or directly from Azure ML blob storage. But it always wants to save the model to dbfs and the problem is then the same.

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

ID: 66fd91d9-d34a-34f9-b35c-f2486d0cea59
Version Independent ID: fdd96ffc-8308-b477-3b9f-3e5a27b81535
Content: Authenticate to Azure Data Lake Storage using Azure Active Directory Credentials - Azure Databricks
Content Source: databricks/data/data-sources/azure/adls-passthrough.md
Service: azure-databricks
GitHub Login: @mamccrea
Microsoft Alias: mamccrea

@michalmlaka Thanks for reaching out.
From Troubleshooting section of this doc : py4j.security.Py4JSecurityException: … is not whitelisted : This exception is thrown when you have accessed a method that Azure Databricks has not explicitly marked as safe for Azure Data Lake Storage credential passthrough clusters. In most cases, this means that the method could allow a user on a Azure Data Lake Storage credential passthrough cluster to access another user’s credentials.
Few workarounds to be considered:

Either use High Concurrency cluster without passthrough or
Use standard cluster with passthrough enabled to accomplish this task

@KranthiPakala-MSFT, thanks. I use std. way to load a mlflow model: mlflow.spark.load_model()
So please, what is it the correct way to access it? (It always the same problem, when a model is in DBFS, external Blob or Gen2 Storage.
I need passthrough to access data.
If I will use standard clusters, I need one for each of my Data Scientists, right? I think it won't be acceptable in large company.

@michalmlaka  Thanks for your response and I agree with you.
For a deeper investigation and immediate assistance on this issue, if you have a support plan you may file a support ticket, else could you please send an email to<EMAIL_ADDRESS>with the below details, so that we can enable a one-time-free support for you to work closely on this matter.
Subject of the email:
GitHub URL:
Subscription ID:
Please let me know once you have done the same

Hi there,
Just checking to see if you have got a chance to email the details requested. Please let us know here once the details are sent.
Thanks.

Hi thanks, I will use support plan.

Thanks for the confirmation! Once a support ticket is created, please do share it here for tracking purpose.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply and reopen the issue. We will gladly continue the discussion.
Thanks.


Run lighthouse test

https://developer.chrome.com/docs/lighthouse/overview/

https://pagespeed.web.dev/analysis/https-ideasawakened-github-io/qvj4rl6bqs?form_factor=desktop


Switch to BSD license

Fix #48.
This changes the license of the code to BSD, which only requires attribution of copyright. I believe that a more permissive license can help adoption of the code.
@pgbarletta and @pelsa, you contributed code to this repository under the previous license. Do you agree to distribute your contributions under the BSD license? If so, please leave a comment here!

Fine by me!
By the way, this reminds me of asking you, are you planning to publish these libraries in a peer-review journal any time soon? I'm starting to write the manuals for my software next week, and should be submitting my project in ~2 months. If chemfiles had an original publication, it would be the first paper to acknowledge.

By the way, this reminds me of asking you, are you planning to publish these libraries in a peer-review journal any time soon? I'm starting to write the manuals for my software next week, and should be submitting my project in ~2 months. If chemfiles had an original publication, it would be the first paper to acknowledge.

Great new! And thanks for thinking to cite chemfiles!
I would like to submit this to a peer reviewed journal someday, but I wont get it in 2 months. But I could submit this to JOSS, and get a citable DOI. I'll try to do this quickly, so that you can have a DOI to cite. Or if you are using a specific release of chemfiles, I could generate a Zenodo DOI corresponding to this.

BTW, is your project accessible somewhere? I'd like to add a section 'Projects using chemfiles' in the README, I can add a link to your work there!

BTW, is your project accessible somewhere?

Currently, no, I decided to keep it private until its finished. The thing is, my first lines of C++ code were written in this project, so it's taking me a lot of time to write something a more experienced programmer would finish in a matter of months. Moreover, software programming has little to do with my original thesis topic (protein non-equilibrium dynamics) so I knew I couldn't devote much time to it while at the same time, comparable software is written by teams of experienced programmers.
I think (hope) my software does some things right and has some useful tricks. I'd like to get a publication and some cites before someone else takes these ideas and use them to make a better software. Or maybe I'm just delusional and nobody will care for it.
So, as soon as its ready and prior to any publication attempt, I'll upload it to github and let you know.

So, as soon as its ready and prior to any publication attempt, I'll upload it to github and let you know.

Great, thanks!

Pinging @pelsa here, do you agree with this?
Also pinging @lscalfi, as #77 will land soon! Do you agree with releasing your changes under the BSD license?

Yes of course!

Of course I agree !

Thank you!

@pgbarletta I create a DOI for chemfile that you can cite: https://doi.org/10.5281/zenodo.800663.


As the Designer, I want to update the documentation so that my user understand how to use bootstrap and make program modifications.

[x] Readme needs to discuss the following YAML directives:

[x] symlinks
[x] repos
[x] installations
[x] includes

Git-commit e4e3810 completed this task.


add command-line-option --loglevel_health_check

I added a new command-line-option named --loglevel_health_check that allows to configure the log-level that is used for logging non-error accesses of the system health check handlers. The default log-level is INFO.

Coverage decreased (-0.3%) to 94.498% when pulling e5e75a35f52d958b988ec82b551e2593946c4f78 on jannisuhlendorf:health-check-logging into 5be1e3b1ac00f002f65cd38a8140880eb6f20c07 on retresco:master.

Coverage decreased (-0.3%) to 94.498% when pulling e5e75a35f52d958b988ec82b551e2593946c4f78 on jannisuhlendorf:health-check-logging into 5be1e3b1ac00f002f65cd38a8140880eb6f20c07 on retresco:master.

I refactored the log_request method, such that it calls the log_request method of tornado and does not re-implement the logic of the base class. This prevents using a separate log-level for health checks, but I think this is not required. Therefore  I replaced the command line option --loglevel_health_check by --suppress_health_check_log. --suppress_health_check_log is a flag (default False), that prevents logging of non-error requests of system health check handlers.


Lower minimal Debian version

Is it ok if I lower the minimal Debian version from 8.5 to 8.0? The latest Raspbian is 8.0, but it does install without issues after circumventing the Debian version assert.

Sure, this seems fair. I'll go ahead and do this.

Thx :+1:


Failed to build 1.0-beta.7 Tag

I am following instructions in https://github.com/kubernetes-sigs/aws-alb-ingress-controller/blob/master/docs/BUILDING.md in an attempt to build the controller from the latest tag (1.0-beta.7).
After checking out the Tag I run the make command and I get the following problem:
aws-alb-ingress-controller git:(b2ff2d62) ✗ make clean; make
rm -f server
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -ldflags '-s -w -X github.com/kubernetes-sigs/aws-alb-ingress-controller/version.COMMIT=git-b2ff2d62 -X github.com/kubernetes-sigs/aws-alb-ingress-controller/version.RELEASE=1.0-beta.7 -X github.com/kubernetes-sigs/aws-alb-ingress-controller/version.REPO=https://github.com/kubernetes-sigs/aws-alb-ingress-controller' -o server ./cmd
github.com/kubernetes-sigs/aws-alb-ingress-controller/internal/ingress/status
internal/ingress/status/status.go:92:15: not enough arguments in call to s.elector.Run
        have ()
        want (context.Context)
internal/ingress/status/status.go:138:3: cannot use func literal (type func(<-chan struct {})) as type func(context.Context) in field value
make: *** [server] Error

It seems that this code is expecting contextContext but I can't see how it can be changed.
I am using go version go1.11.1 darwin/amd64 but I have also tried with version 10 and even 9.
Is there anything I could do to fix this problem and enable me to change the code?
The reason I am doing that is to fix the bug (https://github.com/kubernetes-sigs/aws-alb-ingress-controller/issues/665).

That worked, thank you!! :-)


⚡ — Notifiarr

Type
Icon request
Info
Would like the icon for Notifiarr:
https://github.com/Notifiarr/notifiarr
Icon(s)
No response

This is the best icon I could find, is this good for you?

This is the best icon I could find, is this good for you?

Definitely! Just glad to have it added at all :D


fix: resolve comments

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

Project coverage is 51.50%. Comparing base (684e652) to head (3532e5b).
Report is 1 commits behind head on daan/feat-name_symbol_option.

@@                       Coverage Diff                        @@
##           daan/feat-name_symbol_option     #323      +/-   ##
================================================================
- Coverage                         51.56%   51.50%   -0.06%
================================================================
  Files                                48       48
  Lines                              4903     4897       -6
  Branches                           4903     4897       -6
================================================================
- Hits                               2528     2522       -6
  Misses                             2326     2326
  Partials                             49       49

Files with missing lines
Coverage Δ

pallets/api/src/fungibles/tests.rs
99.69% <100.00%> (-0.01%)
:arrow_down:


Add test for update_undocumented_columns_with_prior_knowledge function

Continued from https://github.com/z3z1ma/dbt-osmosis/pull/96.
The update_undocumented_columns_with_prior_knowledge function has a lot of flags (skip_add_tags / skip_merge_meta / add_progenitor_to_meta) involved. Therefore, it was not clear how they behave. We have added a test to this function to make it easier to follow the behavior.
In adding testing, I also corrected some behavior that differed from the documentation (the documentation says it mutates the NODE, but in fact it does not).

@z3z1ma Thank you for reviewing & I fixed conflicted codes!

lgtm :shipit:


small issue for file path error

https://github.com/microsoft/DNS-Challenge/blob/21f730afe97a65d7c944c66b90501cd569905c9b/noisyspeech_synthesizer_singleprocess.py#L173
In 'datasets\impulse_responses' , the slash have to be flipped.
So 'datasets/impulse_responses' is the correct one.
Unless FileNotFoundError occurs.
FileNotFoundError: [Errno 2] No such file or directory: 'datasets\impulse_responses/SLR28/RIRS_NOISES/simulated_rirs/mediumroom/Room059/Room059-00049.wav'

Thanks fixed in master

Thanks fixed in master


Support using Abseil via CMake find_package

Hello,
I have a bit of trouble using a local Abseil installation, as I dont want to depend on external packages with some fixes URL nor some fixed filesystem paths.
Cmake already HAS the necessary infrastructure to allow building dependend modules.
For using Abseil in your Project, just this would be necessary:
# cctz pulls in some gtest and benchmark suites otherwise
set (BUILD_TESTING OFF)
find_package(Abseil REQUIRED
)

And, given the worst-case that abseil and cctz are in no directory that can be found automatically, configuration would add the respective paths:
cmake -DAbseil_DIR=<local path>  -DCctz_DIR=<local path> ...
Basic support would be added by this patch (note that cctz would need to be fixed in a similar fashion):
diff --git a/AbseilConfig.cmake b/AbseilConfig.cmake
new file mode 100644
index 0000000..4476b98
--- /dev/null
+++ b/AbseilConfig.cmake
@@ -0,0 +1,2 @@
+# Macros
+include(${CMAKE_CURRENT_LIST_DIR}/CMake/AbseilMacros.cmake)
diff --git a/CMake/AbseilMacros.cmake b/CMake/AbseilMacros.cmake
new file mode 100644
index 0000000..94c6886
--- /dev/null
+++ b/CMake/AbseilMacros.cmake
@@ -0,0 +1,8 @@
+# TODO: this should be another find_package(Cctz)
+add_subdirectory(${Cctz_DIR} _libcctz
+	EXCLUDE_FROM_ALL
+)
+
+add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/.." _libabseil
+	EXCLUDE_FROM_ALL
+)

My proposal is making CMake support better.

The patch from my first post adds support for compiling with your project (some compiler-flags and everything)
The install portion would be an additional step, common to CMake project are helpers who do what you apparently don't want: install a static or dynamic library for building dependent projects. I haven't used this much, but there can be separate version for debug and release.
What you want, is some other install target which more or less copies everything to a directory, and possibly adds some CMake-glue so a find_package(Abseil) will locate the copied package.

To me the first two use-cases are important, the first is fitting for using a prepared or automatically downloaded version.
The second would be interesting for distribution support, ie. debian typically recommends using dynamic libs, those are locked in an compatible version for each release (ie. just bugfixes). Compromising on that likely makes it difficult for projects using abseil to be built in a conforming way (isolated builders).
The third is just a variant of the first, shouldn't be to hard to get this going.
As for my personal opinion, you try to use a project more or less as a header-only library, but have some more "heavy stuff" like the time conversion functions using an additional library. If you could try separating those into a clean small base library without further dependencies and some special purpose modules with maybe ABI compatible helper functions then the solution(s) would be easier.

please look at #38
TLDR you should depends on abseil as add_subdirectory() than trying to install it first.
That's why abseil team don't want to provide install rules AFAIK.
you can look at this example if you want: https://github.com/Mizux/cmake-abseil
Please note the windows/alpine issues spotted (^v^);

add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/.." ...

-> -> -> _libabseil <- <- <-

EXCLUDE_FROM_ALL

The part marked with arrows is what we don't want to support.  Because as soon as one of your dependencies has a different libabseil, you're swimming in an ocean of ODR violations.  We don't provide ABI stability -- if you want to use a compiled version of ABseil, that's your business, but we don't want to support it.
Being able to specify some other abseil directory, on the other hand, is great.  If you can then point all your dependencies at the same absl/ directory, then everyone is happy.  Would that be reasonable for you?

The part marked with arrows is what we don't want to support...

You got that completely wrong, that's the directory libabseil.a will be built in, the directory where the Abseil sources are is given at commandline with -DAbseil_DIR=<local path>.
I would want to use Abseil with a cross-compiled project, so you don' t need to preach about the downsides of pre-compiled libraries in my direction =)
This already works with the patch in the very first post, maybe just spend a minute testing it?
@Mizux already mentioned some issues with add_subdirectory however. Not really fit for suggesting another solution, but I would not want to depend on an internet connection for building.
Likely will just place Abseil in a subdirectory and be done with it

Hi,
So first we are all agreed to have a single abseil (not prebuilt !) in your super-super-cmake build project.
So my current workflow currently for incorporating a dependencies in my project is:

Check if the cmake target (with cmake namespace if possible) is present
if not, use ExternalProject to retrieve the source and incorporate it in my CMake build.

note: 1 is needed if several deps (B, C) of my project A could depends on D and one of them already load it.
note: 2 if you don't like depending on url for external project you could integrate abseil directly in your project and add_subdirectory() it first so other deps will find yours and will not try to download it (if they use 1)
cons: you could have a "old" version of abseil if you don't update regularly but at least you'll have one abseil version.
cons: if you integrate everything as cmake subproject you could have a super mega giga CMake project which can take to compile everything so you reach the 4MB log limit in Travis CI or the 50min timeout.
Examples:
In cpu_features we check targets gtest / gmock when building tests if not found let's incorporate googletest
cf https://github.com/google/cpu_features/blob/master/CMakeLists.txt#L89
In or-tools which depends on gflags, glog, zlib, protobuf (and soon abseil) so I do the same for all our dependencies
cf. https://github.com/google/or-tools/blob/master/cmake/external/CMakeLists.txt#L47
please also note that glog depends on gflags, and protobuf on zlib and... they use find_package()
-> so I overload it to no op if target present and add the necessary alias in zlib/gflags (via ExternalProject patches or PR)
Bonus question: if you build a standalone "sdk/software suite" which depends on abseil you'll have to provide at least abseil headers (if they are part of your api), since abseil don't provide install rules (to avoid build abseil as standalone a have severals version in your system I know) what to do ?

I am still trying to get my head around this, but your approach seems rather sensible, thanks @Mizux . There aren't much indepth guides discussion the option of managing depend projects with CMake.
ie. those 3 options should be transparent to the rest of your project (configured via CMake defintions on the cmdline):

use dependency from source from a path (potentially subdirectory / git submodule)
use precompiled dependency from a path
use precompiled dependency from your system installation. (in absence of any arguments, this should be tried first)

So first we are all agreed to have a single abseil (not prebuilt !) in your super-super-cmake build project.
The only thing I would object here is that it should be mostly transparent whether you would want to use abseil by compiling it from source, compiling it once for a CMake super-project, or using a prebuilt one.
Think of creating an root filesystem for embedded devices - here I wont run into any compatibility troubles and might want to use shared libraries for saving memory (not sure whether is is an argument that holds with an mostly-header library like abseil). Whatever independent projects I compile for this rootfs will/should use the same libraries - hence ideally I would install the libraries once in the rootfs (this could be shared, static or source-libraries).
there are projects like buildroot which automate that, means add abseil there and any other projects should use this version by default.

That would fit into your  "sdk/software suite" aswell. a "install target" for this need would really help, but they would not necessary end up installing shared libraries but static ones or a CMakeLists.txt describing a source library (object library?)

Yes, I guess Yocto community will be happy to have an abseil-cpp recipe (they already have CMake plugin provided the CMakeLists.txt contains install rules)
@nolang I guess 1) dependency form source could be split in two topics:
1a. use dependencies from source given an "env_DIR" variable
1b. automatically retrieve dependencies sources and incorporate it using ExternalModule (pro:
user just run cmake and every deps are retrieved,
you could reasonably use CI to guaranty compilation and build being reproducible for this setup)
note: gflags for example checks if currently configured as subproject or as standalone to choose static/shared enable/disable unit test by default etc...
For instance currently:

I don't know which version of cctz abseil-cpp has been tested against using public CI nor kokoro.
cmake . just crash so people can't built it as standalone project (for just running unit test/collaborate for example) they have to provide a Meta-CMakeLists.txt on top...
Software Embedded user building "reproducible distro" (using buildroot or Yocto) for embedded device (e.g. SoftBank Robotics Pepper Robot) usually are [source] package based system (and don't have Google resources to rebuild every deps for every pkgs...)

I have troubles with 1b, namely that this will either need to download during configuring, or you will have to hardcode correct paths/dependencies as you cant use a CMakeLists.txt that ain't there yet.
Usually I would want to always write CMakefiles that use the installed targets (eg. Hugo::Hugo instead of hugo). Which means to install all dependencies (that aren't already available).
The idea I am currently playing with, is having a separate CMakeLists.txt file taking care of all dependencies. that would be a manual 2-step process but it seems the most sane to me (outside of throwing everything in subdirectories - but that doesn't scale for libs used multiple times and git submodule has its own ugly warts).
(CMake's ExternalProject is rather useless for cross-compiling aswell)
Might have to checkout hunter, sounds like this covers similar ground

Sorry if I miss something but with target alias (if provided -_-) you can use Hugo::Hugo even when add_subdirectory() deps.
separate cMakeLists.txt you means something like https://github.com/google/or-tools/blob/master/cmake/external/CMakeLists.txt (cf directory for deps)
I use ExternalProject just for cloning deps in  a "portable way" (pros: don't have the issue with submodule overwrite by a git merge)
libs use multiple times accross your "project" or the "distro" ?

yeah, I already used the ALIAS trick, still that's extra code that someone has to maintain. In a perfect world a helper like ExternalProject could just use the install statements to create such shims.
Its actually what I expected of CMake before I started doing some more complicated setups.
libs would be used across multiple projects ideally, not distro (might be a different cpu architecture or OS). Lets just call it a staging area. Yes, the file you linked is basically a template for that.
before building your project, you would build/update the staging area to contain the modules you need - either in source form or as library.
this could be used for multiple projects (as long as the target matches and compiler/-settings agree).

Hey @Mizux
So your idea is basically what we want to go for.  Looking at other projects (folly, really) it looks like what we need to do from our end is an install EXPORT rule so you can reference abseil targets, and then an install(DIRECTORY) to copy abseil's files over into your source directory.
One unfortunate thing is that our headers and .cc files are in teh same folders because that's just how we structure projects at Google -- Bazel lets you declare private headers which aren't visible throguh your target, so there's less need for us to have includes/ directories.
My question then is what else do we need to do to support this use case.

@nolange -- I'm still a little bit wary of your find_+package approach. I'm imagining a project directly depending on abseil throguh their libabseil.a, but then depending on another project which uses a different libabseil.a and everything explodes. Am I missing something?

yes everything will explode if you use different incompatible versions. you are missing out that it is completely unrelated whether find_package was involved, you will get the same mess with any other mechanism if you don't specify the same package version.
find_package to me, is the canonical way to reuse software modules in CMake, so this would be the first attempt to get it working. You can then add a whole rube-goldberg-apparatus to download the correct versions, but to me building and preparing/installing dependencies is a separate prior step.
The build using abseil should not be affected and just gets passed a variable so find_package will search in the correct directory.
In case you aren't familiar, I would recommend you to create a rootfs with buildroot, and then understand how a package using CMake will automatically pick the libraries and headers not from your OS but from the created rootfs which might not even be the same CPU architecure. CMake is popular exactly because find_package will "do the right thing" aslong you pass along a few parameters (mostly a toolchain file and path to such a rootfs).
consider building a set of apps using abseil would use a similar prepared "rootfs" to solve API/ABI issues, so the problem is the same.
Thanks everyone for your patience with this. I took lead on this project precisely because I knew ~nothing about this space and wanted to learn through doing.
Thats great, can I hire at google and lead their AI efforts - I know nothing about AI and would like to learn ?(sorry, I had to bite - this is what it sounds like, I am sure it was meant differently ;) )

Sorry fall sick last week...
@JonathanDCohen I guess this topic could be close as duplicate of #38
also vcpkg (Microsoft backed library package manager more/less based on CMake) have a good starting point for install rules -> https://github.com/Microsoft/vcpkg/blob/master/ports/abseil/CMakeLists.txt (and this is why you should provide your install rules directly)
Concerning private header you'll have to REMOVE_ITEM (e.g. here) them from GLOB_RECURSE list if their are mixed with internal, I fear here you have to deal with bazel/cmake implicit directory layout convention...
Personally for google/or-tools which is a library and a standalone sdk I guess I'll have to support few ways of integration:

build ortools as standalone sdk so I'll need to package also all its dependencies to create a big fat standalone archive... (currently we have Makefile rules which provide only this)
-> need all deps (i.e. abseil-cpp) to have install rules and incorporate them all as sub_directory
EDIT: I thinking I could do it in an external git project than trying to have my ortools CMakeLists support this workflow and the following one...

Support customer who want to just use ortools in their own local CMake project/apps using the distro package (i.e. using find_package ?)
-> in this case I think, I MUST just check my deps cmake target are availabe (i.e. abseil-cpp target(s)) and don't try to ExternalProject/add_subdirectory them (could be done in the Config.cmake)
2bis) Also, it means that I need to support the build of ortools with dependencies provided by distro/system packages (aka find_package) which can be in differents version according to distro release politics/rolling-release/etc than the one I test when I build everything from source in 1).
requirement: all my deps are available in the distro otherwise I'll need to support them (i.e. create a package for my deps A) if I want to provide my package ortools...

Support people who want to incorporate a specific version of ortools (or abseil?) in their build (or can't/want rely on distro package version):
3.1) by being able to incorporate ortools as sub_directory (e.g. using  Gtest ExternalProject tricks)
3.2) by building ortools specific version first then consume its install output in their build (i.e. using CMAKE_PREFIX_PATH to retrieve this artifact what #38 guys wants)
I think this workflow is just having 2) then use your local build

I guess abseil-cpp need to support 3.1 and 2/3.2.
3.1 is cool for "live at head" (and it's the only way to use a lib which doesn't provide install rules).
2/3.2 who need install rules but could also be use to "live at head" or for maintainer to provide a distro package
Actually 1 and 3.1 is only good when install rules / config.cmake is bad so it's better to incorporate deps source directly than build/install/consume them (I think about cross compilation and passing all stuff to deps to prebuilt them with the same conf than "me", my current lib)

I guess abseil-cpp need to support 3.1 and 2/3.2.

Yeah, pretty much this is where I stand too

so it's better to incorporate deps source code directly than trying build/install/consume them

This is also where I stand.  Especially because absiel is about to drop our cctz dependency and so become self-contained in non-test builds, I don't really see an advantage of build/install/consume libabseil.a or whatever when you can just build straight from source without issues.

This is now tracked in #111. I'll keep this open until that issue is resolved, since there is a lot of good discussion here.

Ok


Can play video from youtube or other platform ?

videoSrc="https://www.youtube.com/watch?v=gdA1G5h-D80"
it seems not working

Unfortunately this is not possible because Youtube links like this can only be embedded in an iframe, not played directly through a  tag. Do you have access to the actual video file?

No,I dont, we get the list of video from social network

Ah okay, well I'm sorry but unfortunately this library will not support that use case then because Youtube links require a lot of special handling. I would suggest looking into a library like react-youtube for embedding the video. Unfortunately you will have to implement the hover interaction yourself, but feel free to reference this library's source code or reach out if you need any guidance on getting that working.

Vimeo could work because it has a way to deliver mp4 files via URL

Good point, that would definitely work! It is worth noting that Vimeo restricts access to that API unless you have a pro subscription or higher, but it is an option. (see their help article here: https://vimeo.zendesk.com/hc/en-us/articles/224823567-Direct-links-to-video-files)


Upgrade to hyper 0.11

hyper 0.11 includes support for asynchronous I/O!

This appears to have happened in d2230e2bf742298806eab2a812ec0fbf8eb4f34e.

Yep this is a bit out dated. That was a lot of work!


operator scaleops-operator (v1.8.15)

New operator bundle
Name: scaleops-operator
Version: v1.8.15
Certification project: 66eaf50e91a2909903d7d7f0
Test result URL: https://catalog.redhat.com/api/containers/v1/projects/certification/test-results/id/671f9ac0d596ef0426f12251
Test logs URL: https://catalog.redhat.com/api/containers/v1/projects/certification/artifacts/id/671f9abd745ec927ae86b1b5

Retriggered release pipeline. Signature failure is a (usually) transient issue on our side.


nixos: Add boot.initrd.luks.devices..waitForKeyFile

Motivation for this change
This PR adds an option to disable waiting for the key file to appear for a LUKS device. This is useful if you define commands to load the key file in preOpenCommands (e.g., unseal the key from TPM), falling back to passphrase if it fails. Without this option, you currently have to wait 10 seconds for a key file that'll never appear before you can enter your passphrase.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

I have since transitioned all machines to systemd stage-1 with systemd-cryptenroll so I'm no longer using this.


[Bug] --localize ignores index configuration

🐞 Bug report
Command (mark with an x)

[x] build
[x] xi18n

Is this a regression?
No, I think it has always happened, but no one noticed or tried this.
Description
Trying to localize the app, but index.html is not a component, so i18n directive doesn't work in it, trying to generate different index files for each locale works ok when built with --configuration=es-CO but not when using --localize to build all locales at once.
🔬 Minimal Reproduction
Repro repo: https://github.com/luchillo17/angular-issue17684-repro
Steps:

Install and run npm run build:es-CO.
Note that the build's dist/angular-issue17684-repro/es-CO/index.html will have the Spanish title from src/index.es-CO.html.
Now run npm run build:localize.
Note that the build's dist/angular-issue17684-repro/es-CO/index.html will have the English title from src/index.html instead of src/index.es-CO.html.

🔥 Exception or Error
No error, just using the default index.html, instead of the configured one.
🌍 Your Environment

Angular CLI: 9.1.5
Node: 12.12.0
OS: win32 x64

Angular: 9.1.6
... animations, common, compiler, compiler-cli, core, forms
... language-service, localize, platform-browser
... platform-browser-dynamic, router, service-worker
Ivy Workspace: Yes

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.901.5
@angular-devkit/build-angular     0.901.5
@angular-devkit/build-optimizer   0.901.5
@angular-devkit/build-webpack     0.901.5
@angular-devkit/core              9.1.5
@angular-devkit/schematics        9.1.5
@angular/cdk                      9.2.3
@angular/cli                      9.1.5
@angular/material                 9.2.3
@ngtools/webpack                  9.1.5
@schematics/angular               9.1.5
@schematics/update                0.901.5
rxjs                              6.5.5
typescript                        3.8.3
webpack                           4.42.0

Anything else relevant?
I'm guessing it has to do with how --localize works, maybe it's caching the source locale's index.html and reusing it in all the other locales.

Hi @luchillo17, this is expected and currently working as intended.
Localization only works for JS files and component templates which index.html is not.
When using the --localize, your JS bundles will be translated in all the locales configured and the configured index.html for that build is used, aka the english version of index.html.
The index is "translated" when you are using --configuration=es-CO because in the es-CO configuration, you are replacing the index.html input file with a different one, which contains the translations. It's important to note that es-CO configuration is not linked with --localize functionality. It is just a string used as a configuration identity and it can anything.
Let's continue tracking this in https://github.com/angular/angular-cli/issues/8947

Hi @luchillo17, this is expected and currently working as intended.
Localization only works for JS files and component templates which index.html is not.
When using the --localize, your JS bundles will be translated in all the locales configured and the configured index.html for that build is used, aka the english version of index.html.
The index is "translated" when you are using --configuration=es-CO because in the es-CO configuration, you are replacing the index.html input file with a different one, which contains the translations. It's important to note that es-CO configuration is not linked with --localize functionality. It is just a string used as a configuration identity and it can anything.
Let's continue tracking this in https://github.com/angular/angular-cli/issues/8947


Failed tests with redis 6.x

Hi,
Discovered by Fedora CI:
https://koschei.fedoraproject.org/package/php-nrk-Predis?collection=f33
Since redis 6.0.0:
There were 3 failures:
1) Predis\Command\PubSubSubscribeByPatternTest::testCannotSendOtherCommandsAfterPsubscribe
Failed asserting that exception message 'ERR Can't execute 'set': only (P)SUBSCRIBE / (P)UNSUBSCRIBE / PING / QUIT are allowed in this context' matches '/ERR only .* allowed in this context/'.
2) Predis\Command\PubSubSubscribeTest::testCannotSendOtherCommandsAfterSubscribe
Failed asserting that exception message 'ERR Can't execute 'set': only (P)SUBSCRIBE / (P)UNSUBSCRIBE / PING / QUIT are allowed in this context' matches '/ERR only .* allowed in this context/'.
3) Predis\Command\ServerCommandTest::testReturnsCommandInfoOnExistingCommand
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
         5 => 1
+        6 => Array (...)
     )
 )

Related to #296. Resolved in 10235d6.


Allow full customization of persist_tags callback

Module#prepend (Ruby >= 2.0.0) can be used to:

wrap the persist_tags callback
call super
do something with the return value of the super call

Making the return value of persist_tags be the instance of Gutentag::Persistence will allow access to @existing and @changes, which in turn allows for powerful business logic built around tags.
Example Model
class Product < ActiveRecord::Base
  prepend UpdateStuffsOnTagging # wraps Gutentag::ActiveRecord#persist_tags
  Gutentag::ActiveRecord.call self
end

Example Module
module UpdateStuffsOnTagging
  def persist_tags
    gutentag_persistence = super
    # existing - new = tags that were removed
    if (removed_tags = gutentag_persistence.instance_variable_get(:@existing) - gutentag_persistence.instance_variable_get(:@changes))
      removed_tags.each do |tag_name|
        Resque.enqueue(DestroyStuffsOnTagRemoval, id, tag_name)
      end
    end
    # new - existing = tags that were added
    if (added_tags = gutentag_persistence.instance_variable_get(:@changes) - gutentag_persistence.instance_variable_get(:@existing))
      added_tags.each do |tag_name|
        Resque.enqueue(CreateStuffsOnTagAddition, id, tag_name)
      end
    end
    gutentag_persistence
  end
end

I didn't change the persistence class and expose the internals, because I appreciate the separation of concerns you have created.  Still, my example is ugly.
I am hackily accessing the internals of the persistence which is brittle, ugly, and barbarous.  An alternative then to returning self would be to return an object designed for the purpose of conveying information about the data changes back to the callback, like PersistenceInfo object that simply has data about the changes - before/after.

Hi Peter,
Thanks for the PR - and even more so, the example of what you're wanting to do, and a suggestion of a cleaner way to do it. I've ended up adding Gutentag::ChangeState into the next branch (which has reminded me I want to tidy one or two things up and get v1.0 out), and you could use it in your model like so:
class Product < ActiveRecord::Base
  Gutentag::ActiveRecord.call self

  private

  def persist_tags
    change_state = Gutentag::ChangeState.new self
    Gutentag::Persistence.new(change_state).persist

    change_state.removed.each do |tag_name|
      Resque.enqueue(DestroyStuffsOnTagRemoval, id, tag_name)
    end

    change_state.added.each do |tag_name|
      Resque.enqueue(CreateStuffsOnTagRemoval, id, tag_name)
    end
  end
end

I decided to go down this route because I feel Gutentag::Persistence is a class that does something, rather than returns something.

That is exactly what I need!

Just released v1.0.0 👍


Remove optional parameter before required parameter

Questions
Answers

Description?
declaring a function with an optional parameter before a required parameter is deprecated in PHP 8.1, this PR aims to fix this deprecation.

Type?
improvement

BC breaks?
no

Deprecations?
no

Fixed ticket?

How to test?
Nothing should have changed

QA: You could test sorting of the blocks

Thank you @atomiix


[Keadex Mina Bug] Newlines are rendered as plaintext

Describe the bug
Hey, I've found out about Mina today, and it looks pretty cool but there is a discrepancy between it, and PlantUML way rendering of newlines. Mina renders them in a plaintext, and PlantUML renders them as correctly - as newlines.
To Reproduce
use it as a diagram:
@startuml

Person(personAlias, "Label", "Optional\nDescription")

Container(containerAlias, "Label", "Technology", "Optional\nDescription")

System(systemAlias, "Label", "Optional\nDescription")

Rel(personAlias, containerAlias, "Label", "Optional\nTechnology")

@enduml

Expected behavior
Newlines are rendered properly, as new lines, not as \n
Screenshots
PlantUML VSCode plugin with code:
@startuml C4_Elements
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml

Person(personAlias, "Label", "Optional\nDescription")
Container(containerAlias, "Label", "Technology", "Optional\nDescription")
System(systemAlias, "Label", "Optional\nDescription")

Rel(personAlias, containerAlias, "Label", "Optional\nTechnology")
@enduml

outputs:

and Keadex Mina renders:

App Details:
{
"version": "1.14.0",
"tauriVersion": "2.0.6",
"arch": "x86_64",
"platform": "linux",
"osType": "linux",
"kernelVersion": "22.4.0"
}

@piorus solved in the latest release: Mina 1.14.1

marvelous, thank you!


Make Mazily walls more easily visible?

Possibly resolved by https://github.com/gabriellesc/gabriellesc.github.io/commit/c45020935ac879924e5ebbaaa302e835bd5a97ba


consider split flutter-app-demo to separate repo

Now the repo is already 39MiB (compressed), most of space is used in demo.
Which could takes long time for people who want to use latest version from the git repo in Cargo.toml
[dependencies]
flutter-engine = { git = "https://github.com/gliheng/flutter-rs" }

here's a summary of top file size (in KiB) script here
size   pack  SHA                                       location
17073  4995  ec200cbb8c25c8c3185f20f5cf7f138ca52fe7a7  flutter-runner/examples/stocks/flutter_assets/kernel_blob.bin
5480   2732  f56cef292222fa4562299d1d6ed4a5b7802b1629  flutter-runner/examples/gallery/flutter_assets/kernel_blob.bin
4352   2225  32388a546dfbef57a4fb633e7ee38b9ad53f58f0  flutter-runner/examples/counter/flutter_assets/kernel_blob.bin
2898   1304  115432a16263aee094d91821ed67157d1e7a10b6  flutter-runner/examples/counter/flutter_assets/vm_snapshot_data
2372   2367  c8489799f549457b017664d6eb7ccbd82ae5bff4  flutter-runner/examples/gallery/flutter_assets/packages/flutter_gallery_assets/videos/butterfly.mp4
1262   1258  6225775b4676bd5e768c0742012ab8678165b425  flutter-runner/examples/gallery/flutter_assets/packages/flutter_gallery_assets/videos/bee.mp4
1234   1234  af6ed4670d0f8337f95864f7c8ddca3f6ee5096a  flutter-app-demo/assets/header.png
1152   1152  f23f37a4ec4897a1b460de30a8865865c5c66df2  flutter-runner/examples/gallery/flutter_assets/packages/flutter_gallery_assets/places/india_chennai_flower_market.png
1127   1127  23fe309dc1478fc16a6102752aea04c3bb3dc064  flutter-runner/examples/gallery/flutter_assets/packages/flutter_gallery_assets/places/india_tanjore_bronze_works.png
1092   1092  388b3d41294740ae4ac33679c5be1cfb3b3f9c8b  flutter-runner/examples/gallery/flutter_assets/packages/flutter_gallery_assets/places/india_tanjore_market_merchant.png
1086   1084  8690aa21c95e83ca03587c959ebc66f41ac86690  flutter-runner/examples/gallery/flutter_assets/packages/flutter_gallery_assets/places/india_tanjore_thanjavur_temple.png
1030   1030  7dab064f395c33de85209e82afc1bf3a22cd4766  flutter-runner/examples/gallery/flutter_assets/packages/flutter_gallery_assets/places/india_pondicherry_salt_farm.png
961    961   f6012f5cdb67b255b71d344e164620145f3e6a6d  flutter-runner/examples/gallery/flutter_assets/packages/flutter_gallery_assets/places/india_chennai_highway.png
932    932   ea4ff6b181d6cf74ef5aa8d7ef392b079e6eb887  flutter-runner/examples/gallery/flutter_assets/packages/flutter_gallery_assets/places/india_chettinad_silk_maker.png
922    921   8ac86a5dcecd2889977539949986e2d58cf03d9b  flutter-runner/examples/gallery/flutter_assets/packages/flutter_gallery_assets/people/ali_landscape.png
862    450   d9677abf8caf4eff7f2e679eafb6cc8c243e41dc  flutter-app-demo/rust/assets/icudtl.dat
860    860   79e7af295761ad017ba7fef26e05ba1400d4aa0e  flutter-runner/examples/gallery/flutter_assets/packages/flutter_gallery_assets/places/india_tanjore_thanjavur_temple_carvings.png

Hi, clouds56. I find that most of the size in flutter-app-demo is the build dir, which contains flutter build stuff. This folder is not committed in git anyway.
I agree that It's better to put it into separate repo. So I'll make it a submodule and removed from cargo workspace.

Moved into https://github.com/gliheng/flutter-app-demo


Tracking Objective-See apps

Objective-See apps are high-quality security apps for macOS. Some of them are apps to be run on demand, while others run continuously. These latter ones typically require a manual installer. In most cases that makes it impossible for us to automate their installation, and their uninstallation is suboptimal. I say “in most cases” because on some the developer was kind enough to provide a way to (un)install these from the CLI.
I’ve contacted the developer, as he said he will keep adding CLI (un)installers for the apps that are missing them, but that’ll likely only happen as new versions are released. That’s perfectly reasonable, but since we have no idea when that will happen for which, this issue is meant to track it as it happens.
Cask that can be completely (un)installed via official CLI methods

[x] BlockBlock (cask)
[ ] Ostiarius (cask) Unlikely to happen
[x] OverSight (cask)
[ ] What's Your Sign (cask)
[x] KextViewr (cask)
[x] KnockKnock (cask)
[x] Lockdown (cask)
[x] RansomWhere? (cask)
[x] TaskExplorer (cask)
[x] Dylib Hijack Scanner (cask)
[x] LuLu (cask)

List updated.

Note that Dynamic Hijack Scanner is also called Dylib Hijack Scanner and is available in Cask as dhs.rb.

Updated the list again. Not that although we managed to fake What's Your Sign’s install, we’re still not using an official uninstallation method, and still can’t install automatically. As of now, RansomWhere? is the only persistent one of the bunch that can do it.

Ah, of course - apologies.

Updated the list again. Since all of them are now present in HBC, it makes no sense to have that checkbox.

Updated the list with lulu https://github.com/caskroom/homebrew-cask/pull/38729


bump

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@conda-forge-admin please rerender

@saraedum actually I was planning on looking into why the latest maxima doesn't build on arm, but I won't have much time for it this week. Do you have any clues?

@saraedum actually I was planning on looking into why the latest maxima doesn't build on arm, but I won't have much time for it this week. Do you have any clues?

No, both maxima and arm build errors tend to be rather mysterious to me.


Provide a validator for an existing file

If you have an attribute for a file name, you might want to validate that the file actually exist.
It that something to be useful with the default validators?  (http://www.attrs.org/en/stable/api.html?highlight=validat#attr.validate)

I guess?  I think I'd merge a PR that does that.
We should orient ourselves on what click is doing with Path.


Operation details mixed with other op/tx

Please check attached image

is a path payment of XLM but details shows a DRA transaction. if I click in operation<PHONE_NUMBER>6235009) it shows https://stellar.expert/explorer/public/tx/83265397096235008#83265397096235009 but the real transaction is https://steexp.com/tx/51804d1a22e577145eaa03b7a5d21e8bd75c12316115251c69241eaa4641fb5a
if you need more info let me know

Fixed in 0.8.8


UF-270: Created user menu is displayed on left side of panel

Depends on:
https://github.com/uberfire/uberfire-extensions/pull/196
https://github.com/droolsjbpm/guvnor/pull/238

+1 to merge.

0.8.x: 9a999fef86a1b7fa606d0d192fc172e13cdc64fe


Make another bad check

Why are you Pulling from Master into SampleBranch…?
From: Troy Walsh<EMAIL_ADDRESS>Sent: Tuesday, June 25, 2019 1:03 PM
To: Magenic/QATDemo<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [Magenic/QATDemo] Make another bad check (#2)

You can view, comment on, or merge this pull request online at:
https://github.com/Magenic/QATDemo/pull/2
Commit Summary

Make another bad check

File Changes

M CompositeTests/CompositeTests/Tests/WebService.cshttps://github.com/Magenic/QATDemo/pull/2/files#diff-0 (2)

Patch Links:

https://github.com/Magenic/QATDemo/pull/2.patch
https://github.com/Magenic/QATDemo/pull/2.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/Magenic/QATDemo/pull/2?email_source=notifications&email_token=AEIPQ4FNZUOXT2PDMHSMMVTP4JMXBA5CNFSM4H3K3NJ2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G3TU2XQ, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AEIPQ4GCX65J2GS5LBEZGBLP4JMXBANCNFSM4H3K3NJQ.


qma7981 does not compile

Super-2023-Swadge-FW/main/swadge_esp32.c:363: undefined reference to 'qma7981_init'
Super-2023-Swadge-FW/main/swadge_esp32.c:421: undefined reference to 'qma7981_get_acce_int' collect2.exe: error: ld returned 1 exit status

Easy fix, just gotta add stubs to the emu. More troubling, the CI passed a build that definitely failed...
https://app.circleci.com/pipelines/github/AEFeinstein/Super-2023-Swadge-FW/202/workflows/93356eec-805e-4b5d-9b59-570389882100/jobs/74

Fixed in e5da29ff13366237798377060c8b15f05b4c60d9


Fix for spacebar bug

When spacebar is pressed to play a paused video it resets the video to the beginning because player.play() has the line this.load(). This fixes the issue by running media.play() instead of player.play().

I'd love to merge this in, but the change needs to be made in the /src/js/ folder, not in the /build/ folder. If you can resubmit that way, I can merge in your pull.

Make a new pull request as you said: https://github.com/johndyer/mediaelement/pull/1549
Closing this one.


add git remote task

Hi @rubenv (again),
I added the git remote task, I needed it for a project, so I took the effort to implement it in grunt-git.
https://git-scm.com/docs/git-remote.html
Also hoping, to see a quick release so I can start using it right away.
If you have any remarks don't hesitate.
Kind regards,
Robin

@rubenv ,
Oeps, my bad.
The readme is updated!

Looking good, merging!

Released as v1.0.12. Thanks!


Increase Unit Test Coverage to 50% Across all GoLang Files Throughtout the Project

We have a million "add unit tests to this file" type of issues.
They unnecessarily clutter the project backlog.
Tracking things under this "50% coverage" goal is best.
I'll close all other issues; and close this one once we reach 50% coverage target.
Because of the very nature of this issue, more than one person can work on it.
Please comment /assign under it, if you want to add unit tests to the project to reach its initial coverage goal.

/assign

^ added you to the gang of pirates collectively working to increase coverage… arr!

/assign

/assign

done. and done.

/assign


Config webpack express cooperation

What:

Added Websocket communication between React app and Express server

Why:

To establish viability of two-server model

Next Steps:

Commence buildout of React components as per our component model

Confirmed viability of websocket connection between React app and existing Express server infrastructure


Add a hotspot with event

Hi dear , I need to know how i can convert from the clicked touch event x,y  to a panorama coordinates to add a new Hotspot in android kotlin , please if you can help!

override fun onLongPress(e: MotionEvent) {
    val x = e.x
    val y = e.y
    val screenWidth = resources.displayMetrics.widthPixels
    val screenHeight = resources.displayMetrics.heightPixels
    val normalizedX = x / screenWidth
    val normalizedY = y / screenHeight

    addHotspotAt(normalizedX, normalizedY, screenWidth, screenHeight)
    Toast.makeText(this, "${normalizedX}, ${screenHeight}", Toast.LENGTH_SHORT).show()
}

private fun addHotspotAt(
    normalizedX: Float, normalizedY: Float, screenWidth: Int, screenHeight: Int
) {
    // These values would ideally come from your panorama viewer or camera settings
    val currentYaw = plManager.panorama.camera.yaw
    val currentPitch = plManager.panorama.camera.pitch
    val fov = plManager.panorama.camera.fov  // Current FOV considering zoom
    val aspectRatio = screenWidth.toFloat() / screenHeight

    // Convert normalized screen coordinates to changes in yaw and pitch
    val yawChange = (normalizedX - 0.5f) * fov
    val pitchChange = (0.5f - normalizedY) * (fov / aspectRatio)

    // Calculate new yaw and pitch for the hotspot
    val hotspotYaw = (currentYaw + yawChange) % 360
    val hotspotPitch = currentPitch + pitchChange
    // Ensure pitch stays within bounds [-90, 90]
    val clampedPitch = hotspotPitch.coerceIn(-90f, 90f)

    // Now, create your hotspot at this new yaw and pitch
    createHotspot(hotspotPitch = clampedPitch, hotspotYaw = hotspotYaw)
}

private fun createHotspot(hotspotPitch: Float, hotspotYaw: Float) {
    val hotspot = ActionPLHotspot(
        this,
        System.currentTimeMillis(),
        PLImage(BitmapFactory.decodeResource(resources, R.raw.hotspot)),
        hotspotPitch,
        hotspotYaw,
        PLConstants.kDefaultHotspotSize,
        PLConstants.kDefaultHotspotSize
    )
    plManager.panorama.addHotspot(hotspot)
}