This issue reopens #622 as it was marked as stale...

#622

So, I dont know how the stalebot works but it appears i dont need to keep this issue opened anymore.

The stale bot just monitores issues with no activities for a period a period of time and mark then as stale. If after stale, it still has no activity for some time it closes :)


Bug fix in microServer's threading and reorganized some code

[approve ci]

For once a real autest failure.

[approve ci]

[approve ci autest]

[approve ci autest]

[approve ci]

[approve ci]

looks fine to me

[approve ci autest]


feat: define firecracker vm provider

Current dependencies on/for this PR:

main

PR #1

PR #2

PR #3

PR #4   👈

This stack of pull requests is managed by Graphite.


Types: Failing tests for Oracle timestamps w/ time zone against Snowflake precision=3

@erezsh I've uncovered a new set of incompatibility bugs. Unfortunately it doesn't show up in CI because it doesn't do Oracle yet.
On branch test-snowflake-prod these tests fail with round errors:

test_types_oracle_ts6_y_tz_snowflake_ts3_50
test_types_oracle_ts9_y_tz_snowflake_ts3_50
test_types_oracle_ts_y_tz_snowflake_ts3_50

Run with poetry run python -m unittest -k test_types_oracle_ts_y_tz_snowflake_ts3_50 with that branch checked out.
Sample error:
======================================================================
test_types_oracle_ts_y_tz_snowflake_ts3_50 (tests.test_database_types.TestDiffCrossDatabaseTables)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/root/.cache/pypoetry/virtualenvs/data-diff-yPhKwkIo-py3.10/lib/python3.10/site-packages/parameterized/parameterized.py", line 533, in standalo
ne_func
    return func(*(a + p.args), **p.kwargs)
  File "/root/data-diff/tests/test_database_types.py", line 611, in test_types
    self.assertEqual(expected, diff)
AssertionError: Lists differ: [] != [('-', ('6', '2022-06-01 15:10:05.010000')[2287 chars]0'))]

Second list contains 52 additional elements.
First extra element 0:
('-', ('6', '2022-06-01 15:10:05.010000'))

- []
+ [('-', ('6', '2022-06-01 15:10:05.010000')),
+  ('+', ('6', '2022-06-01 15:10:05.009000')),
+  ('-', ('7', '2000-01-01 00:00:03.001000')),
+  ('+', ('7', '2000-01-01 00:00:03.000000')),
+  ('-', ('9', '2000-01-01 00:00:09.002000')),
+  ('+', ('9', '2000-01-01 00:00:09.001000')),
+  ('-', ('11', '2000-01-01 00:00:15.003000')),
+  ('+', ('11', '2000-01-01 00:00:15.002000')),
+  ('-', ('13', '2000-01-01 00:00:21.004000')),
+  ('+', ('13', '2000-01-01 00:00:21.003000')),
+  ('-', ('14', '2000-01-01 00:00:24.005000')),

Duplicate of #123 (fixed)


Travis tweaks

Description:
.travis.yml and Makefile are hard to read, this a (small) step to fixing that.

This change is

Reviewed 4 of 4 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks broke.

Comments from Reviewable


Sql Homework Answers

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports):  I committed my homework solution
What did you learn from the changes you have made?: I learned how to get images from my local machine to GitHub repo
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?: None
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?: challenge was figuring out how to get my image to my repo
How were these changes tested?: I checked my repo after I successfully pushed my answer
A reference to a related issue in your repository (if applicable)
Checklist

[yes ] I can confirm that my changes are working as intended
@UofTDSI

@Abigealtheanalyst, I've asked @amanda-ng518 to update to 8/8 -- "AS" being optional. :) Great job :)


68 add booster pack card update view

Closes #68

Codecov Report

Merging #78 (6bdf628) into release-candidate (ab3f557) will not change coverage.
The diff coverage is 100.00%.

@@                 Coverage Diff                 @@
##           release-candidate       #78   +/-   ##
===================================================
  Coverage             100.00%   100.00%
===================================================
  Files                     58        58
  Lines                   1543      1549    +6
===================================================
+ Hits                    1543      1549    +6

Impacted Files
Coverage Δ

...iAcademy/YuGiOh/booster_packs/booster_pack_card.py
100.00% <100.00%> (ø)

...GiOh/booster_packs/tests/test_booster_pack_card.py
100.00% <100.00%> (ø)

...YugiAcademy/YuGiOh/cards/card_management_system.py
100.00% <100.00%> (ø)

...tests/test_monster_card_based_management_system.py
100.00% <100.00%> (ø)

...s/tests/test_spell_card_based_management_system.py
100.00% <100.00%> (ø)

...ds/tests/test_trap_card_based_management_system.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add haskell filetype with stylish-haskell

Unfortunately, stylish-haskell doesn't have a flag like --stdin-filepath for passing path to the file passed to stdin, so it doesn't look for a config relative to a saved file.

I don't use haskell but this seems legit and someone will post another PR or issue if they have a problem with this configuration.


Resize UI

Codecov Report

Merging #268 (86eeaaf) into master (650558f) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #268   +/-   ##
=========================================
  Coverage     76.97%   76.97%
  Complexity      944      944
=========================================
  Files           131      131
  Lines          2658     2658
  Branches        334      334
=========================================
  Hits           2046     2046
  Misses          507      507
  Partials        105      105

Continue to review full report at Codecov.

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


services/horizon/ingest: added 'horizon_ingest_error_restarts' metric key

PR Checklist
PR Structure

[x] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[x] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[x] This PR's title starts with name of package that is most changed in the PR, ex.
services/friendbot, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[x] This PR adds tests for the most critical parts of the new functionality or fixes.
[ ] I've updated any docs (developer docs, .md
files, etc... affected by this change). Take a look in the docs folder for a given service,
like this one.

Release planning

[ ] I've updated the relevant CHANGELOG (here for Horizon) if
needed with deprecations, added features, breaking changes, and DB schema changes.
[ ] I've decided if this PR requires a new major/minor version according to
semver, or if it's mainly a patch change. The PR is targeted at the next
release branch if it's not a patch change.

What
added a new metrics counter key 'horizon_ingest_error_restarts' which ingest fsm will emit anytime it restarts the fsm with 'retry' due to an error. which if it continues to increase, indicates a halt situation is underway.
Why
to configure prometheus alert against the new metric for early visibility on when an ingestion halt starts to form - https://github.com/stellar/prometheus/pull/243
Closes: #5256
Known limitations

We log ingestion errors here:
https://github.com/stellar/go/blob/master/services/horizon/internal/ingest/main.go#L646
If you search on kibana you can see that these logs occur very rarely. I think it would make sense to have an ingestion error counter metric which is basically triggered every time we emit the log in https://github.com/stellar/go/blob/master/services/horizon/internal/ingest/main.go#L646. The metric definition should mirror the log message, so it should be a counter with 2 labels: current_state and next_state.
We can the create the alert using a very simple heuristic: if ingestion error counter is incremented more than n times in the last m minutes fire the alert

I think it would make sense to have an ingestion error counter metric which is basically triggered every time we emit the log in https://github.com/stellar/go/blob/master/services/horizon/internal/ingest/main.go#L646.

ah, thanks for pointer to that, updated - https://github.com/stellar/go/pull/5302/commits/3319801ce7c8370db5564811c431e49732fca702


added a simple login pages template coded pages

I added a simple sign-up page code in the language HTML, CSS. I hope you like it . I am new in the field of web-development.

Check issues section

1-Add your projectfolder into folder pages
2-Project folder structure
i-index.html
ii-js folder
iii-css folder
iv-image
v-ss of your work
3-Add your userdata into Data/pages.json folder
        "id": 1,
        "name": "Your clone Page Name",
        "description" : "This is the login page of this this ...",
        "img": "",
        "githuburl": "",
        "liveurl": "",
        "userData": {
            "nameofcreator": "",
            "githuburl": "",
            "linkedinurl": "",
            "portfolio": "",
            "email": "",
            "twitter": ""
        }
    }

4-Create a Pr
5- Star the repo


Test app.py main module

add ini_app test and assert
add main function test
fix removed unnecessary await
raise coverage threshold up to 96%

Codecov Report

Merging #9 (58b1d13) into master (a0815a7) will increase coverage by 7.74%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master       #9      +/-   ##
==========================================
+ Coverage   88.51%   96.25%   +7.74%
==========================================
  Files          11       11
  Lines         296      294       -2
  Branches       13       12       -1
==========================================
+ Hits          262      283      +21
+ Misses         32        9      -23
  Partials        2        2

Impacted Files
Coverage Δ

app.py
100.00% <100.00%> (+100.00%)
:arrow_up:

Continue to review full report at Codecov.

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


Allowing input to be either t.String or t.Number

Hi!
I'm working on an input as such:
Given an input, a min, and a max, remove all non-digits and make sure the resulting value is between the min and max.
TEST 1: INPUT = 10000; OUTPUT = true
TEST 2: INPUT = '$10,000'; OUTPUT = true
export default (min = 0, max = Infinity) => {
  return t.refinement(t.String, (amount) => {
    const amountValue = parseInt(amount.replace(/[^\d]/g, ''));
    return (amountValue >= min) && (amountValue <= max)
  });
};

Currently, TEST 1 does not work because the inputted value is treated as a number and not t.String. How can I make this input accept either a string or number?

Not sure I'm follow.
If you want a string as output, this works for me:
const createInput = (min = 0, max = Infinity) => {
  return t.refinement(t.String, (amount) => {
    const amountValue = parseInt(amount.replace(/[^\d]/g, ''));
    return (amountValue >= min) && (amountValue <= max);
  });
};

const Type = t.struct({
  x: createInput(1, 4)
});

const App = React.createClass({

  onSubmit(evt) {
    evt.preventDefault();
    var value = this.refs.form.getValue();
    if (value) {
      console.log(value);
    }
  },

  render() {
    return (
      <form onSubmit={this.onSubmit}>
        <t.form.Form
          ref="form"
          type={Type}
        />
        <div className="form-group">
          <button type="submit" className="btn btn-primary">Save</button>
        </div>
      </form>
    );
  }

});

otherwise if you want a number as output you can simply use a refinement of a t.Number:
const createInput = (min = 0, max = Infinity) => {
  return t.refinement(t.Number, (amount) => {
    return (amount >= min) && (amount <= max);
  });
};

const Type = t.struct({
  x: createInput(1, 4)
});

in the first case, if the input is a number, the form will throw a validation error. I want to handle the inputs $10,000 and 10000 the same way.

in the first case, if the input is a number...

How could the user input be a number? The value of a textbox is always a string.

ahh I figured it out - this may be a bug.
I assigned state.value with some mock data. the mock data had that input's value as an int.


Bug: Send Assets appears with no assets

Send Assets button appears when there are no assets to send, and clicking it causes a blank screen.

Weird, yeah just tested multisig/azorius and couldn't reproduce


fix //build/config/linux/pkg_config.gni

part of #51535
subprocess.check_output returns bytes, not str
it doesn't seem to be used yet in the project, so I assume it doesn't work for anyone. not sure how did it land here if it doesn't work (returned type changed in python 3?)

Thanks :)
Do add me as a reviewer if you're able to rather than merely a cc :)
If you're able to use gerrit and depot_tools, consider going through git cl upload directly instead of using pull requests since it's the proper workflow


[PROPOSAL] TagsFacet for arbitrary metadata

Purpose:
Arbitrary metadata, often referred to as tagging, concerns adding additional datapoints that are not part of the OL spec to events.
Several use cases exist for this type of data.

Environment information for jobs
Setting PII/security information for columns
Grain for datasets
Technology-specific attributes i.e. (dbt Cloud project, Airflow tags, etc.)
Downstream notification information like Slack channels, email addresses, etc.
Configuration information for downstream automation (A message to re-run a pipeline, create Jira ticket, kick off reverse ETL, etc.)
Enriching events with domain-specific tags
etc.

No matter how many fields OpenLineage adds to the spec, there will always be a need for additional metadata both supplied by the client and the user. In order to allow OpenLineage to support more use cases, we should consider a generalized and automatable approach to capturing this type of metadata.
See these discussions for additional context:
https://github.com/OpenLineage/OpenLineage/issues/2779
https://github.com/OpenLineage/OpenLineage/issues/2748
https://github.com/OpenLineage/OpenLineage/pull/1630
Examples
Arbitrary metadata comes in many forms. Some implementations assign single-string tokens as tags. Others allow key/value pairs or even full dictionaries. Our solution needs to handle all of these cases. Furthermore, the metadata can come from integrations, users or the specific tools we are monitoring with OpenLineage. It would be good to track the provenience of each one.
Airflow DAG (Single token strings)
    @dag(
        start_date=pendulum.datetime(2024, 6, 10, tz="UTC"),
        tags=["crr_pipeline", "prod", "team=dataos"],
        schedule="5,15,25,35,45,55 * * * *",
    )

dbt meta (Dictionary of arbitrary metadata)
   - name: subscription_rate_plan_view
      config:
        meta:
          nr_config:
            team: Order Management
            alert_failed_test_rows: True
            failed_test_rows_limit: 20
            slack_mentions: '@user1, @user2, @user3

Snowflake column tags (Schema-level object stored as a key/value pair)
    ALTER TABLE hr.tables.empl_info
    MODIFY COLUMN job_title
    SET TAG visibility = 'public';

User-supplied tag through environment variables
    export OPENLINEAGE_TAG_ENVIRONMENT=prod

Run Event Example with Tags
{
        "eventType": "START",
        "eventTime": "2020-12-28T19:52:00.001+10:00",
        "run": {
          "runId": "0176a8c2-fe01-7439-87e6-56a1a1b4029f",
          "tags": [
            {"key": "project", "value": "myproject", "source": "DBT_CLOUD_INTEGRATION"},
            {"key": "environment", "value": "production", "source": "DBT_CLOUD_INTEGRATION"},
            {"key": "crr_pipeline", "value": true, "source": "USER"},
            {"key": "is_adhoc", "value": true, "source": "DBT_CLOUD_INTEGRATION"}

          ]
        },
        "job": {
          "namespace": "my-namespace",
          "name": "my-job",
          "facets": {
              "tags": [
                {"key": "project", "value": "myproject", "source": "DBT_CLOUD_INTEGRATION"},
                {"key": "environment", "value": "production", "source": "DBT_CLOUD_INTEGRATION"},
                {"key": "crr_pipeline", "value": true, "source": "USER"}
              ]
          }
        },
        "inputs": [{
          "namespace": "my-namespace",
          "name": "my-input",
          "facets": {
            "tags": [
                {"key": "meta_nr_config_slack_mentions": "value": "@user1, @user2", "source": "DBT_CLOUD_INTEGRATION"},
                {"key": "pii", "value": true, "field": "email", "source": "DBT_CLOUD_INTEGRATION"}
            ],
            "schema": {
                "fields": [
                    {"name": "email", "type": "string" },
                    {"name": "id", "type": "int"}
                ]

            }
          }
        }],
        "producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
        "schemaURL": "https://openlineage.io/spec/1-0-5/OpenLineage.json#/definitions/RunEvent"
      }

Proposed implementation
This implementation proposes a new TagFacet that can be applied to any job, run, or dataset field with a fields property. The facet will have one property called tags. Tags is an array of objects holding key/value pairs and optional identifying information. While using key/value does not preserve the hierarchical nature of nested objects, it does allow us to collect all needed information supporting the vast majority of use cases.
This schema will include a TagFacet with four properties.

key: Identifies the tag by name
value: The value of the tag. Set to true to mimic single-string token. (pii=true)
source: (optional) Where the tag came from. This can be from the integration, a user, or the technology we are monitoring.
field: (optional) Dataset field the tag applies to

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://openlineage.io/spec/facets/1-1-1/TagFacet.json",
  "$defs": {
    "TagFacetFields": {
      "type": "object",
      "properties": {
        "key": {
          "description": "Key that identifies the tag",
          "type": "string",
          "example": "pii"
        },
        "value": {
          "description": "The value of the field",
          "type": ["string", "number", "boolean"],
          "example": "true|@user1|production"
        },
        "source": {
          "description": "The source of the tag. INTEGRATION|USER|DBT CORE|SPARK|etc.",
          "type": "string"
        },
        "field": {
          "description": "Identifies the field in a dataset if a tag applies to one",
          "type": "string",
          "example": "email_address"
        }
      },
      "required": ["key", "value"]
    },
    "TagFacet": {
      "allOf": [
        {
          "$ref": "https://openlineage.io/spec/2-0-2/OpenLineage.json#/$defs/BaseFacet"
        },
        {
          "type": "object",
          "properties": {
            "tags": {
              "description": "The tags applied to the facet",
              "type": "array",
              "items": {
                "$ref": "#/$defs/TagFacetFields"
              }
            }
          }
        }
      ],
      "type": "object"
    }
  },
  "type": "object",
  "properties": {
    "schema": {
      "$ref": "#/$defs/TagFacet"
    }
  }
}

Python and Java client

Implement the tag facet
Identify user-supplied tags through environment variables i.e. (OPENLINEAGE_TAG__ENVIRONMENT=production)
Allow integrations to query for user-supplied tags

Integrations

Identify technology-specific tags and metadata, create the tag facet, attach the tag facet to appropriate parent facets
Optional - Allow user-supplied tags through configuration or CLI arguments i.e. (--environment=production)

Building Tags

The combination of key and source should be unique within an event.
Single-token tags use key=True. i.e. (pii becomes {key: pii, value: true})
Key should match the source data point as closely as possible. i.e. ("team=dataos", "pii" and "production" become key=team, key=pii, key=production)
User-supplied tags supplied through environment variables or config files should apply to job and run, but not dataset. (Dataset should have a method of supplying tags through an integration)
In cases where the source metadata is an object, key/value pairs should be built from the object. For example, the dictionary below would be represented as a single tag.

   - name: subscription_rate_plan_view
      config:
        meta:
          nr_config:
            team: Order Management

becomes
  {
    "key": "meta_nr_config_team",
    "value": "Order Management"
  }

@leogodin217 +1 - the proposal looks really good, and addresses what we've been discussing - such as provenience of the tags.
One nit I would have is
OPENLINEAGE_TAG_ENVIRONMENT=prod -> OPENLINEAGE_TAG__KEY=prod

easier to distinguish between "env name" part and "tag key".

@leogodin217 Thank you for your excellent proposal. I have a few suggestions to further clarify and enhance it:

Example Events with New Facet:
Please provide concrete examples of events that would benefit from the addition of a new "tags" facet. This will help us visualize the practical applications and potential value of this feature.

Tag Configuration:
I propose that tags be primarily configured by the user through existing mechanisms like configuration files or environment variables. This aligns with our current approach for other configuration options and avoids introducing a new exception. This flexibility will also accommodate different use cases, such as dynamic tag updates based on runtime conditions.

Tag Placement:
While integrations may attach the "tags" facet to various parent facets, clients need clear guidance on where to add specific tags. Consider these options:

New Property: Introduce a dedicated property within the relevant event type to hold the "tags" facet. For example, in the RunEvent type, we could add a new optional tags property. This would provide a well-defined location for clients to add tags. For instance, RunEvent now expects several fields like run, job, schemaURL etc. but none of these is purely a tag field.
Convention-Based Placement: Establish a convention or mapping that determines the appropriate parent facet for different types of tags. This could be based on tag categories or event attributes.

@mobuchowski

One nit I would have is
OPENLINEAGE_TAG_ENVIRONMENT=prod -> OPENLINEAGE_TAG__KEY=prod
easier to distinguish between "env name" part and "tag key".

I'm not sure I understand. My thought is it should be OPENLINEAGE_TAG__key=value. Assign both the key and value in the same variable. Are you suggesting single-token tags that do not have a key? Something that would render like:
    tags: [prod, pii, ...]

instead of
    tags: [{env=prod}, {pii=true}, ...]

@JDarDagran

Example Events with New Facet:
I'll update it tomorrow

Tag Configuration:
Many tags come from the technology itself. Furthermore, those tags provide context to what event it should apply to. I'm not sure how a user could configure all that outside of the the technology. For instance, a tag on an Airflow task. How would that be manually configured outside the DAG code?

Tag Placement:
I was envisioning this to be the integration responsibility. I could see the client maybe attaching user-supplied tags to jobs and runs, but the integration would also have that responsibility. (Maybe I lack understanding of how the events are created)

New Property:
We discussed this in Slack and the google doc. Seems like the consensus was that tags belong in custom facets.

Convention-Based Placement:
Hmm, I don't think we are proposing meaning behind specific tags. That being said, we should consider examples like Airflow. Do DAG tags apply to the dataset? Or just the job and run? That's where it gets difficult to come up with global conventions. Do you have any suggestions?

Many tags come from the technology itself. Furthermore, those tags provide context to what event it should apply to. I'm not sure how a user could configure all that outside of the the technology. For instance, a tag on an Airflow task. How would that be manually configured outside the DAG code?

I can see two ways of configuring it then. One is identical to other configurations we currently have in clients, like transport (setting URLs etc.). For instance, you'd want to attach instance ID on which Airflow runs - this could be just set in configuration file / dynamic env var. Another way is to let integrations interact with clients and pass tags to them (that's at least how I see it, correct me if the proposal states different approach).

Convention-Based Placement:
Hmm, I don't think we are proposing meaning behind specific tags. That being said, we should consider examples like Airflow. Do DAG tags apply to the dataset? Or just the job and run? That's where it gets difficult to come up with global conventions. Do you have any suggestions?

I didn't mean proposing meaning behind specific tags. In Google Doc I can see some discussion around having e.g. TagDatasetFacet, TagJobFacet. This way tag facets would be put under their parent facets (e.g. TagDatasetFacet goes with dataset facets).
The difficulty of differentiating if something applies to job/run/dataset stays the same regardless of discussion about tags.

@JDarDagran

can see two ways of configuring it then. One is identical to other configurations we currently have in clients, like transport >(setting URLs etc.). For instance, you'd want to attach instance ID on which Airflow runs - this could be just set in >configuration file / dynamic env var. Another way is to let integrations interact with clients and pass tags to them (that's at >least how I see it, correct me if the proposal states different approach).
Yes, I'm proposing both methods. User supplied tags identified by the client through config/variables and integration tags automatically pulled from the tools. In both cases I think the integration should attach the tag to the appropriate facet.

For tool supplied tags (Airflow tags, dbt meta, etc....) integration identifies the tag -> integration attaches tag to correct facets.
For user supplied tags (config, environment variables) client identifies tag -> integration queries the client -> integration attaches tag to correct facets.

I didn't mean proposing meaning behind specific tags. In Google Doc I can see some discussion around having e.g. >TagDatasetFacet, TagJobFacet. This way tag facets would be put under their parent facets (e.g. TagDatasetFacet goes >with dataset facets).
I don't have a strong preference either way. Whatever the community wants. @julienledem any thoughts on how to decide this? It seems like an important discussion.

Yes, I'm proposing both methods. User supplied tags identified by the client through config/variables and integration tags automatically pulled from the tools. In both cases I think the integration should attach the tag to the appropriate facet.

I just remembered about https://github.com/OpenLineage/OpenLineage/issues/3144#issuecomment-2404565636 proposal. If this gets implemented too, I think we could have mechanism for ruser supplied tags only. For tool supplied it could be just event mutation hook.

I don't have a strong preference either way. Whatever the community wants. @julienledem any thoughts on how to decide this? It seems like an important discussion.

I think some example could also help here. Those don't have to be full events.

@leogodin217

I'm not sure I understand. My thought is it should be OPENLINEAGE_TAG__key=value. Assign both the key and value in the same variable. Are you suggesting single-token tags that do not have a key? Something that would render like:

No, that was just a nit about formatting of the env variable name.

@JDarDagran I updated the proposal with an example event. As for guidance, I think I misunderstood what you were asking for. You were looking for technical guidance, right? My proposal is more at the spec level then the technical implementation. Unfortunately, I don't have enough knowledge of the client internals to make a recommendation there. Maybe we can all crowdsource this.

@leogodin217 thanks for the update! I don't expect you to delve into the technical implementation, this is just a discussion in the wider community and is something to keep in mind.
Looking at the example and based on the current solution, in my opinion we should add 3 facets (and probably one TagFacet serving as a parent for them with all the properties to inherit) - TagJobFacet, TagRunFacet, TagDatasetFacet. Again, this is probably more of an implementation detail.
In conclusion - I love the idea and I'm in favor of implementing this. That's a well written proposal, thanks again!

@JDarDagran I added the additional facets. While doing that, tag mutations came to mind. It seems like it would be very difficult for integrations to identify changes in tags. Is the best way to handle this to consider the tags on the latest event as the complete, accurate set? This is what I wrote.

Tags can be created, modified and deleted. However, it is difficult for stateless integrations to identify changes. The
integrations generally only understand current state. To enable deletion and modification, events should always
provide the full set of tags. Consumers should consider tags from the latest event to be the complete set of tags.


Option to benchmark until confidence value is reached

I'm not sure how this works, but there are measures in statistics to be confident of your results (standard deviation we have and I think it is one of them) - with this given we could add an option that says benchmark until this confidence level is reached, with some timeout though so it doesn't run forever if results vary too much naturally.

https://github.com/jlouis/eministat seems to implement a confidence interval in Erlang + even outlier analysis. Potential reuse and inspiration over there - thanks/via @michalmuskala


CognitoUserManager sets the ExpirationTime and IssuedTime on the user session as UTC time when IsValid expects Local time

When the SessionTokens on the user are created, UTC times for IssuedTime and ExpirationTime are passed into the CognitoUserSession constructor:
https://github.com/aws/aws-aspnet-cognito-identity-provider/blob/76cd6bef8de030c77702e5c9b9441d521c09d789/src/Amazon.AspNetCore.Identity.Cognito/CognitoUserManager.cs#L161-L168
However when CognitoUserSession.IsValid is called, it compares the ExpirationTime against DateTime.Now.
        public bool IsValid()
        {
            DateTime currentTimeStamp = DateTime.Now;

            return (currentTimeStamp.CompareTo(ExpirationTime) < 0);
        }

This means a server which is running on a timezone ahead of UTC may throw an exception saying that the user is not authenticated (when they are) on some calls in CognitoUser which rely on EnsureUserAuthenticated() (e.g. UpdateAttributesAsync) depending on how long the token is valid for.
So I think CognitoUserSession should be created using local time for IssuedTime and ExpirationTime and then converted back to UTC time as needed i.e. call .ToUniversalTime() when setting ExpiresUtc and IssuedUtc on AuthenticationProperties
https://github.com/aws/aws-aspnet-cognito-identity-provider/blob/76cd6bef8de030c77702e5c9b9441d521c09d789/src/Amazon.AspNetCore.Identity.Cognito/CognitoSigninManager.cs#L160-L169
https://github.com/aws/aws-aspnet-cognito-identity-provider/blob/76cd6bef8de030c77702e5c9b9441d521c09d789/src/Amazon.AspNetCore.Identity.Cognito/CognitoSigninManager.cs#L209-L228

Hi @jbrookssmokeball,
Good morning.
I'm not sure if this is an issue since there is another issue logged in Cognito Extensions repository https://github.com/aws/aws-sdk-net-extensions-cognito/issues/21 which mentions the behavior opposite way and it has already been prioritized by development team. Request you to have a look at that issue and re-review your request.
Thanks,
Ashish

Hi @ashishdhingra,
Ah yep that seems like the more correct fix. I will close this issue then.
Thanks,
@jbrookssmokeball


meta-sensaas.py fails with FileNotFoundError

When running meta-sensaas.py from the main directory as described in the documentation:
python meta-sensaas.py examples/IMATINIB.sdf examples/IMATINIB_parts.sdf

I get the following error:
sh: sensaas.py: command not found
Traceback (most recent call last):
  File "meta-sensaas.py", line 526, in <module>
    logfile=open('slog', 'r')
FileNotFoundError: [Errno 2] No such file or directory: 'slog'

I think this occurs because sensaas.py is not necessarily executable or in PATH and therefore it should be invoked as python sensaas.py?

Depending on the system, you have to execute 'python sensaas.py' instead of 'sensaas.py' as indicated in the documentation. Thus, at the beginning of meta-sensaas.py, we try to automatically find the right form but users may have to set it differently.


Implement JNA opcode

This is a reasonably good starter issue because we already implemented SKM (in op_jump.rs) and this jump instruction will have a similar instruction, but a simpler condition (the comparison part is already implemented in the base crate, too).
JNA is described on page 3-32 of the Users Handbook: http://www.bitsavers.org/pdf/mit/tx-2/TX-2_UserHandbook_ch3.pdf


Create cluster with docker - fails because of an error

Hi!
I'm trying to create a cluster with the docker command, but no matter what I try it doesn't work.
Do you have an example where you don't use ${PWD} and ${HOME}? So eg use a full path.
because somehow that's not recognized on my Win10 laptop (I'm using Docker Desktop)
Folder structure:
C:\Users\John\Downloads\vitobotta\cluster.yaml
C:\Users\John\Downloads\vitobotta\.ssh

What i tried:
C:\Users\John\Downloads\vitobotta>docker run --rm -it -v C:\Users\John\Downloads\vitobotta:/cluster -v C:\Users\John\Downloads\vitobotta.ssh:/tmp/.ssh vitobotta/hetzner-k3s:v0.4.3 create-cluster --config-file cluster.yaml
It gives me this error message everytime:
chmod: /root/.ssh/*: No such file or directory
chmod: /root/.ssh/*.pub: No such file or directory
Please specify a correct path for the config file.
Traceback (most recent call last):
        8: from /usr/local/bundle/bin/hetzner-k3s:23:in `<main>'
        7: from /usr/local/bundle/bin/hetzner-k3s:23:in `load'
        6: from /usr/local/bundle/gems/hetzner-k3s-0.4.3/exe/hetzner-k3s:4:in `<top (required)>'
        5: from /usr/local/bundle/gems/thor-1.1.0/lib/thor/base.rb:485:in `start'
        4: from /usr/local/bundle/gems/thor-1.1.0/lib/thor.rb:392:in `dispatch'
        3: from /usr/local/bundle/gems/thor-1.1.0/lib/thor/invocation.rb:127:in `invoke_command'
        2: from /usr/local/bundle/gems/thor-1.1.0/lib/thor/command.rb:27:in `run'
        1: from /usr/local/bundle/gems/hetzner-k3s-0.4.3/lib/hetzner/k3s/cli.rb:28:in `create_cluster'
/usr/local/bundle/gems/hetzner-k3s-0.4.3/lib/hetzner/k3s/cli.rb:355:in `find_hetzner_token': undefined method `dig' for nil:NilClass (NoMethodError)

When I execute this one:
docker run --rm -it -v ${PWD}:/cluster -v ${HOME}/.ssh:/tmp/.ssh vitobotta/hetzner-k3s:v0.4.3 create-cluster --config-file cluster.yaml
it gives me:
docker: Error response from daemon: create ${PWD}: "${PWD}" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path.
See 'docker run --help'.

Thats why Ive tried to change the 2 volumes ( PWD and HOME ). I can change the PWD volume without getting an error, but the HOME volume keeps giving me errors.
Thanks!

Awesome, thanks for sharing your config. Hopefully it will help others who are on Windows. Closing this one for now, feel free to reopen if needed.

BTW I  hope that's not your actual token... if it is change it!

i followed all the docker's trick here but i got the following error:

Invalid Public SSH key path
Invalid Private SSH key path

command:
docker run --rm -it -v ${PWD}:/cluster -v ${PWD}/.ssh:/tmp/.ssh vitobotta/hetzner-k3s:v0.4.3 create-cluster --config-file cluster/create.yaml.
Question: do we need to create thessh key 1st?
Env: Windows Docker Desktop
This is my create config yaml:
hetzner_token: [token]
cluster_name: test
kubeconfig_path: "/cluster//kubeconfig"
k3s_version: v1.21.3+k3s1
public_ssh_key_path: "~/.ssh/id_rsa.pub"
private_ssh_key_path: "~/.ssh/id_rsa"
ssh_allowed_networks:

<IP_ADDRESS>/0
verify_host_key: false
location: nbg1
schedule_workloads_on_masters: false
masters:
instance_type: cpx21
instance_count: 3
worker_node_pools:
name: small
instance_type: cpx21
instance_count: 4
name: big
instance_type: cpx31
instance_count: 2

@mok888 it would be best if you open a separate issue. The paths for the keys should be adapted to Windows in your case.


[FEATURE] Support curve fi pools for token price

Is your feature request related to a problem? Please describe.
I am not able to get token price for tokens on curve fi pools
Describe the solution you'd like
Implement curve.get-pool-price-info model and aggregate it along with uniswap v2/v3 and sushi pools in token.pool-price-info model

Yup. I have partly addressed this in https://github.com/credmark/credmark-models-py/blob/ef5941112b8bad844a929ad6659fb0059b58a4da/models/credmark/protocols/dexes/curve/curve_finance.py#L263
This will be in my models' pipeline.


Phase out setting DD background image

The Canvas and Scene have been retooled in v10. Now the scene background image visually appears below the DD layer, so we're seeing: scene bg img, DD, tiles. (In v9 we saw DD, scene bg, tiles... as the scene bg and tiles )
This is a good thing, and means we no longer need an additional DD background image config setting.
TODO: figure out how best to phase it out / remove it with minimal disruption to existing users.

Removed in 1.1.0.


Local Network

Hi,
I'm searching for a protocol/library to use in my prototype, and I'm thinking about something that I would like to hear some opinions.
How does mqtt works with a local network only?
As I understand, correct me if I'm wrong, with mqtt I can't get value of sensors in a network without internet connection. Considering that, I think in 2 options:

Not implement mqtt in all devices. Implement "my own protocol" based on UDP messages to get the values and send commands, and for remote I build a gateway.

Project a local broker, bridged to a remote.

If I really have the only two options above to work with mqtt in a network without internet conection, I think the option 1 have a better cost vs benefit plus a lot less effort to create.

Hi,
for this general sort of question, there is the MQTT mailing list.
MQTT is a network protocol; It doesn't care if that network is a local private network or the entire internet. It's just about getting messages from a client to a server and then on to any subscribers efficiently.
You can run a broker anywhere you want - mosquitto is a great example of a really light weight broker you can run on a Raspberry Pi and up. With that in place, option 2 is pretty trivial to do.


Exploit Optional Schema (and Document Validation)

MongoDB 3.2 and later have optional schema, which can be used to accelerate statistical-type inference, as well as produce better error messages about broken queries.

[ ]  Accelerate SSTs with optional schema
[ ]  For queries over collections with schema, fail out unproductive queries
[ ]  Remove runtime type checks when optional schema indicates they aren't necessary

So, more generally, we should have connectors implement a function that returns the schema (represented as an SST?) for a particular collection.
Then type checking in QScript can apply that schema to Read nodes, which will then automatically handle the second and third checkboxes, since we already fail queries that don’t type check and only add runtime checks for values we don’t know the type of. Right now, we just treat Read as Type.Top, so it provides no information. We simply need a way for QScript to request a more precise type for those nodes.


logger_cb: remove default callbacks

The logic related to filtering by callbacks must be a decision of the library consumers, as it is not possible to know which is the best strategy for each case.
This also adds to the related selftest other example that shows how to filter using callbacks.
Fixes: #293

#293

LGTM

Thanks, merging in minutes.


schedule: refactor operator influence

What problem does this PR solve?
Currently, we have OpInfluence for each scheduler, but only a few of them will be used.
What is changed and how it works?
This PR moves OpInfluence related logic from basic_cluster.go into operator_controller.go, simplifies Schedule interface, and provide GetOpInfluence and SetOpInfluence function to access OpInfluence.
Check List
Tests

Manual test (make test)

/rebuild

/rebuild

/run-unit-test


NVM shouldn't source a shell script to start, it's too slow

NVM causes way too much slowdown on terminal start because it's sourcing a shell script. It shouldn't have to do this for the NVM to work. This is in need of a full redesign of this idea. I don't know who thought that sourcing a slow shell script on shell start was a good idea.
Has no one in this project heard of lazy initialization? NVM has become an impediment to work, not a help.

You're incorrect; the reason there's slowdown is entirely because auto-using invokes npm config get prefix - sourcing a shell script is not slow and never has been slow.
If you source with --no-use, or if you nvm unalias default and have no .nvmrc file, you won't see any slowdown (a slowdown that only a minority of users suffer from).
Lazy initialization is simply incorrect because it wouldn't make all global npm modules available on the command line along with node and npm.
The long term solutions are either to 1) have npm get faster, or 2) have nvm reimplement the npm config get prefix logic, but somehow make it faster than npm itself.

If we source nvm in .bashrc, it will be sourced every time on shell starts.
If we source nvm in .bash_profile, at least for Linux, it will be sourced once when user first login.
Maybe we should export nvm functions, and encourage user source nvm in .bash_profile?

It should be sourced every time each shell starts.

Ok thanks
On Tue, 14 Apr 2020 at 08:29, Jordan Harband<EMAIL_ADDRESS>wrote:

It should be sourced every time each shell starts.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/nvm-sh/nvm/issues/2084#issuecomment-613475888, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/APFTVUUKBDUNNMAWM4AYEZLRMRXLDANCNFSM4IJQKEIA
.

I was able to speed up terminal starts by changing the load script to have the --no-use option:
# Load NVM
export NVM_DIR="$HOME/.nvm"
[[ -s "$NVM_DIR/nvm.sh" ]] && source "$NVM_DIR/nvm.sh" --no-use

It's like 1 second faster for every terminal start now... which is life changing!

For those that have found the standard process (without --no-use) slow, please check out #2317, and if it's faster, please comment with your benchmarks.


Unable to Re-Parent ActivityHistory

Receiving an error when attempting to re-parent ActivityHistory. It says the WhoId field is editable. Even happens when using clone instead of move.
Error  message:
ObjectMergePairTrigger: execution of BeforeUpdate caused by: System.SObjectException: Field WhoId is not editable Class.ObjectMergePairTriggerHandler.doMerge: line 228, column 1 Class.ObjectMergePairTriggerHandler.MergeObjects: line 118, column 1 Trigger.ObjectMergePairTrigger: line 33, column 1

@skyclan9 It looks like you may have a handler set-up for the unified ActivityHistory object rather than setting up separate handlers for Task and Event. ActivityHistory is read-only and is fed from these two objects.

@kyleschmid Thank you. This worked.


Add additional options for backup and restore commands

Allow user to blacklist certain application id's from getting backed up, i.e. banking applications
Allow user to specify a password for backups and restores via the command like for non-interactive executions
Ensure password variable is instantiated at the beginning of the script to avoid unset exceptions

NOTE: To be merged after merging getopts pull request.


MAC MISMATCH

After trying to run scripts on the smart contract lottery and entering my password. I receive a MAC mismatch error. I'm currently using Monterey 12.2.1. Here is a copy of my message...
MBP smartcontract-lottery % brownie run scripts/deploy_lottery.py
Brownie v1.16.4 - Python development framework for Ethereum
SmartcontractLotteryProject is the active project.
Launching 'ganache-cli --accounts 10 --hardfork istanbul --gasLimit 12000000 --mnemonic brownie --port 8545'...
Running 'scripts/deploy_lottery.py::main'...
Enter password for "freecodecamp-account3":
File "brownie/_cli/run.py", line 49, in main
return_value, frame = run(
File "brownie/project/scripts.py", line 103, in run
return_value = f_locals[method_name](*args, **kwargs)
File "./scripts/deploy_lottery.py", line 9, in main
deploy_lottery()
File "./scripts/deploy_lottery.py", line 5, in deploy_lottery
account = get_account(id="freecodecamp-account3")
File "./scripts/helpful_scripts.py", line 11, in get_account
return accounts.load(id)
File "brownie/network/account.py", line 219, in load
priv_key = web3.eth.account.decrypt(
File "eth_account/account.py", line 155, in decrypt
return HexBytes(decode_keyfile_json(keyfile, password_bytes))
File "eth_keyfile/keyfile.py", line 49, in decode_keyfile_json
return _decode_keyfile_json_v3(keyfile_json, password)
File "eth_keyfile/keyfile.py", line 170, in _decode_keyfile_json_v3
raise ValueError("MAC mismatch")
ValueError: MAC mismatch
Terminating local RPC client...
smartcontract-lottery % brownie run scripts/deploy_lottery.py
Brownie v1.16.4 - Python development framework for Ethereum
SmartcontractLotteryProject is the active project.
Launching 'ganache-cli --accounts 10 --hardfork istanbul --gasLimit 12000000 --mnemonic brownie --port 8545'...
Running 'scripts/deploy_lottery.py::main'...
Enter password for "freecodecamp-account3":
File "brownie/_cli/run.py", line 49, in main
return_value, frame = run(
File "brownie/project/scripts.py", line 103, in run
return_value = f_locals[method_name](*args, **kwargs)
File "./scripts/deploy_lottery.py", line 9, in main
deploy_lottery()
File "./scripts/deploy_lottery.py", line 5, in deploy_lottery
account = get_account(id="freecodecamp-account3")
File "./scripts/helpful_scripts.py", line 11, in get_account
return accounts.load(id)
File "brownie/network/account.py", line 219, in load
priv_key = web3.eth.account.decrypt(
File "eth_account/account.py", line 155, in decrypt
return HexBytes(decode_keyfile_json(keyfile, password_bytes))
File "eth_keyfile/keyfile.py", line 49, in decode_keyfile_json
return _decode_keyfile_json_v3(keyfile_json, password)
File "eth_keyfile/keyfile.py", line 170, in _decode_keyfile_json_v3
raise ValueError("MAC mismatch")
ValueError: MAC mismatch
Terminating local RPC client...

The error is most likely related to this line:
priv_key = web3.eth.account.decrypt
Please share the code of your project.

So apparently my password was incorrect for the account I created, but you were definitely right about it being an error with the account. I feel silly, it would have been so much easier for the message to return as "incorrect password" instead of the vague "Mac Mismatch" Anyway, thanks for your help!

I'm glad is solved now.


Typescript Generics

Hi, it would be great to add generics for specifics functions like trackEvent something like:
trackEvent: <T = object>(event: string, metaData?: T) => void;

Thanks!

Hi Samuel,
That would be nice indeed! Would you mind picking this up and submit a PR?


Remove name from query and mutation options

Diana 0.2.0 doesn't support anonymous calls, so this feature is included.
Upgrading to Diana 0.2.1 will fix it. Diana 0.2.1 requires HTTP 0.9 which conflicts with Neo4j 2.0.
Once we finish pulling DFG out and remove all deps on DFG and Caesar, we can do the upgrade as Neo4j won't be included anymore.

Neo4j Diana conflicts

Just in case you are talking about name conflicts.  Note on Julia, difference between using using and import.
import Neo4j
import Diana

#the you still have to declare the module for functions, it avoids name conflicts
nsoc = Neo4j.connect(...)
dsoc = Diana.connect(...)

Name in this context is GraphQL operation name. Nothing to do with JuliaLang.
This is now unblocked since neo4j is decoupled from SDK since NavAbility DFG has its own repo.
Just not a priority in anyway right now. Just kinda an annoyance.

Should we standardize queries to this in v0.6

That’ll happen as we bring the queries across to sdkCommonGQL, I’m not too
stressed about the GQL naming anyway, with the Deloitte driver we can even
use anonymous queries so this shouldn’t be a problem
On Wed, Apr 19, 2023 at 1:32 AM Johannes Terblanche <
@.***> wrote:

Should we standardize queries to this in v0.6
—
Reply to this email directly, view it on GitHub
https://github.com/NavAbility/NavAbilitySDK.jl/issues/34#issuecomment-1514199872,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABUJO2YKB2IHHCXNA6LZW43XB6BGNANCNFSM5K6TEULQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Closing because we will use common GQL


Portrait/full page image styling

I found out a problem in ADE with the code for portrait image styling when using ePub3 instead of ePub2. From what I understood, softwares either use vh or %. ADE with ePub2 uses % but vh with ePub3, but it doesn’t support @supports....! So this results in images not being displayed correctly in ADE when using ePub3. The solution is to use vh straight away, without apply it through @supports, but then it won’t be displayed correctly in the softwares not supporting vh.
The ADE display problem is something that can’t be ignored for my company, so I did a LOT of tests and came up with a code that seems to perfectly solve the problem, AND also makes us able to make an image full page, ratio preserved, beautifully centered in the page. I tested my code on ADE on Windows 10, iBooks on iPad, and on Android, Bluefire, Google Books and Gitden Reader.
I would love if you guys can test it and see if really it is as good as I’m thinking, and if so, for it to be implemented in the Blitz framework maybe?
Full page images (the height="98%" is for Bluefire, else it creates a blank page before the image):

    <svg style="height: 100vh; width: 100vh" xmlns="http://www.w3.org/2000/svg" height="98%" preserveAspectRatio="xMidYMid meet" version="1.1" width="100%" xmlns:xlink="http://www.w3.org/1999/xlink"><image height="100%" width="100%" xlink:href="../Images/C1.jpg"/></svg>

Image with caption:

    <svg style="height: 70vh; width: 100vh" xmlns="http://www.w3.org/2000/svg" height="70%" preserveAspectRatio="xMidYMid meet" version="1.1" width="100%" xmlns:xlink="http://www.w3.org/1999/xlink"><image height="100%" width="100%" xlink:href="../Images/C1.jpg"/></svg>

Given the Blitz project is under an “End of Life process”, this issue has been frozen, labeled documentation and wontfix, and won’t be addressed any further. Please check #66 for more details.


4.0 rewritten info cog

I redesigned previous crap info cog:

admins/mods have an option of modifying embeds with commands
configs saved in .json files
fixes #88

(yes we need another library because of discord emojis :despair:)

Seems fine, i guess


Empty state for project list

How should i do this @srkirkland code wise, is there a place where I can add html for an emptystate

In here:
https://github.com/ucdavis/Harvest/blob/main/Harvest.Web/ClientApp/src/Projects/ProjectListContainer.tsx#L43
maybe do something like
      {projects.length > 0 ? (        <ProjectTable projects={projects}></ProjectTable>) : (
Nothing to see
)}

Assigning to @wongband.  Just add an empty state with a nice bootstrap info alert saying something like No projects found


chore: bdd-nh-1585910218 to 0.0.1

chore: Promote bdd-nh-1585910218 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


[Bug]: Crash on open Sanoma 14.5

What happened?
Installed the latest version of Vibe. App crashes on open
Steps to reproduce
Install latest version of app.
What OS are you seeing the problem on?
MacOS
Relevant log output
-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               vibe [81960]
Path:                  /Applications/vibe.app/Contents/MacOS/vibe
Identifier:            github.com.thewh1teagle.vibe
Version:               2.0.0 (20240601.012217)
Code Type:             X86-64 (Native)
Parent Process:        launchd [1]
User ID:               501

Date/Time:             2024-06-04 15:58:37.3274 +0100
OS Version:            macOS 14.5 (23F79)
Report Version:        12
Bridge OS Version:     8.5 (21P5077)
Anonymous UUID:        9A7D8C04-4383-4CD7-8D57-70DC3BE97CF5

Time Awake Since Boot: 1100000 seconds

System Integrity Protection: enabled

Crashed Thread:        0

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000

Termination Reason:    Namespace DYLD, Code 1 Library missing
Library not loaded: @rpath/libavcodec.60.dylib
Referenced from: <03A57C5A-8E06-35FC-AE1D-FAB21AF79574> /Applications/vibe.app/Contents/MacOS/vibe
Reason: tried: '/Applications/vibe.app/Contents/Frameworks/libavcodec.60.dylib' (code signature in <B25268D1-9725-3412-B1ED-8860C81B0A41> '/Applications/vibe.app/Contents/Frameworks/libavcodec.60.dylib' not valid for use in process: mapping process and mapped file (non-platform) have different Team IDs), '/Applications/vibe.app/Contents/Frameworks/libavcodec.60.dylib' (code signature in <B25268D1-9725-3412-B1ED-8860C81B0A41> '/Applications/vibe.app/Contents/Frameworks/libavcodec.60.dylib' not valid for use in process: mapping process and mapped file (non-platform) have different Team IDs)
(terminated at launch; ignore backtrace)

Thread 0 Crashed:
0   dyld                          	    0x7ff81460ab3e __abort_with_payload + 10
1   dyld                          	    0x7ff814623bb7 abort_with_payload_wrapper_internal + 82
2   dyld                          	    0x7ff814623be9 abort_with_payload + 9
3   dyld                          	    0x7ff8145b02e5 dyld4::halt(char const*, dyld4::StructuredError const*) + 335
4   dyld                          	    0x7ff8145ad4e2 dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*) + 4099
5   dyld                          	    0x7ff8145ac2ff start + 1839

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000002000209  rbx: 0x0000000000000001  rcx: 0x00007ff7bda6c508  rdx: 0x00007ff7bda6c970
  rdi: 0x0000000000000006  rsi: 0x0000000000000001  rbp: 0x00007ff7bda6c550  rsp: 0x00007ff7bda6c508
   r8: 0x00007ff7bda6c570   r9: 0x0000000000000000  r10: 0x000000000000005a  r11: 0x0000000000000246
  r12: 0x0000000000000000  r13: 0x00007ff7bda6c970  r14: 0x0000000000000006  r15: 0x000000000000005a
  rip: 0x00007ff81460ab3e  rfl: 0x0000000000000246  cr2: 0x0000000000000000

Logical CPU:     0
Error Code:      0x02000209
Trap Number:     133

Binary Images:
       0x102492000 -        0x103379fff github.com.thewh1teagle.vibe (2.0.0) <03a57c5a-8e06-35fc-ae1d-fab21af79574> /Applications/vibe.app/Contents/MacOS/vibe
    0x7ff8145a6000 -     0x7ff814636b9f dyld (*) <baa6f02e-dff3-3562-8c99-ea2820c91ad9> /usr/lib/dyld
               0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=200.9M resident=0K(0%) swapped_out_or_unallocated=200.9M(100%)
Writable regions: Total=13.1M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=13.1M(100%)

                                VIRTUAL   REGION
REGION TYPE                        SIZE    COUNT (non-coalesced)
===========                     =======  =======
STACK GUARD                       56.0M        1
Stack                             8192K        1
VM_ALLOCATE                          4K        1
__DATA                            1867K        3
__DATA_CONST                        22K        1
__DATA_DIRTY                         7K        1
__LINKEDIT                       185.5M        3
__TEXT                            15.5M        2
dyld private memory               4360K        4
shared memory                        8K        2
===========                     =======  =======
TOTAL                            271.0M       19

-----------
Full Report
-----------

{"app_name":"vibe","timestamp":"2024-06-04 15:58:37.00 +0100","app_version":"2.0.0","slice_uuid":"03a57c5a-8e06-35fc-ae1d-fab21af79574","build_version":"20240601.012217","platform":1,"bundleID":"github.com.thewh1teagle.vibe","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 14.5 (23F79)","roots_installed":0,"name":"vibe","incident_id":"3F5DA391-03FE-4437-86CB-DC05FF8B1B53"}
{
  "uptime" : 1100000,
  "procRole" : "Default",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "MacBookPro16,1",
  "coalitionID" : 96724,
  "osVersion" : {
    "train" : "macOS 14.5",
    "build" : "23F79",
    "releaseType" : "User"
  },
  "captureTime" : "2024-06-04 15:58:37.3274 +0100",
  "codeSigningMonitor" : 0,
  "incident" : "3F5DA391-03FE-4437-86CB-DC05FF8B1B53",
  "pid" : 81960,
  "cpuType" : "X86-64",
  "roots_installed" : 0,
  "bug_type" : "309",
  "procLaunch" : "2024-06-04 15:58:37.2968 +0100",
  "procStartAbsTime" :<PHONE_NUMBER>323636,
  "procExitAbsTime" :<PHONE_NUMBER>507112,
  "procName" : "vibe",
  "procPath" : "\/Applications\/vibe.app\/Contents\/MacOS\/vibe",
  "bundleInfo" : {"CFBundleShortVersionString":"2.0.0","CFBundleVersion":"20240601.012217","CFBundleIdentifier":"github.com.thewh1teagle.vibe"},
  "storeInfo" : {"deviceIdentifierForVendor":"56005922-4246-5772-A21D-56E4D85B256C","thirdParty":true},
  "parentProc" : "launchd",
  "parentPid" : 1,
  "coalitionName" : "github.com.thewh1teagle.vibe",
  "crashReporterKey" : "9A7D8C04-4383-4CD7-8D57-70DC3BE97CF5",
  "codeSigningID" : "github.com.thewh1teagle.vibe",
  "codeSigningTeamID" : "",
  "codeSigningFlags" : 570503953,
  "codeSigningValidationCategory" : 10,
  "codeSigningTrustLevel" :<PHONE_NUMBER>,
  "bridgeVersion" : {"build":"21P5077","train":"8.5"},
  "sip" : "enabled",
  "exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"},
  "termination" : {"code":1,"flags":518,"namespace":"DYLD","indicator":"Library missing","details":["(terminated at launch; ignore backtrace)"],"reasons":["Library not loaded: @rpath\/libavcodec.60.dylib","Referenced from: <03A57C5A-8E06-35FC-AE1D-FAB21AF79574> \/Applications\/vibe.app\/Contents\/MacOS\/vibe","Reason: tried: '\/Applications\/vibe.app\/Contents\/Frameworks\/libavcodec.60.dylib' (code signature in <B25268D1-9725-3412-B1ED-8860C81B0A41> '\/Applications\/vibe.app\/Contents\/Frameworks\/libavcodec.60.dylib' not valid for use in process: mapping process and mapped file (non-platform) have different Team IDs), '\/Applications\/vibe.app\/Contents\/Frameworks\/libavcodec.60.dylib' (code signature in <B25268D1-9725-3412-B1ED-8860C81B0A41> '\/Applications\/vibe.app\/Contents\/Frameworks\/libavcodec.60.dylib' not valid for use in process: mapping process and mapped file (non-platform) have different Team IDs)"]},
  "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
  "faultingThread" : 0,
  "threads" : [{"triggered":true,"id":218748888,"threadState":{"r13":{"value":140702015474032},"rax":{"value":33554953},"rflags":{"value":582},"cpu":{"value":0},"r14":{"value":6},"rsi":{"value":1},"r8":{"value":140702015473008},"cr2":{"value":0},"rdx":{"value":140702015474032},"r10":{"value":90},"r9":{"value":0},"r15":{"value":90},"rbx":{"value":1},"trap":{"value":133},"err":{"value":33554953},"r11":{"value":582},"rip":{"value":140703470496574,"matchesCrashFrame":1},"rbp":{"value":140702015472976},"rsp":{"value":140702015472904},"r12":{"value":0},"rcx":{"value":140702015472904},"flavor":"x86_THREAD_STATE","rdi":{"value":6}},"frames":[{"imageOffset":412478,"symbol":"__abort_with_payload","symbolLocation":10,"imageIndex":1},{"imageOffset":514999,"symbol":"abort_with_payload_wrapper_internal","symbolLocation":82,"imageIndex":1},{"imageOffset":515049,"symbol":"abort_with_payload","symbolLocation":9,"imageIndex":1},{"imageOffset":41701,"symbol":"dyld4::halt(char const*, dyld4::StructuredError const*)","symbolLocation":335,"imageIndex":1},{"imageOffset":29922,"symbol":"dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*)","symbolLocation":4099,"imageIndex":1},{"imageOffset":25343,"symbol":"start","symbolLocation":1839,"imageIndex":1}]}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" :<PHONE_NUMBER>,
    "CFBundleShortVersionString" : "2.0.0",
    "CFBundleIdentifier" : "github.com.thewh1teagle.vibe",
    "size" : 15630336,
    "uuid" : "03a57c5a-8e06-35fc-ae1d-fab21af79574",
    "path" : "\/Applications\/vibe.app\/Contents\/MacOS\/vibe",
    "name" : "vibe",
    "CFBundleVersion" : "20240601.012217"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" :<PHONE_NUMBER>84096,
    "size" : 592800,
    "uuid" : "baa6f02e-dff3-3562-8c99-ea2820c91ad9",
    "path" : "\/usr\/lib\/dyld",
    "name" : "dyld"
  },
  {
    "size" : 0,
    "source" : "A",
    "base" : 0,
    "uuid" : "00000000-0000-0000-0000-000000000000"
  }
],
  "sharedCache" : {
  "base" :<PHONE_NUMBER>87776,
  "size" :<PHONE_NUMBER>6,
  "uuid" : "b48cfc6b-b7ed-3343-97fb-f5187dc04df8"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=200.9M resident=0K(0%) swapped_out_or_unallocated=200.9M(100%)\nWritable regions: Total=13.1M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=13.1M(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nSTACK GUARD                       56.0M        1 \nStack                             8192K        1 \nVM_ALLOCATE                          4K        1 \n__DATA                            1867K        3 \n__DATA_CONST                        22K        1 \n__DATA_DIRTY                         7K        1 \n__LINKEDIT                       185.5M        3 \n__TEXT                            15.5M        2 \ndyld private memory               4360K        4 \nshared memory                        8K        2 \n===========                     =======  ======= \nTOTAL                            271.0M       19 \n",
  "legacyInfo" : {
  "threadTriggered" : {

  }
},
  "logWritingSignature" : "f29e8ae510a8e1857649e80a22b7393dc2343d1e",
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "60da5e84ab0ca017dace9abf",
      "factorPackIds" : {

      },
      "deploymentId" : 240000008
    },
    {
      "rolloutId" : "6410af69ed1e1e7ab93ed169",
      "factorPackIds" : {

      },
      "deploymentId" : 240000011
    }
  ],
  "experiments" : [
    {
      "treatmentId" : "5d85d104-adc7-4ebf-8b7c-96d84fdad9cc",
      "experimentId" : "6384d56b96e8d228551ec182",
      "deploymentId" : 400000023
    },
    {
      "treatmentId" : "26a5fac3-0741-4a12-8ea3-e291e742432a",
      "experimentId" : "65c16ae095b5e23d93cdd97c",
      "deploymentId" : 400000006
    }
  ]
}
}

Model: MacBookPro16,1, BootROM 2<IP_ADDRESS>.0 (iBridge: 21.16.5077.0.0,0), 8 processors, 8-Core Intel Core i9, 2.4 GHz, 64 GB, SMC
Graphics: Intel UHD Graphics 630, Intel UHD Graphics 630, Built-In
Graphics: AMD Radeon Pro 5500M, AMD Radeon Pro 5500M, PCIe, 4 GB
Display: BenQ EW3270U, 3840 x 2160 (2160p/4K UHD 1 - Ultra High Definition), Main, MirrorOff, Online
Memory Module: BANK 0/ChannelA-DIMM0, 32 GB, DDR4, 2667 MHz, Micron, MT40A4G8BAF-062E:B
Memory Module: BANK 2/ChannelB-DIMM0, 32 GB, DDR4, 2667 MHz, Micron, MT40A4G8BAF-062E:B
AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x7BF), wl0: Jul 10 2023 12:53:18 version 9.30.5<IP_ADDRESS>.92 FWID 01-c06f991b
AirPort:
....

Thanks for reporting!
Looks like it happens on Intel CPU, are you sure you have intel CPU?
Also, if you're sure you have Intel CPU, can you double check that you downloaded the right dmg?
It should be from releases/download/v2.0.1/vibe_2.0.1_x64.dmg
If both are true, try to execute the following:

open launchpad, search for Terminal and open
Execute:

/Applications/vibe.app/Contents/MacOS/vibe

If not special output and it doesn't work, try again with:
codesign --force --deep -s "-" /Applications/vibe.app
/Applications/vibe.app/Contents/MacOS/vibe

Great!
Also found another issue that it shows error dialog of "cpu is old" so I fixed it too.
Fixed both and released new version :)


Re-enable governance param change proposals

In the refactoring efforts for #3084/#3085 it was simpler to disable the ability to submit param change proposals for now, since splitting apart the configurable parameters per-component introduces more complexity.
These should be re-enabled after the refactoring work is complete. This will require redesigning the proposal storage and proposal RPCs in the governance component.

[ ] grep the codebase for references to 3107 and ensure all functionality is re-added
[ ] split the param change validation per-component crates/core/app/src/params/change.rs

Optimistic about completion for Testnet 63.

We have a CI regression since merge of #3212: https://github.com/penumbra-zone/penumbra/actions/runs/6566057359/job/17835924660 it's flagging allegedly unused protos.


installing @kusto/monaco-editor via npm not working

Description
When trying to install the @kusto/monaco-editor via npm, it is unable to find that package in the registry
Output from running NPM:
0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   '/usr/local/bin/node',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   'install',
1 verbose cli   '@kusto/monaco-editor'
1 verbose cli ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose npm-session b5dc8eef4439a02e
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 http fetch GET 404 https://registry.npmjs.org/@kusto%2Fmonaco-editor 803ms
8 http fetch GET 404 https://registry.npmjs.org/@kusto%2Fmonaco-editor 196ms
9 silly fetchPackageMetaData error for @kusto/monaco-editor@latest 404 Not Found - GET https://registry.npmjs.org/@kusto%2Fmonaco-editor - Not found
10 timing stage:rollbackFailedOptional Completed in 1ms
11 timing stage:runTopLevelLifecycles Completed in 4775ms
12 verbose stack Error: 404 Not Found - GET https://registry.npmjs.org/@kusto%2Fmonaco-editor - Not found
12 verbose stack     at /usr/local/lib/node_modules/npm/node_modules/npm-registry-fetch/check-response.js:117:15
12 verbose stack     at processTicksAndRejections (internal/process/task_queues.js:95:5)
13 verbose statusCode 404
14 verbose pkgid @kusto/monaco-editor@latest
15 verbose cwd /workspaces/clarity-internal
16 verbose Linux 5.15.49-linuxkit
17 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "@kusto/monaco-editor"
18 verbose node v14.21.3
19 verbose npm  v6.14.18
20 error code E404
21 error 404 Not Found - GET https://registry.npmjs.org/@kusto%2Fmonaco-editor - Not found
22 error 404
23 error 404 '@kusto/monaco-editor@latest' is not in the npm registry.
24 error 404 You should bug the author to publish it (or use the name yourself!)
25 error 404 Note that you can also install from a
26 error 404 tarball, folder, http url, or git url.
27 verbose exit [ 1, true ]

It looks like you tried to install @kusto/monaco-editor, we're publishing @kusto/monaco-kusto


Import vCenter cluster as host needs to check existing OpenNebula clusters

Description
If a vCenter cluster is imported as a host, and then deleted, an OpenNebula cluster remains. Upon reimporting, an error is given.
To Reproduce
Import a vCenter cluster, delete it, try to reimport again
Expected behavior
OpenNebula cluster to be reused, not exception given
Details

Affected Component: Import mechanism
Hypervisor: vCenter
Version: development

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

[x] Branch created
[x] Code committed to development branch

one: #3317 into 5.8 and master
docs:  OpenNebula/docs#629
development: OpenNebula/development#630

LGTM 👍

Reverting changes. It's better not to change the semantics of the create cluster function, since we are losing the ability to identify duplicate name creation and state an appropiate error.
Checking should be done in the JS side.
Also, refactoring onevcenter CLI importing function


ZipPackage _containerStream isn't closed when a exception is thrown in the ZipArchive constructor

If an exception is thrown in the ZipArchive constructor inside of ZipPackage(string path, FileMode packageFileMode, FileAccess packageFileAccess, FileShare share), which can happen if the specified file is not a archive or the disk is completely out of space, the _containerStream isn't disposed.
I was able to fix it by adding the call _containerStream.Dispose(); in the following catch block.

I reviewed the code and believe that it's appropriate to replace zipArchive.Dispose() call with Dispose(true); as it will handle other cleanups too. Hope that's fine.
I'll work on check-in the code.

We have addressed this issue in #112 which removed our custom System.IO.Packaging. If you still any issue with System.IO.Packaging, please open an issue at following link: https://github.com/dotnet/corefx


Use hostnames instead of IP in inventory

This will help show hosts as hostnames instead of IP addresses in Ansible console. Good to understand the log messages related to specific nodes.
Fixes #163
Signed-off-by: Yussuf Shaikh<EMAIL_ADDRESS>

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: yussufsh
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [yussufsh]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/cc @bpradipt @sudeeshjohn @mkumatag

@yussufsh can you pls create an issue and add it to the commit text ?

@yussufsh can you pls create an issue and add it to the commit text ?

Done

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: bpradipt, yussufsh
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [bpradipt,yussufsh]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/cc @sudeeshjohn @mkumatag

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: bpradipt, mkumatag, yussufsh
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [bpradipt,yussufsh]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/unhold


Curriculum Review: Day1 Matplotlib & astropy

Prior Knowledge

Working knowledge on NumPy array is needed but this is already covered in the previous module.
Need to check if astropy and orbitize are already installed prior to the activities.

Content

In the first snippet, the figure object link that redirects to matplotlib documentation isn't working. Needs to be modified. Here's the working link.
In the second snippet, we should explain how plt.errorbar is different from plt.plot. Also, explain the markers and linestyle used.
In the subplots section, we can fill the remaining subplots with different styles and colours to make it prettier.
We can also add one snippet that plots both arrays in one plot and add labels and use plt.legend for displaying the legend.

Learning Goals
The whole module covers both matplotlib and astropy pretty well. The activities are all really good especially the astropy ones. Hope we get to see some really nice plots from the teams 😄

Thanks for the very helpful suggestions @pranav-satheesh! Here's how I addressed them:

fixed the link
added more descriptive comments in first snippet
I think I'm going to keep the 4-panel subplot somewhat empty, since I want to make it easy(er) to recognize which commands are acting on which panels. I did change the colors in the 2-panel subplots to make them a bit prettier though-- let me know what you think!
added an example to the 4-panel figure of using legend() and plotting two different arrays on the same plot

Addressed in PR #75 -- feel free to open if anything wasn't satisfactorily addressed!


Opening nerdtree with :NERDTree shows Press ENTER or type command to continue after opening it

Environment

Operating System: Linux
Vim/Neovim version :version: neovim 0.8.1
NERDTree version, found on first line of quickhelp ?: 6.10.16
Are you using any of these NERDTree-dependent plugins? no

Steps to Reproduce the Issue

run :NERDTree

Current Behavior (Include screenshots where appropriate.)
A Press ENTER or type command to continue message appears, and NERDTree opens only after hitting ENTER

Expected Result
NERDTree opens immediately. This used to work until about a month or two ago, but seems the behavior changed. Commenting out the following line fixes the issue https://github.com/preservim/nerdtree/blob/master/autoload/nerdtree.vim#L221
Maybe I'm misunderstanding the purpose of this call, but shouldn't it rather be
function! nerdtree#echo(msg) abort
    redraw
    if !empty(a:msg)
        echomsg 'NERDTree: ' . a:msg
    endif
endfunction

to avoid echoing an empty message when there's nothing to show?

I can't say for sure but I think with the change you propose the behaviour of that function would change. Afaict right now it echoes as empty message if the argument is an empty message, and other prepends "NERDtree: " to the argument and then echoes it. With your change it would only do the latter and simply do nothing when the argument is empty.
Anyway, for me calling :NERDtree works as expected. I am also using neovim v0.8.1 and NERDtree 6.10.16. Did you try with all other plugins disable? e.g. with neovim -u testrc where testrc is a file that only loads NERDtree.

Not sure if that's what the author is experiencing, but I've been getting similar problems when set cmdheight=0 or lua vim.o.ch=0 is set in vimrc

This problem isn't specific to NERDTree and is unreproducible there is most likely another issue in your configuration, I'm going to close this issue since it's been a while since the last comment here feel free to reopen it with a minimal Vim/Neovim configuration that can reproduce this issue.


Would like to Request CAS Authentication

Would like to request CAS as an SSO Authentication option for Bookstack.
Higher Education primarily uses CAS or Shibboleth for SSO Authentication.
Your product is an awesome tool!

Thanks for your request @jblankenship30, and apologies for my late response.
To be totally open, I would really prefer not to extend to extra auth protocols unless found critical by a large group of users, which CAS really is not since this is the only request so far.
Since you opened this issue we have added SAML2 in a recent release:

Blog Post
Docs Page

I see a lot of CAS-Support auth systems support SAML2, as does modern versions of Shibboleth. Does that suit your need?

Yes, now that bookstack supports SAML2, my needs are met.
Thanks for a great product!
[https://banapp.tulsacc.edu/i/tccemailsig2.jpg]https://www.tulsacc.edu/
Jason Blankenship
Lead Oracle Database Administrator, Tulsa Community College
{o}<PHONE_NUMBER> | {c}<PHONE_NUMBER> | {w} www.tulsacc.edu
{a} 909 South Boston Ave | Tulsa, OK 74119
From: Dan Brown<EMAIL_ADDRESS>Sent: Wednesday, April 1, 2020 4:30 PM
To: BookStackApp/BookStack<EMAIL_ADDRESS>Cc: Jason Blankenship<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [BookStackApp/BookStack] Would like to Request CAS Authentication (#1640)
Thanks for your request @jblankenship30https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fjblankenship30&data=02|01|jason.blankenship%40tulsacc.edu|4c56d80c7e3b4df06e5f08d7d683c88d|eb5d9dc493c645578c2390ef7fa05b96|0|0|637213733826535659&sdata=GDkufilyzjs6fQeaR%2FMAXqqeeaDHj%2F6Cf3ClHTgygjA%3D&reserved=0, and apologies for my late response.
To be totally open, I would really prefer not to extend to extra auth protocols unless found critical by a large group of users, which CAS really is not since this is the only request so far.
Since you opened this issue we have added SAML2 in a recent release:

Blog Posthttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.bookstackapp.com%2Fblog%2Fbeta-release-v0-28-0%2F%23saml2-authentication&data=02|01|jason.blankenship%40tulsacc.edu|4c56d80c7e3b4df06e5f08d7d683c88d|eb5d9dc493c645578c2390ef7fa05b96|0|0|637213733826535659&sdata=DbRZvbMNKINavm78%2BI4AEATFeSpKXVHvIjeTyzJbLTo%3D&reserved=0
Docs Pagehttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.bookstackapp.com%2Fdocs%2Fadmin%2Fsaml2-auth%2F&data=02|01|jason.blankenship%40tulsacc.edu|4c56d80c7e3b4df06e5f08d7d683c88d|eb5d9dc493c645578c2390ef7fa05b96|0|0|637213733826545653&sdata=oKQ8mY%2FVu1RW%2BQHV0UqvDI7CUvSsdyp9jFhR3bjCQkk%3D&reserved=0

I see a lot of CAS-Support auth systems support SAML2, as does modern versions of Shibboleth. Does that suit your need?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FBookStackApp%2FBookStack%2Fissues%2F1640%23issuecomment-607499324&data=02|01|jason.blankenship%40tulsacc.edu|4c56d80c7e3b4df06e5f08d7d683c88d|eb5d9dc493c645578c2390ef7fa05b96|0|0|637213733826545653&sdata=19uXjkO9vUvW%2BPlE%2F%2B3LXem46YItv9i8IS2HoMZzySM%3D&reserved=0, or unsubscribehttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAIZRZ2Z6NAIHUUNVOWCY5JTRKOW4DANCNFSM4IUDCITA&data=02|01|jason.blankenship%40tulsacc.edu|4c56d80c7e3b4df06e5f08d7d683c88d|eb5d9dc493c645578c2390ef7fa05b96|0|0|637213733826545653&sdata=yiUnHZuouJ3qapGR2jUgH1Q9DmGA7xT%2B6i%2BDKsjy9Uk%3D&reserved=0.

@jblankenship30 Great & Thanks! I'll therefore close this off since SAML2 covers your requirement.
Note: I Updated your comment and deleted the original revision, to prevent your email address being visible on a public web-page. Looks like the GitHub email-reply system (And included office365 safelinks) can leak a person's email address pretty easily.

Thanks!


Unable to resolve action `trunk-io/trunk-action

We have been seeing this issue suddenly since yesterday
Error: Unable to resolve action<EMAIL_ADDRESS>unable to find version 0.4.0-beta
And upgrading it to  1.0.0, gives similar error
Error: Unable to resolve action<EMAIL_ADDRESS>unable to find version 1.0.0

You're missing a v<EMAIL_ADDRESS>Sorry about the backwards compat break for 0.4.0, since GH actions marketplace requires a v we deleted the non-v version.


/usr/lib/llvm-9/lib/clang/9.0.0/share/dfsan_abilist.txt is not provided

src/llvm_compile_dfsan_cpp.sh refers to dfsan_abilist.txt but it's not provided in this repo.

If you don't have LLVM 9 installed system-wide, you can find the right file in $LLVM_DIR/lib/clang/9.0.1/share/dfsan_abilist.txt


the size of latent space

In fact, in inference, a 256256 image is generated within a 1616 latent space, and then a 256*256 real image is generated through the decoder, right?"

Yes


Release v1.2.0

main

#8   👈

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @bg451 and the rest of your teammates on  Graphite


Not extracting Public Bussiness Emails through the contact Button.

It is not extracting the data that is available through the contact button (phone number, public email), it is only extracting for those accounts, which only have email address button in their profile.
kindly solve this.

Send an example of such an account (id or username) and what you expect to see


issues with private variables and AOT compiling

I am using angular2-img-cropper with ionic2, which uses AOT compilation when building for a mobile device. Here there are a few issues that can easily be solved by changing private/protected variables to public.
 [12:19:03]  Error: Error at              /Users/l/Dev/h3/.tmp/node_modules/ng2-img-cropper/src/imageCropperComponent.ngfactory.ts:99:18  [12:19:03]  Property 'cropcanvas' is private and only accessible within class 'ImageCropperComponent'.  [12:19:03]  Error at /Users/l/Dev/h3/.tmp/node_modules/ng2-img-cropper/src/imageCropperComponent.ngfactory.ts:129:45  [12:19:03]  Property 'settings' is private and only accessible within class 'ImageCropperComponent'.  [12:19:03]  Error at /Users/l/Dev/h3/.tmp/node_modules/ng2-img-cropper/src/imageCropperComponent.ngfactory.ts:139:29  [12:19:03]  Supplied parameters do not match any signature of call target.  [12:19:03]  Error at /Users/l/Dev/h3/.tmp/node_modules/ng2-img-cropper/src/imageCropperComponent.ngfactory.ts:144:29  [12:19:03]  Supplied parameters do not match any signature of call target.  [12:19:03]  Error at /Users/l/Dev/h3/.tmp/node_modules/ng2-img-cropper/src/imageCropperComponent.ngfactory.ts:154:29  [12:19:03]  Supplied parameters do not match any signature of call target.  [12:19:03]  Error at /Users/l/Dev/h3/.tmp/pages/crop-modal/crop-modal.ngfactory.ts:229:40  [12:19:03]  Property 'settings' is private and only accessible within class 'ImageCropperComponent'.  [12:19:03]  Error at /Users/l/Dev/h3/.tmp/pages/crop-modal/crop-modal.ngfactory.ts:234:40  [12:19:03]  Property 'image' is private and only accessible within class 'ImageCropperComponent'.  [12:19:03]  ngc failed  [12:19:03]  ionic-app-script task: "build"  [12:19:03]  Error: Error
See these angular2 issues for more context:
https://github.com/angular/angular/issues/11978
https://github.com/angular/angular/issues/11422

I'm getting this too

As a workaround I've added ImageCropperModule to my app imports (I'm using Ionic 2):
    imports: [         ImageCropperModule,         IonicModule.forRoot(MyApp)     ],
It wasn't an issue with Typescript 2.1, but I had to downgrade to Typescript 2.0.10 for proper AoT support in Ionic.
Loving this plugin by the way... it does everything we need!

Closing - link AOT issue was solved

Thanks for a great component!
It took me a lot of time figure out how to compile AOT (Angular 4) . Found the hint in a https://github.com/cstefanache/angular2-img-cropper/issues/95.
It might be useful to document the steps.

in appModule.ts (main module)
import {ImageCropperModule} from 'ng2-img-cropper';
add to the  imports: [ImageCropperModule] (same module)

In a user-profile.component.ts (where the initiation and logic goes)
import {ImageCropperComponent, CropperSettings, Bounds} from 'ng2-img-cropper';

and finally enjoying:)


Thanks for your contribution！But I don't know how to run it?

Can this repository run independently？Or run with Unity? How can I use it?

Hi. It's intended to be C# class library not a runnable application. I.e. it provides code which you can use in own C# applications. I considered providing a console application with it, but I doubt whether this would be of much use. The resulting voxel grids as mere ply-visualization are not really useful I think. And converting the grids to actual BIM-models of any kind is still work-in-progress.

Hi. It's intended to be C# class library not a runnable application. I.e. it provides code which you can use in own C# applications. I considered providing a console application with it, but I doubt whether this would be of much use. The resulting voxel grids as mere ply-visualization are not really useful I think. And converting the grids to actual BIM-models of any kind is still work-in-progress.

oh，I think It's maybe useful.I'am researching how to use these reconstruction in DT/MR,but the mesh's quality generated by Hololens is quite low,I've seen your mesh in artical,the mesh's quality is so good,the grid distribution is regular,so I want to learn the method.One more thing is that how to generate voxel model?Use some algorithm or some software?This probles has been bothering me for a long time.Thanks!

The meshes do not result from VoxIR but are input to it. Actually, the depicted meshes are from the HoloLens (v1). You just need to set the level-of-detail-setting for the mesh observer to fine in order to record meshes of this quality (either in a Unity app with MRTK or directly in a plain UWP C# or C++ app).
The voxel models are created by generating a voxel grid of the patametrized resolution and then just setting all voxels which intersect a triangle of the mesh to not-empty. The not-empty voxels are further classified according to the normal directions of the intersecting triangles. Everything else is done by a cascade of rule-based procedures in voxel space.

The meshes do not result from VoxIR but are input to it. Actually, the depicted meshes are from the HoloLens (v1). You just need to set the level-of-detail-setting for the mesh observer to fine in order to record meshes of this quality (either in a Unity app with MRTK or directly in a plain UWP C# or C++ app).
The voxel models are created by generating a voxel grid of the patametrized resolution and then just setting all voxels which intersect a triangle of the mesh to not-empty. The not-empty voxels are further classified according to the normal directions of the intersecting triangles. Everything else is done by a cascade of rule-based procedures in voxel space.

The meshes in the Figure is just created by set the level-of-detail-setting for the mesh observer?It looks good.Maybe I shoule modify some key parameters.


Tests for wskdeploy binaries

There is a similar discussion for the openwhisk CLI repo as well. Currently Travis CI is able to release the binaries automatically, but there is no tests running on top of the generated binaries. There is still risk that we generate binaries with errors.
An approach is to change our integration tests by calling the command directly based on the binaries we generate in Travis, which supports mac and Linux so far. For windows binary, we can enable AppVeyor in our repo to do the build for us. We need project admins to enable AppVeyor for openwhisk-wskdeploy, if we decide to use AppVeyor to do windows build. @mrutkows @paulcastro

AppVeyor should now be an approved 3rd party integration for all OpenWhisk repos.

The current Go impl. supports cross-compiled binary for all OS and ARCH.


Incompatibility with the next vivecraft upodate, because of internal changes

Hi, vivecraft dev here. then next vivecraft version will have some internal changes, which breaks this mixin
https://github.com/tom5454/CustomPlayerModels/blob/master/CustomPlayerModels-1.20.4/src/platform-shared/java/com/tom/cpm/mixin/compat/VRArmRendererMixin_%24vivecraft.java#L50-L65
because I renamed that method from renderItem to renderHand
am I correct in the assumption that if we directly use the getTextureLocation method to get the skin this wouldn't be needed?
if so I can change that to that.

Yes, that's correct.

okay, then I'll change the skin fetch to that. if you could make that redirect optional, so that the game doesn't break. that would be great

tom, fix it please

okay, then I'll change the skin fetch to that. if you could make that redirect optional, so that the game doesn't break. that would be great

I did that btw here https://github.com/fayer3/VivecraftMod/commit/1244e0c9061de6e86c4540bf9fa9285e1f372091
that will be in vivecraft 1.2.0


Change /config/sandbox.js structure

If application.sandbox.api is array of string we will use is as a complete list of api modules to load into application while sandbox initialization.
If application.sandbox.api is a hash contains add and/or remove keys then we use add (array of string) as a list of api modules to be added to default list and remove (array of string) to be removed from default list.
If application.sandbox.api is a hash contains map key then we use map as a hash (key:value) where value if a module name in api registry and kay is a module name in application context, it is needed for overriding or stub default api modules for debug/profiling purpose.

Not a good idea


Make it possible to move read-/write-offset from buffer components

Motivation:
Component iteration is the only way that we can access any underlying native pointers for a buffer.
We need to do this when we make native IO calls with a buffer.
If our plan was to just collect the pointers and sizes in iovecs, then there would not have been a problem.
But if we want to make our IO calls immediately, from within the iteration, then we will need a way to update the offsets.
Modification:
Add a pair of addBytesRead and addBytesWritten methods to ReadableComponent and WritableComponent, respectively.
Result:
It will now be possible to make native IO calls from within component iteration and update the buffer offsets, without using a capturing lambda.
This potentially saves some allocation overhead on every IO call.

late LGTM


Parent's "children content" outlines should only draw if all children are fully contained inside parent

I'm pretty sure this was a deliberate decision (something around showing the origin of the content?), but it looks bad, and it should go in the bin
MN reply: we wanted to show the outer bounds of all content inside a container (so you can kinda see eg where padding is), obvs assuming the container is well-behaved and the outer container bounds are visually larger or equal to the dimensions of its contents.

[ ] Investigate if that's actually what's going on here (why are there things inside of body that are not inside it? maybe the cart? or scrollable content?)
[ ] If that's indeed the issue:

[ ] only show those bounds if ALL (not! ANY) EDGES are inside the parent or match its edges, and AT LEAST ONE is further inside it. This will avoid distraction
[ ] if easy to do, ignore zero-sized elements from this calculation (this might be the issue with the first screenshot)

Selecting body:

Selecting Column:

@Rheeseyb I edited the description, can you fact-check pls?


docs(page-objects.md): Refactor the existing Page Object example

As presented, simply following the example will not run. This presents the Page Object example as a runnable set of spec + Page Object. See #4570
Open possibilities for future work include: carry the initial introduction over into a Page Object. Introduce world, etc.

I signed it

How do you restart a build? looks like a timeout. Are there "tests" needed for this content?

The travis error looks false, a process timeout. Can someone evaluate?

tests have been rerun and passed.


Add QATzip compressor fuzzing test

Signed-off-by: Changran Wang<EMAIL_ADDRESS>Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

just waiting for the CI build finished


Global logging configuration

Docker supports a variety of logging drivers, such as json-file, awslogs, and fluentd. Some of them, like awslogs or fluentd,  can push logs directly to a external service. In our case, we would like to be able to send all container logs directly to AWS CloudWatch with awslogs driver. After configuring an instance profile on AWS with the necessary permissions, it is as simple as passing --log-driver awslogs --log-opt awslogs-region=<region> --log-opt awslogs-group=<cloudwatch log group> to the docker run command.
As MRSK currently always passes --log-opt max-size=MAX_LOG_SIZE to docker run commands, defining the logging options mentioned above in the options of the role does not work (MRSK supports passing options to the docker run command via role options: in the config file) with the following error: docker stderr: docker: Error response from daemon: unknown log opt 'max-size' for awslogs log driver.
I thought about just removing the default max-size log option which would make passing options via role work. But being able to control logging behaviour globally might be even better, as we can push logs of Traefik and accessories to the desired backend as well.
This PR adds a global configuration block called logging: that passes the configured log options to all running containers.
Example:
logging:
  driver: "awslogs"
  options:
    awslogs-region: "eu-central-2"
    awslogs-group: "my-app"
    # On CloudWatch, this results in a log stream per container with the naming of `<image-name>-<container-id>`:
    tag: '{{ with split .ImageName ":" }}{{join . "_"}}{{end}}-{{.ID}}'

This PR would also change the currently defined default log size of 10M (the Docker default is 100M). To get this behaviour back, the following config would need to be used:
logging:
  driver: "json-file" # optional (default)
  options:
    max-size: "10M"

Updated it to always use max-size=10m as default like before.


Differentiate whether I am writing in markdown or normal in Thunderbird 60.4

There are no visible indicators telling the user when I am typing in Markdown or in normal mode and i often keep toggling to remind myself which mode I am in. Consider:
1.Supporting different font types for visual indicator
2.Changing markdown-here logo in toolbar when composing email

I agree that Markdown editing should be a state or mode which is visually indicated to the user. As it is, it seems like Markdown Here doesn't store a state. Instead, it just detects if the email looks like Markdown and performs conversions back and forth based on this detection.
I'd suggest comparing with ThunderHTMLEdit, which adds an HTML editor. It uses tabs to switch between HTML source and visual editors, like this:

I'd probably prefer a dropdown menu in the toolbar instead tabs, but either one provides a visual indicator of state.


{Core} Remove azext_ai_did_you_mean_this from ALWAYS_LOADED_EXTENSIONS

Description
Remove azext_ai_did_you_mean_this from ALWAYS_LOADED_EXTENSIONS as it has been retired (https://github.com/Azure/azure-cli-extensions/pull/2402).

@christopher-o-toole for awareness

@mirdaki


Have you tried to support Bionic LibC? Developed by Google, should be compatible with GlibC and Musl, its great for systems with limited RAM and its very optimized...

Also... https://github.com/openbsd/src/tree/master/lib/libc
Google's Bionic LibC itself is based out of OpenBSD's implementation.
For a truly POSIX, secure, implementation

Thanks, I'll check it out. Main thing is full compatibility with glibc.

I see. But will you start using non-standard features?
Most programs compiled with GlibC can't run on system's based on standards compliant libs but it does work the other way around.

I don't intend to use non-standard features, but glibc leaks its internals out in the programs compiled using it, which results in the issue you described whether I use non-standard features or not. It is that or lack support for a large amount of software, drivers, etc.
It's not an easy problem to deal with -- either it's glibc, and all the associated problems, or lack support for virtually all pre-compiled software, including some free software that is only really supported with glibc, such as openJDK.

Maybe with gcompat? I have Void and Gcompat installed, I can game on my distro just fine, and not using Wine! But yeah, things like AppImages often fail. I suggest you use Void's repo as an starting point, maybe even adopt their package manager, its Unix like, its blazing fast and it runs on various OSes like Alpine.
Remember, its your project, what matters is that you like what you do. Still, I'm thrilled you are working on this, can't wait for a release, I've been looking for an OS that has the things I love of BSD, and the compatibility Linux offers!


[0.5pt] Add footer - group task

Create footer according to the wireframe:

Done By @OscarFMdev ✅


Prevent rendering queue into view when using wrong syntax

Return nil from append_* helpers so it does not matter whether one
uses <%= … %> or <% … %> ERB syntax.
Fixes #119

@tomdracz Done and thank you for taking time.