Fix handling of blank nodes in RDF and OWL input

VLog4j owlapi and rdf modules currently convert blank nodes into Blank term objects. This is not correct, and VLog does not support it. We should rather turn blank nodes in the input into constants in some way (or reject them if not appropriate in some location). We should also recheck the handling of blank nodes in the parser module, which is based on Turtle and might support such data.
Once this is done, FactImpl should no longer tolerate Blank terms.

This might require a new type of constant to represent such values (if not as named null). Also note that the current code may throw exceptions because some places expect all values in facts to be constants. Upgrading to "bug".

This has partially been addressed in #162. Named nulls in facts are now skolemised before being sent to VLog. We can therefore keep them in facts on the Rulewerk side.
OWL also creates UUID-based blank nodes per ontology now. This suffices to correctly reason with bnodes in facts, even if they might violate the tree-shape restriction imposed by OWL (which is only relevant for the eintailed ontology in the ontology entailment reasoning task). RDF still relies on the library's own mechanism of handling bnodes, so this might not be completely correct yet.

The problem has also been fixed for RDF in Rulewerk 0.7.0. The RdfModelConverter no supports skolemisation and null renaming (for later skolemisation). Which of the two should be done is selected in the constructor.


Fix missing import ft from custom font tutorial

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Logging

print() is not logging

I saw you were using the logbook library instead of the Python standard one. Why is this?

logbook removes most of the boilerplate. sweet library https://logbook.readthedocs.io/en/stable/

Hi, have you taken a look Ken @Ken ?

Yes. The Python standard logging library has a lot of boiler plate I dont feel like writing


Make the text for the Microsoft Store disclaimer yellow

[x] Have you signed the Contributor License Agreement?
[x] Are you working against an Issue?

Try to resolve #1682

Microsoft Reviewers: Open in CodeFlow

Based on the conversation in that issue, this is not the correct solution. We need to bold this text.

I feel this should be an emphasized Info() instead of a Warn() semantically as well.


When will an Arm64 version be available?

I'm trying to bind this for Xamarin using their new unified API based off Apple's requirements to have 64-bit only from 1st Feb, but the .a file is armv7 only, not arm64.  When will a 64-bit version be available?

Apologies - problem in chair, not in computer!  Not an issue at all.

Apologies - problem in chair, not in computer!  Not an issue at all.


Subcommand/parameters

Two interfaces:

CommandGroup extends Subcommand
Returned by the command factory and command registry

/**
 * Returns a list of all this command's subcommands.
 */
Collection<? extends Subcommand> getSubcommands()

/**
 * Returns a list of all this command's default command's parameters.
 */
List<? extends Parameter> getParameters()

Subcommand

/**
 * Returns a list of all this command's parameters.
 */
List<? extends Parameter> getParameters()

This can possibly be used by the usage-generator #5.

I feel like changing Parameter to CommandParameter to avoid confusion with java.lang.reflect.Parameter.


Add check to flip quaternion

This commit add a check to QuaternionSlerp() which inverts one of the quaternions if they are inverted to each other (same rotation, just all components are negative)
The check is outlined here in the other issues section on this page.
https://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/slerp
Three.js has this exact same check in their slerp function, so I'm guessing this is the standard way to do this in graphics focused stuff.

@masterex1000 Thanks for the improvement!


Icon theme not being recognized.

My icon theme is symlinked from one location to ~/.local/share/icons, but it fails to be recognized. If I manually copy it to ~/.local/share/icons, it functions correctly. However, I have specific reasons for preferring to use a symlink. Are there any solutions to this issue?

Sorry, we use the os.path.exists() function, that does not follow symlinks.


SHAP with top feature having no impact

I used XGBoost to build a model and SHAP for looking into top SHAP features.
But surprisingly I got feature with no impact on the top. Is this a bug is SHAP?

Could you share an example picture of what you mean? Summary plots for example sort by importance so the top feature will be the most impactful.

Sure.

Hmmm...that does seem wrong. What does shap.__version__ give? And are there any nan values in your shap_values array (there shouldn't be)?

SHAP version is 0.15.0.
No there is no nan values in shap_values array.

Sorry for the slow reply. It could be that your SHAP version is very old, perhaps try updating?


Fix parsing when the local tz offset spans across midnight

This should fix #36.

So, you're right, you've not regressed anything, but it would've if the rest up the code was correct (and obviously that's on us 😄). Basically, what the current main branch is currently doing, for example, is assuming that a month is 30 days. That's just wrong. It reality, the number of days that a month takes depends on the reference date.
However, there is an alternative solution that we could explore. Which is where we don't return just a chrono::Duration, but a custom duration, that includes the number of months as a separate field, for example. Like this library is doing: https://docs.rs/chronoutil/latest/src/chronoutil/relative_duration.rs.html#11-14. That would work too.
Sorry, this library is in a pretty weird state at the moment, because the original implementation did not foresee issues like this. I should sit down and really fix it up at some point.

So, how do you want to proceed? I think it would be reasonable to merge this as-is, and open an issue to track the other problem. One can always revert the test removals later on if they'd be useful after making the later change.
If you'd prefer to fix both problems at the same.time, though, then it would be good to confirm that.

No, sorry, I really can't merge this as is, because I've been really trying to push this library in the right direction (always having a reference datetime) and then this does not make sense. It's all related to the issues summarized here: https://github.com/uutils/parse_datetime/issues/56. Maybe, a solution would be to make this library not accept a NaiveDate as reference but a full Datetime and then add the parsed duration to that? I'll bump this library on my todo list and give it a good look today :)

Yes, NaiveDates are part of the problem here.

should we close this PR ? thanks

Thanks for your work on this! Feel free to reopen this or open a new PR if you think that we can give this a second shot.


Strange characters

I've installed the latest version of Beta 20180824 and when I'm trying to type the croatian characters (đšžćčĐŠŽĆČ) in  in the database filter field I get the following results:I've installed the latest version of Beta 20180824 and when I'm trying to type the croatian characters (đšžćčĐŠŽĆČ) in  in the database filter field I get the following results:

When I write that in the filter database, everything is fine.

Hi Dubravko,
I was able to reproduce your issue and I also found a way to solve it. The problem is in the font that is used for the fill-in. The characters that are displayed wront are simply not in that font and thus cannot be displayed (check this KB entry. The query editor is an editor widget and is somehow different than a fill-in because an editor accepts the strange characters regardless of the font or codepage. My guess is that Progress uses a Windows widget for this, but I am not sure.
The solution is quite simple, just select another font. For this to work, I set the codepage to UTF-8 in the datadigger.pf file:
-cpcase BASIC
-cpinternal UTF-8
-cplog UTF-8
-cpterm UTF-8
-cpcoll BASIC

Then, head into the settings, untick 'Automatically set fonts' and choose a font that can hold the Croatian characters, in my example I used 'Arial':

Press OK and now you can paste the Croatian text:

Hi Patric,
Thanks for the quick intervention.
My Session parameters (OE10.2BSP8) is:
APPL-ALERT-BOXES       = no
BATCH-MODE             = no
CHARSET                = 1250
CONTEXT-HELP-FILE      = ?
CPCASE                 = Basic
CPCOLL                 = Croatian
CPINTERNAL             = 1250
CPLOG                  = 1250
CPPRINT                = 1250
CPRCODEIN              = ?
CPRCODEOUT             = ?
CPSTREAM               = 1250
CPTERM                 = 1250
DATA-ENTRY-RETURN      = no
DATE-FORMAT            = dmy
DEBUG-ALERT            = FALSE
DISPLAY-TYPE           = GUI
FIRST-ASYNC-REQUEST    = ?
FIRST-CHILD            = 1025 [WINDOW]
FIRST-PROCEDURE        = adeuib/_abfuncs.w
FIRST-SERVER           = ?
FIRST-SOCKET           = ?
FRAME-SPACING          = 26
GET-PRINTERS()         = Send To OneNote 2016,Microsoft XPS Document W
HEIGHT-CHARS           = 33,23
HEIGHT-PIXELS          = 864
IMMEDIATE-DISPLAY      = no
LAST-ASYNC-REQUEST     = ?
LAST-CHILD             = 1682 [WINDOW]
LAST-PROCEDURE         = adecomm/as-utils.w
LAST-SERVER            = ?
LAST-SOCKET            = ?
MULTITASKING-INTERVAL  = 0
NUMERIC-DECIMAL-POINT  = ,
NUMERIC-FORMAT         = EUROPEAN
NUMERIC-SEPARATOR      = .
OLE-INVOKE-LOCALE      = 0
OLE-NAMES-LOCALE       = 1033
PARAMETER              =
PIXELS-PER-COLUMN      = 7
PIXELS-PER-ROW         = 26
PRINTER-CONTROL-HANDLE = 0
PRINTER-HDC            = 0
PRINTER-NAME           = \\srv-tbj-av02\Printer
PRINTER-PORT           = nul:
REMOTE                 = FALSE
STREAM                 = 1250
SUPER-PROCEDURES       = <none>
SUPPRESS-WARNINGS      = no
SYSTEM-ALERT-BOXES     = yes
TEMP-DIRECTORY         = D:\Work10\Varkom\INI\
THREE-D                = yes
TIME-SOURCE            = LOCAL
TOOLTIPS               = TRUE
TYPE                   = PSEUDO-WIDGET
V6DISPLAY              = no
WAIT-STATE             = <none>
WIDTH-CHARS            = 219,43
WIDTH-PIXELS           = 1536
WINDOW-SYSTEM          = MS-WINXP
WORK-AREA-HEIGHT-PIXELS= 864
WORK-AREA-WIDTH-PIXELS = 1536
WORK-AREA-X            = 0
WORK-AREA-Y            = 0
YEAR-OFFSET            = 1950

In DataDigger Version 23 with same settings everything works perfectly. When I paste this characters in filter field everyting is OK ?
Thank You for your effort

With your codepage settings (1250 / Croatian) and font Arial-Regular I was able to use the Croatian characters in all fields where it would be appropriate:

Why this version behaves different from the previous, I cannot tell, but it looks as if this could be a workaround for you. Other fonts that worked for me where 'MS Reference', 'Lucida Sans' and 'Consolas', but there will undoubtedly be more.

Problemi is in trigger ANY-PRITABLE that was added in the new version in CREATE COMBO-BOX hFilterField
This trigger does not work well and I think it's related to KB
https://knowledgebase.progress.com/articles/Article/P129767
When I get rid of that triger, everything is working fine.
Thank You for your effort.

The same thing is happening. It's not a big problem, I think VALUE-CHANGED works the same.
Thank you very much for the effort and you do not have to deal with it anymore. I can always copy and paste these few characters.


update dbt Cloud partner connect guide

follow on to #262
partner connect is now in a new location. this PR updates the guide correspondingly

Hi @dataders – there is also this guide: https://quickstarts.snowflake.com/guide/leverage_dbt_cloud_to_generate_ml_ready_pipelines_using_snowpark_python/index.html?index=..%2F..index#4
Does it need the same update?
Thanks.


BUG - No validation on FLP input fields

Related Feature
Feature request: issue number
Description
During the FLP wizard page, enter SRAP_### as the semantic object name;

The manifest.json is updated as follows;
    "crossNavigation": {
      "inbounds": {
        "SRAP100_###-display": {
          "semanticObject": "SRAP100_###",
          "action": "display",
          "title": "{{flpTitle}}",
          "signature": {
            "parameters": {},
            "additionalParameters": "allowed"
          }
        }
      }
    }
  },

The manifest.json schema https://github.com/SAP/ui5-manifest/blob/main/schema.json defines the semanticObject as "pattern": "^[\\w\\*]{0,30}$" which is not being validated for.
Also, the semantic object name can contain asterisks i.e. Test_*123 but the unique ID for the inbound which joins the semantic object name and action, cannot contain asterisks.
Steps to Reproduce
Steps to reproduce the behavior:

Create any project using any template
Select Yes to Add FLP Config
Enter semantic object name with hash keys
Project is built

Expected results
FLP wizard should block invalid semantic object
Actual results
Allow any character to be inputted.
Screenshots
If applicable, add screenshots to help explain the problem.
Version/Components/Environment
Add any other context about the problem here
OS:

[x] Mac OS
[x] Windows
[x] Other

Root Cause Analysis
Problem
{describe the problem}
Fix
{describe the fix}
Why was it missed
{Some explanation why this issue might have been missed during normal development/testing cycle}
How can we avoid this
{if we don’t want to see this type of issues anymore what we should do to prevent}

Interested to get feedback on this bug, Semantic Object Name and Action both support asterisks i.e. Test_123#* but when these are joined to create the inbonud unique ID, asterisks is not supported;

My approach, would be to restrict Semantic Object Name and Action to only support alphanumeric and underscore characters.

Consumed and validated in tools-suite.


add useSignInWithGoogle hook

adding useSignInWithGoogle hook that lets users sign in with Google sign in. Also added in addition of adding scopes if needed

@isaiah-solo Thank you for this submission and sorry it has taken so long to get this merged. It will be included as part of the upcoming v5 release

v5 is now released: https://github.com/CSFrequency/react-firebase-hooks/releases/tag/v5.0.0


ci: start setting up doctests

This is only a start. Please feel free to edit this PR.
The complications are:

running the tessellation analysis takes a very long time. Too long for sequential testing in CI.
the figure generation is not yet testable, so there's no way to know if the example code actually generates the associated figure.
only the galpy stuff is currently tested.

All of these are solvable. Here's my thoughts how:

The in the CI the doctests can be split into a few parallel runners targeting different subsets of the docs by changing the pytest docs command to pytest docs/<subset>. This should fix the run time.
Even then, not all doctests need to be run for every push of a PR as there's a lot of overlap between examples in the docs. But the full functionality should be tested in CI, which it is not currently. So a few tests can be added to tests/ and then portions of the doctests can be run on a weekly / monthly cron job. If a test fails in tests/ then it says that a documentation example probably needs to be updated as well. The cron job will eventually catch if it wasn't.
Again, not for every PR, but the figures should be dynamically generated. This can be a weekly / monthly cron job. See ipykernel or jupyter plugins for mkdocs.
Using the sybil's conditional skips the doc tests can be run for all three supported backends, not just galpy.
Apply the above to the pre-release tests, so that released versions of this package have working docs.

I know this is a fair bit of effort, but being able to run the examples in the docs is the most important test of a package. Users will copy-paste docs examples and they must work. When drafting this PR I found (and fixed) a few non-functional examples; these tests aren't being run on all files, so IDK if I caught everything.

Hm. IDK why sybil isn't being installed. tox installs the test dependency-group, but it's not being picked up. I'm trying dev, but that doesn't seem to be its intended group.


Allow revising parameters in the route finder if no route found

Is your feature request related to a problem? Please describe.
When you use the Route Finder from A to B and it finds no routes, it just exits.  If you want to try different parameters, you have to start over.
Describe the solution you'd like
If the route finder fails to find a route, I'd like it to return to the previous dialog box, with the parameters still selected, allowing the user to adjust the parameters and attempt to find routes with the new parameters.
Describe alternatives you've considered
I've been either taking a picture with my phone or noting down the parameters on a notepad, but I never really know if the parameters will work or not.
Additional context

fixed


Refresh package dependencies

[x] tests and linter show no problems (npm t)
[x] code is properly formatted (npm run fmt)
[x] description of changes is added in CHANGELOG.md

Landed in https://github.com/metarhia/impress/commit/24fc133c902c7ad9290c11a65980f573434b4d6a and https://github.com/metarhia/impress/commit/0746ac2ac5434fe2edd5d5740a04b64c9d27a8a1


What's the difference between community edition and enterprise edition?

What's the difference between community edition and enterprise edition?

Hi @max-yue ,
the Enterprise edition includes special features for improved query performance against distributed data, Datacenter-to-Datacenter Replication as well as enterprise security features the community edition does not include. Please see a full list here: https://www.arangodb.com/subscriptions/ and note, that the upcoming ArangoDB 3.7 Enterprise Edition will also add SatelliteGraphs, Parallel Graph Traversals and Certificate Rotation to the Enterprise offering. Our cloud service Oasis does run the Enterprise Edition and support nearly all of the Enterprise Features.
The Community Edition already includes the full multi-model capabilities including graph, relation-type queries and full-text search & ranking functionalities. The core of both versions is very similar and except the special features listed above, shows similar performance characteristics. So if you have a smaller project, the community edition should have you perfectly covered feature & performance wise.
Hope I could answer your question. If you have more, please let me know

Does community edition support distributed store and query?

The community version supports clusters with sharding, and active failover as deployment modes.

Please note that the cluster query performance for simple queries should be
fine. But when you query data residing on different machines with queries
including JOIN-operations or graphs, you might recognize performance
degradation in the community edition. For JOIN and graph queries, we
recommend the Enterprise Edition with SmartGraphs, SmartJoins,
SatelliteCollections and SatelliteGraphs (coming with 3.7 soon)
https://www.arangodb.com/why-arangodb/arangodb-enterprise/
If you "just" want high availability and your dataset does not exceed one
machine, then we strongly recommend to have a look at our OneShard feature
https://www.arangodb.com/why-arangodb/arangodb-enterprise/oneshard/. With
OneShard you can define collections or databases to be synchronously
replicated in a multi-machine setup and you get full ACID guarantees,
single instance performance and high availability in one package.
Am Do., 2. Juli 2020 um 15:10 Uhr schrieb Wilfried Goesgens <
<EMAIL_ADDRESS>
The community version supports clusters with sharding, and active failover
as deployment modes.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/arangodb/arangodb/issues/12095#issuecomment-652996107,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADIG4MU6YKBA462WGGP7HJLRZSBL3ANCNFSM4OOXSV2Q
.

--
Jan Stücke
Head of Communications
<EMAIL_ADDRESS>| +49 (0)221 / 2722999-60
*Help us grow the multi-model vision with your review on Gartner Peer
Reviews
https://www.gartner.com/reviews/market/operational-dbms/vendor/arangodb.

Is there any docker cluster deploy documentation?

Sure, in our documentation:
https://www.arangodb.com/docs/stable/deployment-cluster-using-the-starter.html#using-the-arangodb-starter-in-docker
Am Di., 7. Juli 2020 um 06:09 Uhr schrieb max yue<EMAIL_ADDRESS>
:

Is there any docker cluster deploy documentation?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/arangodb/arangodb/issues/12095#issuecomment-654586872,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADIG4MVFL4YR4HCB3R5LF6DR2KNXLANCNFSM4OOXSV2Q
.

--
Jan Stücke
Head of Communications
<EMAIL_ADDRESS>| +49 (0)221 / 2722999-60
*Help us grow the multi-model vision with your review on Gartner Peer
Reviews
https://www.gartner.com/reviews/market/operational-dbms/vendor/arangodb.

I plan to deploy arangodb on these machines:
<IP_ADDRESS> master
<IP_ADDRESS> slave
<IP_ADDRESS> slave
In 23 machine, I create arangodb.secret file and copy to 18 and 12 machines:
sudo su
cd ~
arangodb create jwt-secret --secret=arangodb.secret
chmod 400 arangodb.secret
and then, In 23 machine
export IP=<IP_ADDRESS>
docker volume create arangodb
docker pull arangodb/arangodb-starter
docker run -it --name=adb --rm -p 8528:8528
-v arangodb:/data
-v /var/run/docker.sock:/var/run/docker.sock
arangodb/arangodb-starter
--starter.address=$IP
--starter.join=<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>
and then in 18
export IP=<IP_ADDRESS>
docker volume create arangodb
docker pull arangodb/arangodb-starter
docker run -it --name=adb --rm -p 8528:8528
-v arangodb:/data
-v /var/run/docker.sock:/var/run/docker.sock
arangodb/arangodb-starter
--starter.address=$IP
--starter.join=<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>
and then in 12
export IP=<IP_ADDRESS>
docker volume create arangodb
docker pull arangodb/arangodb-starter
docker run -it --name=adb --rm -p 8528:8528
-v arangodb:/data
-v /var/run/docker.sock:/var/run/docker.sock
arangodb/arangodb-starter
--starter.address=$IP
--starter.join=<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>
and In 23 machine:

and In 18 machine:

and In 12 machine:

and use chrome visit http://<IP_ADDRESS>:8528/, give me this:

What went wrong? Can you help me?

Hi,
Let me read the error message to you: "Connection refused" - hence either firewalling, docker networking or routing is in your way.

@max-yue Port 8528 should be the starter port, but what you want is to talk to the coordinator, which should be available at port 8529. Can you access the Web UI via http://<IP_ADDRESS>:8529/ ?

on community edition looks like I can't create a Hash Index. That's the enterprise edition feature?

The different index types were parts of the MMFiles storage engine that was discontinued with ArangoDB 3.7. When used with the Rocksdb Storage engine, these names could be used for schema compatibility - however, behind the scenes an index implementation identical to the MMFiles Persistent index would be used.


Question

Wasn’t able to find a way to contact you privately, so figured I’d use this way instead.

I'd like to ask you if you could go a bit more in detail on your comments about x64dbg. For the past few years my main focus has been on improving the stability so it would be really appreciated if you could talk a bit about the 'questionable features' and 'tons of bugs' you mention in the README. That way I can actually work on improving things 😅

Feel free to reach out by email (info <åt> mrexodia <dõt> re) or obviously reply here.

Hello,
okay, when I will have time ;-)


Fix "[begin:truncate] does not work for Julia v1.3 and below"

Closes #2

Please, have a look at this bug🙏 I have a package using TryCatch.jl that needs to be released soon...

Thank you!


Command orchestrator

Now, as I see it, makes is an in-tree job tree with a cli storefront.
Having such a sound framework for in-tree jobs, I wonder what could be a well-defined interface up north to a job orchestrator.
That can be both, a scheduler, such as nomad or k8s, as well as a workflow orchestrator.
For this issue, I'm more interested in exploring possible interfaces to zeebe.io as a workflow automation tool.
Do I understand correctly, that currently each job's interface is basically cli args to the respective bash script & outputs to stdout of the same?
Also: are jobs currently limited to bash scripts? Can I user other languagues like rust, etc?

@blaggacao  You may want to read this first: https://github.com/fluidattacks/makes/issues/180#issuecomment-915563837

Having such a sound framework for in-tree jobs, I wonder what could be a well-defined interface up north to a job orchestrator.

That can be both, a scheduler, such as nomad or k8s, as well as a workflow orchestrator.

We as a Framework currently support these providers: https://github.com/fluidattacks/makes#providers-comparison
Which means someone can get Makes running on Gitlab/Github/Travis/Locally-on-a-laptop at the very least (and generally over anything that supports containers)

For this issue, I'm more interested in exploring possible interfaces to zeebe.io as a workflow automation tool.

⚠ Experimental stuff alert
I'm currently exploring being able to generate configuration files automatically for Gitlab (https://github.com/fluidattacks/makes/issues/180), this is how it looks:
https://gitlab.com/fluidattacks/product/-/blob/master/makes/makes/pipeline/makes.nix
And this is what it generates:
https://gitlab.com/fluidattacks/product/-/blob/master/makes/makes/gitlab-ci.yaml
Gitlab is able to understand this big YAML and produce a CI/CD with jobs/workflows and that fancy stuff:

Now. Why I mention this? because if zeebee.io is able to receive some written configuration as input, we could create a module on Makes that generates such configuration.
This is how support for Gitlab (again, experimental) is implemented:

https://github.com/fluidattacks/makes/tree/main/src/evaluator/modules/pipelines

People just configure dependencies/stages/etc between jobs, and voila

I figured that as a job runner, makes is actually perfectly suited for a command and control messaging pattern.
I'm musing about a tiny wrapper-worker that just maps command messages (coming from zeebe, apache airflow, whatever) to makes jobs and wires them the message payload.
I wonder if the framework could take a stance on the way that "wiring" should/could be done. E.g. a simple translation of a message struct to command line args?
Nevermind though, this is just Q5 ideas of mine.

I figured that as a job runner, makes is actually perfectly suited for a command and control messaging pattern.

I had to read about that and I agree that yes, it is well suited for C&C

I'm musing about a tiny wrapper-worker that just maps command messages (coming from zeebe, apache airflow, whatever) to makes jobs and wires them the message payload.

I wonder if the framework could take a stance on the way that "wiring" should/could be done. E.g. a simple translation of a message struct to command line args?

Preferably message -> makes-command, yes,
so it resembles the format $ m "${src}" "${output}" "${cli_args_if_any[@]}"
The framework guarantees you stability of this CLI interface.
You can also pin Makes CLI and Makes framework to a commit for maximum stability.
You can point to your source code repository with "${src}" (example github:owner/repo@rev).
and:

whatever is built is done in a Nix sandbox, isolated from the file system
whatever is executed will be done in the context of a fresh copy of "${src}" stored in a temporary directory

TODO: support private "${src}"s ?
https://github.com/fluidattacks/makes/blob/939a40963d820ad35a296d00cabe43cdce16eae7/src/cli/main/__main__.py#L64-L106

In the case of apache airflow the most essential case would be a BashOperator that triggers $ m ...

TODO: In the case that storing the output were important:

$out for derivations
$STATE for non-derivations

We can add something to the module system that abstracts putting those results on different backends:

a S3 bucket
a specific path in the file system
etc

This part is easy to implement

TODO: rename $STATE to $out so it's more intuitive?

Nevermind though, this is just Q5 ideas of mine.

I'm enjoying and learning with the conversation

We want Makes to be core-lean, we will focus on providing:

Basic builtins for populating pristine environments (makeScript, projectPath, fromJson, toJson, ...)
A base container for being able to run such environments on systems that support containers (k8s, nomad, etc)
A plugin interface that allows to import flakes or default.nix from other repositories that implement custom functionality (deployNomad, deployk8s, lintRust, etc...)


Ring Floodlight integration with external doors 🚪🚦💡

When external doors are opened and the light level is below a certain threshold turn on the appropriate Ring Floodlight light. Use a helper input_number to maintain the threshold so this can be easily changed.

[x] Front door
[ ] Back door
[ ] Patio

I will need to consider building in a condition so the garden lights (back door and patio) don't come on if the door is opened for an extended period. This could also fix another issue where the floodlights come on when having a BBQ and destroys the mood lighting.
This could be a simple "Floodlights enabled" input_boolean helper that can be toggled via an Aqara button or something similar but to achieve this I would then also need to disable motion enabled lights in the Ring app and recreate this with my own automation.

Cooking and having the back door open
BBQ and people are in and out of the house
The patio doors open while the hot tub is being used

#HomeAssistant input_number integration documentation - https://www.home-assistant.io/integrations/input_number/

#HomeAssistant ring integration documentation - https://www.home-assistant.io/integrations/ring

#HomeAssistant input_boolean integration documentation - https://www.home-assistant.io/integrations/input_boolean/

Right now I have this working for the front door and back door without any special conditions in place just yet.
To avoid the light going off too early I decided to trigger the automation based on any state change (open or closed) from the door contact. I then use a template to decide whether to call the light.turn_on or light.turn_off service. This avoids me having to use multiple actions such as light.turn_on, delay, light.turn_off which would have resulted in the light turning off if the door was still open after the delay period. There are times when the door might be open for long periods such as unloading.


Issue with Ubuntu 16.04 GPU install: Bus error (core dumped)

Operating System: Ubuntu 16.04
Installed version of CUDA and cuDNN: CUDA 8.0, cuDNN 5.1
jiexun@jiexun-XPS-15-9560:~$ ls -l /usr/local/cuda-8.0/lib64/libcud*
-rw-r--r-- 1 root root   556000 Feb 19 15:48 /usr/local/cuda-8.0/lib64/libcudadevrt.a
lrwxrwxrwx 1 root root       16 Feb 19 15:48 /usr/local/cuda-8.0/lib64/libcudart.so -> libcudart.so.8.0
lrwxrwxrwx 1 root root       19 Feb 19 15:48 /usr/local/cuda-8.0/lib64/libcudart.so.8.0 -> libcudart.so.8.0.61
-rwxr-xr-x 1 root root   415432 Feb 19 15:48 /usr/local/cuda-8.0/lib64/libcudart.so.8.0.61
-rw-r--r-- 1 root root   775162 Feb 19 15:48 /usr/local/cuda-8.0/lib64/libcudart_static.a
lrwxrwxrwx 1 root root       13 Feb 19 16:10 /usr/local/cuda-8.0/lib64/libcudnn.so -> libcudnn.so.5
lrwxrwxrwx 1 root root       18 Feb 19 16:10 /usr/local/cuda-8.0/lib64/libcudnn.so.5 -> libcudnn.so.5.1.10
-rwxr-xr-x 1 root root 42762752 Feb 19 16:10 /usr/local/cuda-8.0/lib64/libcudnn.so.5.1.10
Installed GPU enabled TensorFlow with:
pip install tensorflow-gpu
Error message importing tensorflow:
Python 3.6.0 |Anaconda custom (64-bit)| (default, Dec 23 2016, 12:22:00)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.

import tensorflow
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.so.8.0 locally
Bus error (core dumped)

Any idea why the above 'Bus error' is happening? Thanks a lot!

I also tried installing from source, but got this error when creating the pip package:
, after running bazel build --config opt --config=cuda //tensorflow/tools/pip_package:build_pip_package:
At global scope:
cc1plus: warning: unrecognized command line option '-Wno-self-assign'
ERROR: /home/jiexun/tensorflow/tensorflow/python/BUILD:2279:1: Linking of rule '//tensorflow/python:_pywrap_tensorflow.so' failed: link_dynamic_library.sh failed: error executing command external/bazel_tools/tools/cpp/link_dynamic_library.sh no ignored ignored ignored external/local_config_cuda/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc -shared -o ... (remaining 27 argument(s) skipped): com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 1.
<EMAIL_ADDRESS>file not recognized: File truncated
collect2: error: ld returned 1 exit status
Target //tensorflow/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 1332.429s, Critical Path: 853.44s

@zheng-xq, @jart, @gunan do either of you have insight? It looks like one warning sign is that -Wno-self-assign is not being found which looks like the warning is a gcc warning that doesn't exist on clang. But that is only a warning.

In the off-chance you're in Chris Manning's Natural Language Processing with Deep Learning class (CS 224N), I found that deleting the VM you're currently using and restarting TensorFlow (and all dependencies) installation with a fresh VM is a quick solution.

Is it possible your LD_LIBRARY_PATH is not setup correctly?

@gabbifish haha I'm just trying to install tensorflow gpu from scratch on my computer!
@gunan I set it as
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda

This looks very similar to #6744
And the build error message points to an issue with your libcudnn.so file.
Could you retry installing libcudnn?

I will try and let you know, thanks a lot for the help!

Closing due to lack of activity.  Please reopen if necessary.

thanks for the help, I reinstalled everything and it works now!


indentation incorrect

Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

PHP CS Fixer 2.3.1 by Fabien Potencier and Dariusz Ruminski

using indentation,linefeed,trailing_spaces,eof_ending,extra_empty_lines,controls_spaces,unused_use,phpdoc_params,visibility,return,braces,include,short_ptag,php_closing_tag,psr12,elseif.
Here's what this version produces. Note the odd use of two tabs indentation of the static variables:
<?php

use SilverStripe\ORM\DataObject;

class Project extends DataObject implements ScaffoldingProvider
{
    private static $db = array(
    'Title' => 'Text'
  );

    public function canCreate($member = null, $context = array())
    {
        return true;
    }
}

Here's what atoms auto indentation produces:
<?php

use SilverStripe\ORM\DataObject;

class Project extends DataObject implements ScaffoldingProvider
{
  private static $db = array(
    'Title' => 'Text'
  );

  public function canCreate($member = null, $context = array())
  {
    return true;
  }
}

show the code before and after fixing instead of after fixing and after reformatting by 3rd tool

Before using 3rd party tool:
<?php

use SilverStripe\ORM\DataObject;

class Project extends DataObject implements ScaffoldingProvider
{
    private static $db = array(
    'Title' => 'Text'
  );

    public function canCreate($member = null, $context = array())
    {
        return true;
    }
}

after:
<?php

use SilverStripe\ORM\DataObject;

class Project extends DataObject implements ScaffoldingProvider
{
  private static $db = array(
    'Title' => 'Text'
  );

  public function canCreate($member = null, $context = array())
  {
    return true;
  }
}

note that the code returns tabs, github seems to convert the characters into spaces.
I'm using MacOS, installed via composer. I ran php-cs-fixer via command line to rule out incase Atom was doing something odd.

The examples in your second message are exactly the same as in your first message. Which code example is the one before running any fixing tool?

using
indentation,linefeed,trailing_spaces,eof_ending,extra_empty_lines,controls_spaces,unused_use,phpdoc_params,visibility,return,braces,include,short_ptag,php_closing_tag,psr12,elseif.

This results in an error: The rules contain unknown fixers. Could you please also show the exact ruleset you are using?

From the command line, I'm using the default ruleset:
php-cs-fixer fix Project.php

[02:32 PM]-[possum@zoo4]-[~/work/PHP-CS-Fixer]-[git 2.2]
$ cat test.php
<?php

use SilverStripe\ORM\DataObject;

class Project extends DataObject implements ScaffoldingProvider
{
    private static $db = array(
    'Title' => 'Text'
  );

    public function canCreate($member = null, $context = array())
    {
        return true;
    }
}

[02:32 PM]-[possum@zoo4]-[~/work/PHP-CS-Fixer]-[git 2.2]
$ php-cs-fixer fix test.php --dry-run -vvv --diff
Loaded config default.
.
Legend: ?-unknown, I-invalid file syntax, file ignored, S-Skipped, .-no changes, F-fixed, E-error

Checked all files in 0.013 seconds, 4.000 MB memory used

$ php-cs-fixer -V
PHP CS Fixer 2.3.2 by Fabien Potencier and Dariusz Ruminski (597745f)

(not sure why this is not displayed in the phar release when running fix -vvv)
I can only conclude this is a third party problem as we cannot reproduce the issue reported.


Fixed current version 6.0 to 6.5

What? When did the version change?

It's still 6.0, it's just 6.0.5.
6.1.0 coming soon!


Adjust versioning to follow upstream support better

See https://www.elastic.co/support/eol, particularly the following paragraph (and the "Maintained Until" column):

... we maintain the last minor of the prior major release series. For example, with Elasticsearch 1.x, we are maintaining the 1.7.x series for several months. This allows these users to obtain fixes while making only minor changes to their running software. This last minor will be maintained until the release of the second subsequent major version. For example, Elasticsearch 1.7.x will be maintained until the GA release of Elasticsearch 5.0.0. At the release of Elasticsearch 5.0.0, we will continue to maintain the last 2.x series, and begin maintaining the 5.0.x minor series, then 5.1.x series, then 5.2.x series of minor releases.

See also https://github.com/docker-library/elasticsearch/pull/147

Note: For Kibana we have made an exception to this policy. Since Kibana 4.1.x was the last Kibana release to support Elasticsearch 1.x, we have decided to maintain Kibana 4.1.x as if it were the last minor in the prior major release series.

See also https://github.com/docker-library/kibana/commit/20989a12aa396608c028bec5c7f331ad37fb937b for where this has already bitten us.


Replace step 1 in "Steps to upgrade to a newer Kubernetes version" with the following...

"The versions of Kubernetes supported in the latest update are 1.14.7 and 1.15.10. Follow this table for the upgrades available:
Current Version	Upgrade available
1.14.7	1.15.10
1.14.8	1.15.10
1.15.4	1.15.10
1.15.5	1.15.10
For a complete mapping of AKS engine, AKS Base Image and Kubernetes versions see Supported AKS Engine Versions <https://github.com/Azure/aks-engine/blob/master/docs/topics/azure-stack.md#supported-aks-engine-versions>"
REMOVE example with aks-engine get-versions command. Thanks!!

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

ID: f23e9819-30aa-02a8-08af-49b92c61316b
Version Independent ID: a0b1770c-1ddc-17b6-2461-b4d77f474ca4
Content: Upgrade a Kubernetes cluster on Azure Stack Hub - Azure Stack Hub
Content Source: azure-stack/user/azure-stack-kubernetes-aks-engine-upgrade.md
Service: azure-stack
GitHub Login: @mattbriggs
Microsoft Alias: mabrigg

@walterov Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

@walterov Thanks walter. I've added to the following PR: https://github.com/MicrosoftDocs/azure-stack-docs-pr/pull/3444
#please-close


We need to display an agenda on the first page

Please try to implement this, specifially the schedule view. This resembles the Google Calendar UI and should be sufficient for our needs.

Can you please list all the specifications here for reference.. thank you

Also how the data for the calendar is to be pulled

Data for this doesn't need to be pulled as a requirement. We will make that a stretch goal once we have everything else working. You were right on the call, we will pull the data using the google calendar api. For now, we need to submit an app for App store review asap so we will hold off on that.
Please copy the agenda from here. To get the agenda, click on the "11" and "12" in the calendar and you'll see a list of events. You can alternatively use the list from Google Calendar..

Please include "Current time indicator"

and "Custom start and end hours" based on the schedules listed.

Can you create a demo with only "Day" view

and "Timeline day" view?


feat: adds image that can be used in airflow service

Adds deployment for docker image that can be used mainly in airflow
Alternative will be to maintain virtual environments in airflow

This was moved to its own repo: https://github.com/AllenNeuralDynamics/aind-airflow-jobs


Bringing up the debugger on rerun of the code that produced the original error, did produce a similar debugger stack, but clicking around in the debugger does not reproduce the bug ... from the screen shot, I can see that there is a project browser open and an inspector .... I was in the midst of trying to understand the error when the debugger blew up on me ... so it seems that there were some harmful side effects of some operations I was performing ... hopefully the dolphin stack will be informative.

heh heh, it looks I was able to force the error again ... here's the screen shot of the error:

Bringing up the following menu item seems to cause the index out of bounds error:

I wanted to see the implementors of addNewClassVersionToAssociation:instance: but as you can see the menu did not give me a choice of implementors/senders ... which is yet another bug ... turns out the debugger was as upset about the missing  implementors/senders as I was:)

Seems that none of the of the frames are giving me senders/implementers:

I don't have a reproduction case but Oscar 3.0.53 will have a fix for a similar bug I was able to reproduce. There was a path through method update where a method was getting marked as deleted when it shouldn't have been.

reappeared in 3.0.53:

The stack shows that the frame's stepPoint is erroneously set to 5. Looking at the picture, there appear to only be 4 step points in the method.
The stepPoint is set on the server RowanFrameService>>initializeProcess:level:organizer: and not modified on the client. The relevant part of the method is here:
...
	stepPoint := gsNMethod == gsNMethod homeMethod
		ifTrue: [aGsProcess _stepPointAt: anInteger]
		ifFalse: [gsNMethod homeMethod _stepPointForMeth: gsNMethod ip: (frameData at: 2)].
...

Assuming that 1) there isn't another step point hiding under the dialog in the picture and that 2) step points is correctly set to 4, I'm going to need a reproduction case to debug. Assigning to @dalehenrich and @LisaAlmarode for reproduction case.
Without a reproduction case, I would need to resolve issue #349 and build call tracing into Jadeite to see what the frame service inst var values are coming back from the server.

@LisaAlmarode In talking with Dale, he said that this type of bug sometimes happens when he has opened a debugger but then is doing other work (say) in the project browser and doing lots of aborts. It's possible that a reproduction case might be found with  this in mind.

Closing since it's been so long.  Dale, reopen if you see it again.


Extension issue

Issue Type: Bug
Extension Name: bracket-pair-colorizer-2
Extension Version: 0.1.4
OS Version: Darwin x64 19.4.0
VSCode version: 1.46.1

Closing because of other similar open issues.


244 bump recipe should exit and save gracefully on some failures

Adds a new --save-on-failure flag to crm bump-recipe to allow the tool to save partially upgraded files, in the event of an unrecoverable failure.
Also simplifies adding future flags by introducing a _CliArgs struct to easily pass new flags into all necessary functions going forward.

Looks like rattler-build put out a new version last night, and that's causing some of the integration testing thresholds to fail. Will need to create a new issue to investigate, but this shouldn't be a blocker for this PR. There is no recipe conversion code being changed.

I was about to as for that feature in private :)


error in server when I want to create v2ray proxy node.

same as https://github.com/v2ray/v2ray-core/issues/2133
could anyone tell me how to solve?
Which part of documentation is relevant to my problem?

You need a certification before you turn TLS on.
Read the guide first or turn off TLS.
Both solutions work.

Stongly recomand you to read the reply in #2133 again.


You have a False Positive by adding Google's IP <IP_ADDRESS> to your cps-collected-iocs.intel feed

Updated on 2022/03/05
grep <IP_ADDRESS> cps-collected-iocs.intel
<IP_ADDRESS>	Intel::ADDR	Conti	F	Conti
Please delete. Thanks

Removed!
Thank you for the assist!


Fixed what looks like an error in the docs

See comment

You're right; I've reverted the incorrect language change.


Why some Chrome do not have the ability to install PWA?

I have tried so many times, but i found that PWA do not show to the users and let us install it. I only see it when i use the domain name is "localhost", can you give us some solution to  solve this problem.

Update the browser to it's latest version. Most browsers have option to install PWA. If the option isn't available, try adding the site to Home screen by going to "More options" > "Add to Home Screen" in Chrome.
This issue isn't related to PW hence closing.

Update the browser to it's latest version. Most browsers have option to install PWA. If the option isn't available, try adding the site to Home screen by going to "More options" > "Add to Home Screen" in Chrome.
This issue isn't related to PW hence closing.

I have tried it, but PWA is not exist, i found it is available in your demo site.

PWA will only be available for sites hosted in HTTPS thus, localhost won't have PWA.

PWA will only be available for sites hosted in HTTPS thus, localhost won't have PWA.

But why it can show to us when i use localhost and dismiss in HTTPS site.

PWA won't work with localhost. You should deploy the app in a HTTPS site.


Can't open a projectile project w/ workspaces

I just updated my doom, and can no longer open projects from a fresh start.
What did you expect to happen?
It should open up a project in a workspace when doing SPC-p-p and selecting a project.
What actually happened?
SPC-p-p, select project and press enter. Nothing happens. No errors either.
Additional details:

Include a link to your private config
Include screenshots/casts of your issue
If you mention key sequences, include what commands they're bound to (use SPC h k KEY or C-h h k KEY to inspect keys).
Include any warnings or errors logged to *Messages* (use M-x view-echo-area-messages to see it).

If an error message is involved include a backtrace of it.
How to acquire a backtrace:
https://github.com/hlissner/doom-emacs/blob/develop/docs/getting_started.org#how-to-extract-a-backtrace-from-an-error

Steps to reproduce:

Select these example steps,
Delete them,
And replace them with precise steps to reproduce your issue.
Fill in "system information" below.

System information:

emacs   version    26.3
        features   JPEG RSVG IMAGEMAGICK GLIB NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES THREADS LCMS2
        build      Nov 17, 2019
        buildopts  (--disable-dependency-tracking --disable-silent-rules --enable-locallisppath=/usr/local/share/emacs/site-lisp --infodir=/usr/local/Cellar/emacs-plus/26.3/share/info/emacs --prefix=/usr/local/Cellar/emacs-plus/26.3 --with-xml2 --without-dbus --with-gnutls --with-imagemagick --with-modules --with-rsvg --with-ns --disable-ns-self-contained)
        windowsys  ns
        daemonp    server-running
doom    version    2.0.9
        build      HEAD -> develop 78b4c6c5d 2020-02-25 22:35:58 -0500
        dir        ~/.doom.d/
system  type       darwin
        config     x86_64-apple-darwin19.0.0
        shell      /bin/zsh
        uname      Darwin 19.3.0 Darwin Kernel Version 19.3.0: Thu Jan  9 20:58:23 PST 2020; root:xnu-6153.81.5~1/RELEASE_X86_64 x86_64
        path       (~/.pyenv/shims ~/.jabba/jdk/1.13.0-2/Contents/Home/bin ~/.pyenv/bin ~/.cargo/bin ~/.cabal/bin ~/.local/bin ~/go/bin ~/godev/bin ~/.emacs.d/bin /usr/local/bin /usr/bin /bin /usr/sbin /sbin /Applications/Wireshark.app/Contents/MacOS ~/.pyenv/shims ~/.pyenv/bin ~/.cargo/bin ~/.cabal/bin ~/.local/bin ~/go/bin ~/godev/bin ~/.emacs.d/bin /usr/local/Cellar/emacs-plus/26.3/libexec/emacs/26.3/x86_64-apple-darwin19.0.0/)
config  envfile    envvar-file
        elc-files  0
        modules    (:completion company helm :ui doom doom-dashboard doom-quit fill-column hl-todo modeline nav-flash ophints (popup +all +defaults) (pretty-code +pragmata-pro) treemacs vc-gutter vi-tilde-fringe window-select workspaces :editor (evil +everywhere) fold format multiple-cursors rotate-text snippets :emacs dired electric ibuffer vc :term term :checkers syntax :tools ansible docker editorconfig (eval +overlay) (lookup +docsets) lsp magit make terraform :lang data emacs-lisp (go +lsp) (java +lsp) javascript markdown (org +dragndrop +journal +pandoc +present) (python +lsp +pyenv) (scala +lsp) sh :config (default +bindings +smartparens))
        packages   ((magit-todos :disable t) (org-journal))
        unpin      (n/a)
        elpa       (n/a)

I have the same issue. Just tested without any of my own .doom.d and reinstalling doom from scratch. Switching from Ivy to Helm is the only thing you need to do to hit the bug.
System info:

Im not sure hot jsravn formatted his so I just extracted some of the output of doom info. Can add more if necessary.
Emacs version "28.0.50"
 Features  "XPM JPEG TIFF GIF PNG RSVG CAIRO IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS GLIB NOTIFY INOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON PDUMPER LCMS2 GMP"
Doom version 2.0.9, build HEAD -> develop, origin/develop, origin/HEAD 39a12861f 2020-02-26 13:02:19 -0500
Fedora 31

I suspect #2591 broke it. I downgraded to the prior commit (git checkout d6c81b687 && doom refresh) and it's working again.

Bisected the issue and it is related to commit e220549bb884c0b08a76096698066e0f7d67ecc0 (within #2591).

Sorry about that, helm users! As of 5cc2bef this should be fixed. Let me know if that isn't the case and I'll reopen this. Thanks for bringing it to my attention!


On Y Axis, fix bug with width/height being reset

Change to only set them when they haven't already
been set.

i added a test and some sample code showing how setSize works on the axis.


Unit Test suites for ViewModels

Tested various MutableLiveData ViewModel classes for the following packages:

package org.opendatakit.services.sync.actions.viewModels;

AbsSyncViewModel
LoginViewModel
SyncViewModel
VerifyViewModel

package org.opendatakit.services.preferences;

PreferenceViewModel
Added android.arch.core.executor.testing.InstantTaskExecutorRule:  swaps the background executor used by the Architecture Components with a different one which executes each task synchronously.

Hi, @wbrunette  @Lamouresparus I've finished testing the ViewModel classes.

@sanyud24 can you fix the merge conflict

Hi @wbrunette,  Should I also create constants for the boolean fields?

@sanyud24 that is a great question and the answer is it depends. If you are assigning meaning in setting up your tests then yes, but you should name the constant the meaning. If it's simply just true/false then no. We can discuss more at our next meeting because there is more to explain and it's a good to discuss.


EXC_BAD_ACCESS when receiving large messages

Starscream cannot process messages larger than 65536 characters.
Steps to reproduce:

Run nodejs ws server comprised of the following:
 var WebSocketServer = require('ws').Server,
     wss = new WebSocketServer({port: 8080 });

 wss.on('connection', function connection(ws) {
     ws.send(Array(65537).join('a'));
 });

Connect to server using Starscream

Crash should be triggered:
 EXC_BAD_ACCESS (code=EXC_ARM_DA_ALIGN, address={{ *address removed* }} )

Note, the above example functions as expected when sending the following message from the nodejs server
Array(65537).join('a')

Thrown at line 464 of WebSocket.swift:
if dataLength == 127 {
    let bytes = UnsafePointer<UInt64>((buffer+offset))
    dataLength = bytes[0].byteSwapped // <-- here
    offset += sizeof(UInt64)
} else if dataLength == 126 {...

Interesting. The autobahn test suite runs through a large message test and Starscream passed last time I tested it. If you have it handy, what is the value of the offset variable? Also is bytes a valid pointer?

This may be speculation, but it appears to be related to iOS devices lacking a 64 bit processor, ie. anything prior to the iPhone 5S. I did not notice the crash on the iPhone 6, it was not until testing on an iPhone 5 with a Testflight build of an app, latest version of iOS for all.
offset: 2
buffer: 0x1562d968
Just another note, SocketRocket does not experience the same issue, messages > 2MB are delivered as expected.

and the EXC_BAD_ACCESS for that example was thrown when accessing 0x1562d96a

Alright thanks. Can you try one thing for me? Change out byteSwapped with bigEndian and see if that resolves the issue?

Can do, will try later today

No luck, unfortunately

well that is disappointing. I will try setting up my test WebSocket server for debugging and see what I can find. I am not totally certain on how the large packet size would be different versus the smaller sizes, but hopefully debugging will bring the answer.

I tested the latest code on an old iPad 2 and setup a test server (modified version of the ws-server.rb in the example folder) that sent back the same 65537 bytes. I wasn't able to reproduce the issue with the latest code. Is there any other information you can provide on how to possibly reproduce?

hmm, perhaps it's related to the node server's implementation (https://github.com/websockets/ws)
I will have to see if I can recreate the issue with the same ruby server you are testing with

Alright, yeah it might be. Here is the modified ruby code:
require 'em-websocket'

EM.run {
  EM::WebSocket.run(:host => "<IP_ADDRESS>", :port => 8080) do |ws|
    ws.onopen { |handshake|
      puts "WebSocket connection open"
      puts "origin: #{handshake.origin}"
      puts "headers: #{handshake.headers}"

      ws.send "Hello Client, you connected to #{handshake.path}"
    }

    ws.onerror do |error|
      puts "[error] #{error}"
    end

    ws.onclose { puts "Connection closed" }

    ws.onmessage { |msg|
      puts "message from client: #{msg}"
      ws.send (0...65537).map { ('a'..'z').to_a[rand(26)] }.join
    }
  end
}

@cyphercommunications did you make any progress on this? Does it appear to be fixed with the latest code?

I will pull the latest and run the test case I have for it

Thanks, fingers crossed :smile:

looks good!


Values will not raise ValueError

>>> from configurations import values
>>> negative_float = -8.5
>>> type(negative_float)
<class 'float'>
>>> values.PositiveIntegerValue(negative_float)
 -8.5

Should'nt it raise an error instead?

Yeah.
/cc @MikeWooster

Please consider creating a PR with a fix and test.

I would very much like to contribute, I do not understand how to run the existing tests in the local copy of the forked repository.

Try tox -e py37-dj21 (or some other environment if you do not have py37).
See tox -e py37-dj21 -- --help then for options, e.g. to select a test label (it is using Django's test runner, not pytest unfortunately).

I have added some failing tests with #227
CastingMixin and ValidationMixin hide elements of validation that could provide a useful result when joined together and add in the game the RegexValidator for example.
Out of the box doing something like IntegerValue(ValidationMixin, CastingMixing, Value) will not be effective due to their to_python methods that behave completely differently and are not related with a super() function because this is not feasible due to the inheritance hierarchy:
ValidationMixin().init() will call CastingMixin().to_python().
On the other hand I am not familiar with the range of occasions where each of those Mixins is playing a crucial part, so overriding one of them or creating one of my own, for IntegerValue to use, would be a giant step.

#227 Is successfully passing.


Add Log references method

Description
This PR will use #1180 code to create a new method, called log_references, which can be used to write one or a list of reference profiles to WhyLabs using a guest session (ideally with why.init(anonymous=False)).
A major TODO for this (that is blocked by merging the PR mentioned above):

Make sure the API is correct

Move log_references to whylogs.__init__.py

[x] I have reviewed the Guidelines for Contributing and the Code of Conduct.

changes pulled into https://github.com/whylabs/whylogs/pull/1285


Main branch other than main or master

I have these settings

I have an error in github actions:
https://github.com/YetiForceCompany/YetiForceCRM/runs/4893120151?check_suite_focus=true
/usr/bin/docker run --name e3725067a919945d28eaf8acaeef53846_f8b42a --label 84217e --workdir /github/workspace --rm -e INPUT_RESULTS_FILE -e INPUT_RESULTS_FORMAT -e INPUT_REPO_TOKEN -e INPUT_PUBLISH_RESULTS -e HOME -e GITHUB_JOB -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_REPOSITORY_OWNER -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RETENTION_DAYS -e GITHUB_RUN_ATTEMPT -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_SERVER_URL -e GITHUB_API_URL -e GITHUB_GRAPHQL_URL -e GITHUB_REF_NAME -e GITHUB_REF_PROTECTED -e GITHUB_REF_TYPE -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e GITHUB_ACTION_REPOSITORY -e GITHUB_ACTION_REF -e GITHUB_PATH -e GITHUB_ENV -e RUNNER_OS -e RUNNER_ARCH -e RUNNER_NAME -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/YetiForceCRM/YetiForceCRM":"/github/workspace" 84217e:3725067a919945d28eaf8acaeef53846
Event file: /github/workflow/event.json
Event name: push
Ref: refs/heads/developer
Private repository: false
Publication enabled: true
Format: sarif
Policy file: /policy.yml
refs/heads/developer not supported with 'push' event.
Only the default branch is supported

I think the problem is on the line
 ^refs/heads/(main|master)
https://github.com/ossf/scorecard-action/blob/25e5ca0a67911cbe0bdc55d008768f68716c7df5/entrypoint.sh#L60

Thanks for bringing this to our attention @mariuszkrzaczkowski.
@laurentsimon can we call GitHub API to get the default branch and make the comparison against that?

Example one-liner to get the default branch:
curl https://api.github.com/repos/ossf/scorecard | jq .default_branch

Spot on @mariuszkrzaczkowski the line you mentioned n the culprit! Let me prep a PR. Thanks for reporting this!

It works 👍

I've released https://github.com/ossf/scorecard-action/releases/tag/v1.0.2
You can use it with ossf/scorecard-action@c8416b0b2bf627c349ca92fc8e3de51a64b005cf # v1.0.2


Failed to deploy openshift origin v3.7.0

Is this a BUG REPORT or a FEATURE REQUEST ? (choose one):
BUG REPORT

BUG REPORT INFO
Environment

Cloud provider:
GCE

OS details (printf "$(uname -srm)\n$(cat /etc/os-release)\n"):

Linux 3.10.0-693.2.2.el7.x86_64 x86_64
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

Version of Ansible (ansible --version):

  ansible <IP_ADDRESS>
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides
  python version = 2.7.5 (default, Aug  4 2017, 00:39:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)]

Version of Jinja (pip freeze | grep -i jinja):
N/A

Version of Shade (pip freeze | grep -i shade):
N/A

The openstack-ansible-contrib version (commit) (git rev-parse --short HEAD):
1d45f20

Copy of inventory files and custom variables used (please omit your secrets!):
# openshift-ansible-contrib/reference-architecture/gcp/config.yaml
...

# OpenShift deployment type
# Use 'origin' to deploy OpenShift Origin on top of CentOS 7
openshift_deployment_type: origin
# Deploy OpenShift within containers instead of RPMs?
containerized: false

# OpenShift SDN selection
# options are 'redhat/openshift-ovs-multitenant', 'redhat/openshift-ovs-subnet'
os_sdn_network_plugin_name: 'redhat/openshift-ovs-subnet'

...

# openshift-ansible-contrib/reference-architecture/gcp/ansible/playbooks/openshift-installer-common-vars.yaml

...
openshift_release: 3.7.0
...

Command used to invoke ansible:
cd openshift-ansible-contrib/reference-architecture/gcp && ./ocp-on-gcp.sh
Output of ansible run:

...

Failure summary:

  1. Hosts:    ocp-master-0903
     Play:     Determine openshift_version to configure on first master
     Task:     For an RPM install, abort when the release requested does not match the available version.
     Message:  You requested openshift_release 3.7, which is not matched by
               the latest OpenShift RPM we detected as origin-3.6.0
               on host ocp-master-0903.
               We will only install the latest RPMs, so please ensure you are getting the release
               you expect. You may need to adjust your Ansible inventory, modify the repositories
               available on the host, or run the appropriate OpenShift upgrade playbook.

Instead of openshift_release variable in  openshift-installer-common-vars.yaml try to define openshift_major_version: 7 in your config.yaml file. See here [1]. But there is also no release-3.7 branch in openshift installer, so you will probably need openshift_ansible_branch: master as well. But basically in origin deployment, this package dictates the OpenShift version [2].
[1] https://github.com/openshift/openshift-ansible-contrib/blob/master/reference-architecture/gcp/ansible/playbooks/group_vars/all#L5
[2] https://github.com/openshift/openshift-ansible-contrib/blob/master/reference-architecture/gcp/ansible/playbooks/roles/gold-image-instance/tasks/main.yaml#L13

@pschiffe Thanks, finally I got  v3.7.0-rc.0 deployed with this config:
containerized: true
openshift_image_tag: "v3.7.0-rc.0"
openshift_pkg_version: "-3.6.0"

The main Openshift components are installed from containerized image, but some components like excluder still uses a RPM installation by default and do not have a v3.7 RPM release yet, I suppose these are not that important so I kept them in v3.6.


Exclude conda-build version 2.0.9

Appears that conda-build version 2.0.9 and conda version 4.1 are incompatible. As this appears to be a temporary issue, would recommend that an exclusion against conda-build version 2.0.9. If this is combined with a version bump, it will hopefully avoid issues with conda ignoring the pinning. A similar strategy seems to be working with conda-smithy so far.
cc @bjlittle

As we are so far past 2.0.9, I'm not sure if this is worth fixing. That said, it is easy to do. Though feel free to close this out if you wish @bjlittle.

Closing this - it wasn't done, but the age of 2.0.9 makes this hardly worth worrying about. No objection to merging a PR for it though...


Allow two et al. numbers, for print and for threshold

At the moment, we have a single number threshold for displaying "et al.": If there are more than N authors, display the first N authors, followed by "et al."
In fact, we need two numbers: a threshold triggering "et al.", and the number of authors to display. That is how Chicago Manual of Style (followed by IEEE) works:

For more than ten authors (not shown here), list the first seven in the reference list, followed by et al.

If the print number is not supplied, it is the same as the threshold number.

So we will have:

etal_count: as now, the number of authors to trigger et al. in bibliography
etal_display: how many authors to show if using et al. in bibliography (by default, same as etal_count)
etal_cite_count: the number of authors to trigger et al. in citation (by default, same as etal_count)
etal_cite_display: how many authors to show if using et al. in citation (by default, same as etal_display)

@reeseplews FYI, the correct behaviour for IEEE et al. will be available next Metanorma release (in a week).


Definition of Spray density

In 4.1.1 Terminology and Definitions
Spray density: The water concentration in the environment is not a very clear definition. This sounds like humidity and not related to spray.

Add some explanation of spray density in d6537ce.


[WIP] cloud provider vsphere

Basic support for enabling vSphere as a cloud provider.
Happy to hear thoughts on this.

@jjungnickel This is overall good, but it would be nice to avoid the longer conditionals everywhere:
cloud_provider is defined and cloud_provider == 'openstack' or cloud_provider == 'vsphere'
should be
`cloud_provider is defined and cloud_provider in ['openstack', 'vsphere']
Also your patch needs a rebase.

@mattymo You're right, that looks much better that way. Will do.

@jjungnickel do you plan to work on it later? or you prefer that we take over to complete the PR?

@ant31 I can continue working on it, just a bit swamped at the moment. Whatever fits you best :-)

I think there is no much left, so if this patch is working for you, you only need to rebase, fix mattymo comments and we can merge it.

@jjungnickel you still swamped .. ? would be nice to get this PR merged in (happy to help if required)

@jjungnickel Are you still interested in adding this? I help in keeping vSphere Cloud Provider up to date.. would love to help.

Fixed by #1045


Dependency convergence errors when adding langchain-java as a Maven dependency

Thanks for this great library!
When importing it as a dependency in Maven, we observe the following dependency convergence errors between direct dependencies of langchain-java and indirect ones. We'd be very grateful if you could find a consistent choice of dependencies or use <exclusion>-tags in your pom.xml to avoid the convergence errors. Thank you very much in advance:
Dependency convergence error for io.netty:netty-resolver-dns:jar:4.1.77.Final paths to dependency are:

<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-org.redisson:redisson:jar:3.17.3:compile
      +-io.netty:netty-resolver-dns:jar:4.1.77.Final:compile
and
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-io.netty:netty-resolver-dns:jar:4.1.43.Final:compile

[ERROR]
Dependency convergence error for org.apache.commons:commons-collections4:jar:4.3 paths to dependency are:
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-io.milvus:milvus-sdk-java:jar:2.2.9:compile
      +-org.apache.commons:commons-collections4:jar:4.3:compile
and
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-org.apache.commons:commons-collections4:jar:4.4:compile

[ERROR]
Dependency convergence error for io.netty:netty-resolver:jar:4.1.77.Final paths to dependency are:
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-org.redisson:redisson:jar:3.17.3:compile
      +-io.netty:netty-transport:jar:4.1.77.Final:compile
        +-io.netty:netty-resolver:jar:4.1.77.Final:compile
and
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-org.redisson:redisson:jar:3.17.3:compile
      +-io.netty:netty-resolver:jar:4.1.77.Final:compile
and
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-org.redisson:redisson:jar:3.17.3:compile
      +-io.netty:netty-handler:jar:4.1.77.Final:compile
        +-io.netty:netty-resolver:jar:4.1.77.Final:compile
and
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-io.netty:netty-resolver:jar:4.1.43.Final:compile

[ERROR]
Dependency convergence error for io.reactivex.rxjava2:rxjava:jar:2.0.0 paths to dependency are:
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-io.github.hamawhitegg:openai-client:jar:0.2.0:compile
      +-com.squareup.retrofit2:adapter-rxjava2:jar:2.9.0:compile
        +-io.reactivex.rxjava2:rxjava:jar:2.0.0:compile
and
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-io.reactivex.rxjava2:rxjava:jar:2.2.21:compile

[ERROR]
Dependency convergence error for org.apache.httpcomponents:httpcore:jar:4.4.15 paths to dependency are:
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-com.google.api-client:google-api-client:jar:2.2.0:compile
      +-com.google.http-client:google-http-client-apache-v2:jar:1.42.3:compile
        +-org.apache.httpcomponents:httpcore:jar:4.4.15:compile
and
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-com.google.api-client:google-api-client:jar:2.2.0:compile
      +-org.apache.httpcomponents:httpcore:jar:4.4.16:compile

[ERROR]
Dependency convergence error for org.apache.httpcomponents:httpclient:jar:4.5.13 paths to dependency are:
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-com.google.api-client:google-api-client:jar:2.2.0:compile
      +-com.google.http-client:google-http-client-apache-v2:jar:1.42.3:compile
        +-org.apache.httpcomponents:httpclient:jar:4.5.13:compile
and
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-com.google.api-client:google-api-client:jar:2.2.0:compile
      +-org.apache.httpcomponents:httpclient:jar:4.5.14:compile

[ERROR]
Dependency convergence error for io.projectreactor:reactor-core:jar:3.4.13 paths to dependency are:
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-org.redisson:redisson:jar:3.17.3:compile
      +-io.projectreactor:reactor-core:jar:3.4.13:compile
and
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-io.projectreactor:reactor-core:jar:3.5.8:compile
and
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-io.projectreactor.addons:reactor-adapter:jar:3.5.1:compile
      +-io.projectreactor:reactor-core:jar:3.5.4:compile

[ERROR]
Dependency convergence error for org.reactivestreams:reactive-streams:jar:1.0.3 paths to dependency are:
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-io.github.hamawhitegg:openai-client:jar:0.2.0:compile
      +-com.squareup.retrofit2:adapter-rxjava2:jar:2.9.0:compile
        +-org.reactivestreams:reactive-streams:jar:1.0.3:compile
and
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-org.redisson:redisson:jar:3.17.3:compile
      +-org.reactivestreams:reactive-streams:jar:1.0.3:compile
and
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-org.redisson:redisson:jar:3.17.3:compile
      +-io.reactivex.rxjava3:rxjava:jar:3.1.6:compile
        +-org.reactivestreams:reactive-streams:jar:1.0.4:compile

[ERROR]
Dependency convergence error for com.google.http-client:google-http-client-gson:jar:1.42.0 paths to dependency are:
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-com.google.api-client:google-api-client:jar:2.2.0:compile
      +-com.google.oauth-client:google-oauth-client:jar:1.34.1:compile
        +-com.google.http-client:google-http-client-gson:jar:1.42.0:compile
and
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-com.google.api-client:google-api-client:jar:2.2.0:compile
      +-com.google.http-client:google-http-client-gson:jar:1.42.3:compile

[ERROR]
Dependency convergence error for org.apache.commons:commons-text:jar:1.6 paths to dependency are:
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-io.milvus:milvus-sdk-java:jar:2.2.9:compile
      +-org.apache.commons:commons-text:jar:1.6:compile
and
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-org.apache.commons:commons-text:jar:1.10.0:compile

[ERROR]
Dependency convergence error for com.google.http-client:google-http-client:jar:1.42.0 paths to dependency are:
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-com.google.api-client:google-api-client:jar:2.2.0:compile
      +-com.google.oauth-client:google-oauth-client:jar:1.34.1:compile
        +-com.google.http-client:google-http-client:jar:1.42.0:compile
and
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-com.google.api-client:google-api-client:jar:2.2.0:compile
      +-com.google.http-client:google-http-client-apache-v2:jar:1.42.3:compile
        +-com.google.http-client:google-http-client:jar:1.42.3:compile
and
<our project>
  +-io.github.hamawhitegg:langchain-core:jar:0.2.0:compile
    +-com.google.api-client:google-api-client:jar:2.2.0:compile
      +-com.google.http-client:google-http-client:jar:1.42.3:compile

Thank you very much for your detailed description. My optimization strategy is as follows:

Set the scope of milvus-sdk-java and redisson to "provided."
Remove netty-resolver and netty-resolver-dns.
Resolve conflicts through exclusions.

Currently, the only remaining conflict is within google-api-client itself. I hope that google-api-client resolves the issue on its own, or I can also set its scope to "provided."


underlineColor transparent not working on API 21

https://github.com/facebook/react-native/pull/30897
The pr fixes issue with setColorFilter not working on API 21 by using setBorderColor.
https://github.com/fabriziobertoglio1987/react-native-notes/blob/573ac3345e77ab472978612ce83d4aabc0ccba99/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java#L641-L642
https://github.com/fabriziobertoglio1987/react-native-notes/blob/573ac3345e77ab472978612ce83d4aabc0ccba99/Libraries/Components/TextInput/TextInput.js#L906-L911

The ReactEditText background image is built with ReactViewBackgroundDrawable
https://github.com/fabriziobertoglio1987/react-native-notes/blob/573ac3345e77ab472978612ce83d4aabc0ccba99/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java#L130
The class is built on top of the Drawable Android API.
Draws the borders using drawPath.
https://github.com/fabriziobertoglio1987/react-native-notes/blob/573ac3345e77ab472978612ce83d4aabc0ccba99/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java#L130-L137


Code release

Hello,
Thank you for this excellent job.
Do you have any plans to release the code and weights?

Yes. We will release it soon after a good preparation/organization. Stay tuned!

respect

@lkeab Consider a huggingface demo also


set default values for user and host on userdefaults

Signed-off-by: rishichawda<EMAIL_ADDRESS>
Description

user property was not being used when host isn't passed. This is because how the native corefoundation APIs work where we can either pass both to CFPreferencesSetValue or pass none to CFPreferencesSetAppValue. This PR sets default values for user and host as current user and any host.
Related Issue

https://github.com/chef/customer-bugs/issues/657
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[x] I have read the CONTRIBUTING document.
[x] I have run the pre-merge tests locally and they pass.
[x] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[x] All commits have been signed-off for the Developer Certificate of Origin.

@rishichawda could we also include the appropriate doc changes with this PR?
Also this should be backported to chef-17.

@PrajaktaPurohit Sure will do that.

@rishichawda could you rebase this? That should get the mac test passing, then we can merge.

@marcparadise Done.

@mikedodge04 - Just for a quick sanity check - can you tell me if these defaults seem idiomatic to you as someone who manages a fleet-o-macs?

The default for host should likely be any host rather than current.
For host, they map as follows:
kCFPreferencesCurrentHost is ~/Library/Preferences/ByHost/com.example.HARDWARE_UUID_HERE.plist - Only a few settings need to be set here.
It is more common to have preferences in ~/Library/Preferences/com.example.whatever, which is kCFPreferencesAnyHost, meaning, the setting is not tied to the specific hardware UUID of the machine.
When this code is actually run to set a preference with user set to :current, where is it actually set? Does it set it in /var/root/Library/Preferences by default?

Thank you for the backporting the fix! Could you rebase the changes with main? That should get the tests passing.

@natewalck - that seems like the change we're making here - host=any is what you are suggesting. So I think we're on agreement on the host settings, yes?
But I'm unclear on the user settting... if I read you correctly you are asking a question of @rishichawda ?

@jaymzh @natewalck Apologies for the late reply. This got hidden in the pile of all notifications.
Yes, we are setting host as any and user as current for the defaults in this change.

Sorry for the long delay here, it got lost in the 18 shuffle. Now that 18 is out, and we're all on the same page, this should be ready for merging if you can rebase (which should make all the tests pass as well). Thanks!

@jaymzh Rebased on top of main.


Support adding creator to other entity types as well

Annotations are saved with their creator automatically set via user. For bartoc.org we also want creators to be set on import via PUT/POST. This could be made generic by setting a config value withUser to the entity type.

We need to specify exactly what should happen in which case.

Adding a new entity should add the current user as creator. (Should existing creators be moved to contributor?)
Updating an entity should add the current user as contributor if they are not themselves creator or already in contributor. (???)

@nichtich Can you explain what you mean with the withUser thing, and maybe expand on my start here? Thanks!

Let's ignore bulk import via admin and anonymous writing and focus on cases with auth: true.

The payload fields creator and contributor will alway be ignored
Adding a new entity should add the current user as creator
Updating an entity should add the current user as contributor unless they are in creator or contributor

Open question:

which identity URI of the user should be used? (I think this is what withUser was about)
a) configured in jskos-server (e.g. field identity: ["orcid", "wikidata"] to try orcid URI first, Wikidata as second fallback)
b) selected by the client (I think this is done in Cocoda but how to tell jskos-server which identity to use?)
only the user URI or additional information such as name? (I think URI only)

Okay, this definitely still needs a lot of discussion.

Let's ignore bulk import via admin and anonymous writing and focus on cases with auth: true.

The payload fields creator and contributor will alway be ignored
Adding a new entity should add the current user as creator
Updating an entity should add the current user as contributor unless they are in creator or contributor

👍

which identity URI of the user should be used?

Currently, this is not consistent for entity types.

For mappings, the creator field is not touched in any way, i.e. someone could write mappings with someone else's identity (but they wouldn't be able to edit or delete it anymore).
For annotations, the creator field is set to { id: user.uri, name: user.name }, i.e. the Login Server URI and name. (I can't remember the reason why we did this, but having consistent user URIs here makes filtering by creator easier.)

We need to find a solution that can be applied consistently (and doesn't break existing applications).

only the user URI or additional information such as name? (I think URI only)

If we go for URI only, we couldn't show any names in Cocoda for mappings and annotations anymore.
I agree that creator and contributor in the payload should be ignored. (Although you could argue that allowing arbitrary values would be good, either if you want to make it clear that this is not a mapping you have created yourself, but taken from somewhere else, or if you want to give someone else access rights.)
However, I think the user should be able to choose which identity and data is added to a mapping. My suggestion would be:

Use the Login Server URI by default (which makes the mapping anonymous for anyone except for those with access to the user database).
Have a parameter like you suggested, for example withIdentity which is the key for an identity provider (orcid, wikidata, github, etc.) to override the default.
Include the name by default (either the identity name or the Login Server name), but add another parameter (withName=false?) that can disable this.

What do you think?

If we go for URI only, we couldn't show any names in Cocoda for mappings and annotations anymore.

Ok, then add a name

if you want to make it clear that this is not a mapping you have created yourself, but taken from somewhere else, or if you want to give someone else access rights.)

Adding someone else as contributor is a relevant use case (especially for concordances), so one should also be allowed to write this field but this is annother issue to be solved later when required.

Use the Login Server URI by default

:+1:

Have a parameter like you suggested, for example withIdentity which is the key for an identity provider (orcid, wikidata, github, etc.) to override the default.

As query parameter better use the full identity URI, e.g. identity=https://github.com/nichtich

Include the name by default (either the identity name or the Login Server name), but add another parameter

Use identityName as optional parameter.
This should also allow clients to change your existing identity URI and/or name by saving the same item without modification but different identity/identityName

Got it. 👌 Last question: If the full identity URI is not actually available in the user's identities, should we:

Fall back to the Login Server URI?
Throw an error?
Write it anyway?

I would suggest:

If crossUser is set to true for the current action (this would mean allowing that property for create), then any identity URI can be used.
If crossUser is not set or false, only a valid identity of the authenticated user can be used.

I know you didn't want to consider anonymous writing and auth: false, but I think we need to because we might otherwise break existing functionality. Since anonymous writing implies crossUser: true, this case is set above. But what about auth: false together with crossUser: false? Is that even a valid configuration? If we don't require authentication, we can't compare the user with the creator anyway.

I updated json-anystream to give us the possibility to adjust objects before they are emitted to the stream, so we can do this at a central point (middleware) for all entities equally.
The following is a suggestion for implementing this in jskos-server.
Note that the user getting to this point in code means that they have the rights to perform the current action (this is separate from checking the creator for PUT/PATCH/DELETE though).
POST

Assemble a creator object for the current request

Use req.user together with the params identity and identityName
If identity is not given or empty, use the Login Server URI
If identityName is given, but empty, no name should be saved in creator

Deal with existing fields creator and contributor

My suggestion would be to keep existing values and put everything under contributor because this has the least chance of breaking existing features

Set the creator

Note that this has to be handled separately for annotations because they use an object instead of array and id instead of uri

PUT/PATCH

Get existing entity from database

Throw 404 if it doesn't exist

Assemble creator object (see POST above)
Check if user is allowed to update the entity

Throw 403 if not

Check if the user is already in creator or contributor

if yes: update with creator object if necessary (to update identity/name) (question: if they are in contributor, should we move them to the top of the list to implicate that they last edited the element?)
if not: add creator object to contributor (I'd say as first element?)

Suggestion: Merge contributor into existing, i.e. allow adding new contributors (this would disallow removing contributors though?)
for PUT: add creator/contributor to payload as assembled above
for PATCH: only add creator/contributor to payload if there was a change (as compared with existing object)

DELETE

Only mentioning this because I have a question: Should contributors be able to delete an entity? I would say no.

All right, except for creator and contributor fields should be ignored in the payload.

question: if they are in contributor, should we move them to the top of the list to implicate that they last edited the element?

No, the order is not relevant.

DELETE: Only mentioning this because I have a question: Should contributors be able to delete an entity? I would say no.

No, but not part of this issue anyway.

I started an implementation and it seems to work well, but there is still more do be done. Implementations for all services (except annotations which I have done already) need to be adjusted, and we should add some tests to ensure correct implementation.

Still missing:

[ ] Tests to ensure correct implementation
[ ] Add note about this in README

Merged into dev!


Create bindings for raw THBlas_ functions

This PR addresses the first part of issue #21
I will implement high-level functions for BLAS operations like dot product of matrix-vector multiplication on the next PR.

OK I've removed the BLAS link and moved the C declaration to the <remarks> section. @migueldeicaza , what do you think?
P.S. I have no idea why the CI build fails - looks like a server problem(?)

@migueldeicaza oh I got it. will send a fix in a minute

@migueldeicaza Does it still produce xmldoc errors on your machine? could you please check and let me know (and maybe copy the message that you get?)
P.S. I've also moved all functions into internal static class, as per @NiklasGustafsson suggestion.

I have seen issues like the one described about project.json before in other projects, usually I do a clean, and an msbuild /t:restore to get back to a working state.   You can try that.
On the documentation issue beyond your code, I will fix those manually.