Modular DI

Hi, I want to isolate the dependency injection between modules, which means that we can have an interface sharing across modules and each module has it own implementation. Do you have any idea ?
For example I have Catalog module which use IRepository and a MongoDbRepository class for using mongo db.
Another module called Order Module also use IRepository and a EfCoreRepositoryClass for using ef core.
I would like to ask you that how can I inject or can I isolate DI for each Module ?

Hi,
This is exactly what I did in this project and each module has its own dependency container.
You can take a look to my code.

Hi, This is exactly what I did in this project and each module has its own dependency container. You can take a look to my code.

Thank you for your response. I just check out the code and it works amazing.
I just tried a fews sample projects and haven't found any one but this.
Thanks again =))

Looks like it just works with minimal api using gateway, I have tried to use module controllers by adding AddApplicationPart and inject a service using [FromService] in the controller, but it still be the main implementation instead of module service.
I'm not sure if it will work if I get a service from HttpContext.
Do you have any idea or I miss something ?


New Zealand: Gaspy

https://www.gaspy.nz/stats.html

This package uses Firebase as its backend. Need to query the FB DB manually to see what it returns:
  <string name="firebase_database_url">https://gaspy-3baaf.firebaseio.com</string>
    <string name="flutter_shared_pref_name">nz.hwem.gaspy.shared_prefs</string>
    <string name="gcm_defaultSenderId">33245455747</string>
    <string name="google_api_key">AIzaSyAg6eV7YrN1zJDQ1dwc67-bIS7VLds1Dxk</string>
    <string name="google_app_id">1:33245455747:android:b53def0d9b905e7b</string>
    <string name="google_crash_reporting_api_key">AIzaSyAg6eV7YrN1zJDQ1dwc67-bIS7VLds1Dxk</string>
    <string name="google_storage_bucket">gaspy-3baaf.appspot.com</string>

Any update on this? Any plans for support for New Zealand? Thanks

Added petrolspy in 2.6.2 for now. Will be added to the HA integration in next release.


fetch api

I've created a fetch api file in the utils folder. We should leave the ajax.js file as is and introduce a new fetch.js file to support the fetch api. Currently it creates a blob and returns a blob. If needed I can add an option to specify what type it should return being blob or arraybuffer.
The function is called dofetch to avoid conflicts with browser default fetch and will check if Fetch API is supported by self.fetch.
todo:

[x] create utils fetch.js file
[ ] edit wavesurfer.js file to include support for dofetch function alongside ajax
[ ] check if any other files that need to be updated for Fetch API to work
[ ] add custom return type to support arraybuffer?

The values that can be added to the options will be as follows:
{
            method: "GET"),
            requestHeaders: [{
  	      header: {
                 "Content-Type":"application/json"
              }
            }]
            mode: "cors",
            credentials: "same-origin",
            cache: "default"
}

#1365 #1100 @katspaugh

@entonbiba any updates on this? would be nice to get this into v3.0.0. I don't think we need a lot/any backward compat for fetch to be honest.

Btw, fetch doesn't throw for error codes like 40x and 50x. One needs to explicitly check for it.
An example (in TypeScript):
export async function fetchJson(url: string, params?: any): Promise<IJson> {
  const resp = await fetch(url, params) as Response;
  if (resp.status >= 400) {
    const text = await resp.text();
    throw Error(text);
  }
  return resp.json();
}

@entonbiba I completed the implementation, can you take a look? This is the last thing before 3.0.0 can be released IMO.

Looks good. I added a couple of nitpicks, but nothing that's actually a problem 👍


Patch gatsby-remark-shiki-twoslash to add in tabindex

Modern shiki does this automatically, but we're using an old version without it. Patch it in for now until we can wholesale upgrade

This fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2201000, tested it! 🎉


[CT-646] [Proposal] Streamline Incremental Strategies

When defining an incremental model, there are several incremental strategies that could be used to execute the incremental model, (namely: "append," "delete+insert," "merge," and "insert_overwrite.") but not all of them are supported by every warehouse. Working with these incremental strategies as an adapter maintainer and as an advanced user is difficult. This ticket aims to improve the experience for both of these groups of people.
Functional Requirements

Adapter maintainers need to be able to specify which incremental strategies are supported by the warehouse and be able to supply the correct sql statement to execute if the default is not sufficient.
Advanced users that wish to specify a custom incremental strategy must be able to do so.

Behavior Today

To specify which incremental strategies are supported by the warehouse, the adapter maintainer must write a macro that returns a list of strings that name the supported strategies, and include the jinja macro adapter__get_merge_sql that takes a fixed set of parameters and returns the materialization sql. This macro is often copy-pasted from core, and is error prone when editing.
Advanced dbt users who wish to specify a custom incremental strategy must override the same boiler plate jinja macro by copy pasting it into their dbt project.
When an unsupported incremental strategy is specified, the user is notified via an exception at during the first dbt run.

Desired Behavior

To specify which incremental strategies are supported by the warehouse, the adapter maintainer must write a macro that returns a list of strings that name the supported strategies. If the warehouse only supports a subset of the default incremental strategies and the default implementation in the global project produces sql that works on the target warehouse, no additional work needs to be done. If any of the default behavior needs to be overridden, it can be done by writing a macro that conforms to the naming convention "get_incremental_NAME_sql" where "NAME" is the string used to configure the incremental strategy (e.g. "get incremental_append_sql"). If the warehouse has an additional incremental strategy, defining a new macro using the same "get_incremental_NAME_sql" convention will make it available to users of the adapter.
Advanced dbt users who wish to specify a custom incremental strategy will only need to create a macro that conforms to the naming convention "get_incremental_NAME_sql" that produces the correct sql for the target warehouse.
When an unsupported incremental strategy is designated, raise an error to users before runtime.
Existing projects will experience no breaking changes when they upgrade to the version of dbt that includes this new behavior.

Implementation

[ ] For backwards compatibility, create new macros in core/dbt/include/global_project/macros/materializations/models/incremental that follow the naming convention for the existing incremental strategies and pass through to the existing current macros. The new macros will take a dictionary, and pass the key-value pairs explicitly to the wrapped macro call to return the sql string that executes the materialization. Concretely:

[ ] create a new macro get_incremental_append_sql(dict) that wraps get_insert_into_sql
[ ] create a new macro get_incremental_delete+insert_sql(dict) that wraps get_delete_insert_merge_sql
[ ] create a new macro get_incremental_merge_sql(dict) that wraps get_merge_sql
[ ] create a new macro get_incremental_insert_overwrite_sql(dict) that wraps get_insert_overwrite_sql
[ ] create a new macro get_incremental_default_sql(dict) that wraps get_incremental_append_sql. This is where adapters can override the default incremental strategy when append isn't appropriate.
Note: this dictionary will always pass the same key-value pairs from core. The dictionary value allows core to add new key-value pairs in the future without breaking existing adapters. It is very possible that a custom incremental strategy may require different parameters than the ones core provides. These can be added by users via context-global i.e. config.get('...').

[ ] Add incremental_strategy to NodeConfig with a default value of "default".
[ ] Create a new Python method on core/dbt/adapters/sql/imple.py::AdapterConfig called validate_incremental_strategy that takes no parameters and returns a list of strings. Adapter maintainers are expected to implement this so that the returned strings name the supported incremental strategies. This could have been a macro, but it's much easier for core to call this as a python function to validate incremental strategies in projects. (TODO what if an adapter supports a different set of incremental strategies for sql and python models? where would they indicate that?)
[ ] Write a new Python function get_incremental_strategy_macro that takes in a string and returns the macro from the context. (e.g. "insert_overwrite" -> callable get_incremental_insert_overwrite_sql). This function will call validate_incremental_strategy and throw an exception if the requested strategy is not returned from validate_incremental_strategy or if it does not exist in the context. This function will need to be called in the materialization macro for models
[] create a "functional" test for each incremental strategy in core/tests including tests for several configs for each strategy. This will allow each adapter to import the tests it needs as well as make their own as needed. (Thanks for pointing this requirement out, @dataders)

Docs
This will require a significant change to the documentation on incremental materializations.

@nathaniel-may This is really clearly stated, and I think you captured the many nuances well!

TODO name the macro

We were discussing validate_incremental_strategy, and that this may want to be an adapter (Python) method rather than a macro. It would work similar to "snapshot strategy dispatch", but we agreed the Jinja here is pretty jank.

TODO should this actually be a compile check?

I think this may get tricky with partial parsing: We'd need to recalculate any time a new incremental_strategy is defined, and any time a macro named get_incremental_X_sql is created/deleted. While it's definitely preferable to raise this error before the model's actual runtime, it would be worse to cause a buggy experience.
It's also possible that users completely override the incremental materialization—a thing we want them to need to do less of, but still—in which case, the validate_incremental_strategy macro/method may not be used at all.

TODO CONTINUE THIS LIST

Other things I recall from our conversation:

The get_incremental_X_sql macros should all have the same macro (function) signature, but they may need different sorts of arguments to be passed in. Rather than developing macro signatures of 10+ arguments, and requiring all macros to evolve their signature when any one of them does, we might use a single dictionary argument instead. The materialization would pass this dictionary into the macro, and the macro would return a string (the templated SQL to be run).
If a user defines their own custom strategy, that requires their own custom config, they can just pull that custom config into get_incremental_X_sql via context-global config.get('...'). That's not a good habit for us, as maintainers, but it's a valuable escape hatch for users, and avoids the need to copy-paste-edit the whole incremental materialization in their projects.
There are several other complexities with the incremental materialization (full refresh, on_schema_change, whether to create a temp table or not), and this change won't solve for all of them. It should enable us to delete a bunch of boilerplate code, though, and clear the way for examining those other discrepancies that exist today.

one quick thought as a requirement. will come back to this later

[ ] there should be a "functional" test for at least each incremental strategy in core/tests (arguably each possible config of each strategy), from which each adapter can import the tests it needs (as well as make their own as needed.

TODO what is the default implementation?

The lowest-level default implementation should be append (as defined in dbt-core). That should also be the default when no unique_key is specified. For backwards compatibility with current behavior, each adapter should be able to specify its default strategy when a unique_key is supplied, namely delete+insert on Postgres/Redshift and merge on Snowflake/BigQuery/Databricks.

A couple of nits:  I think the name "get_incremental_delete+insert_sql(dict)" would need to use an underscore instead of a plus.  I believe that the adapter tests should go in the adapter zone (tests/adapter) and not in core/tests. I think that's what was intended from the wording.

I'm not finding get_insert_into_sql or get_incremental_append_sql.

Yeah the + isn't going to work. I'll change that to an _.

Yeah adapter zone sounds like the right place for these tests I'll change that as well.

get_incremental_append_sql is one of the macros that needs to be created. It just gets wrapped by another new "default" function in core.

get_insert_into_sql def isn't right though. I bet it was supposed to be get_merge_sql where predicates=None from merge.sql. Does that sound right to you?

get_insert_into_sql is the cleanest way to represent true "append" behavior, when a unique_key isn't specified. This is an attempt to clean up a few different things that exist today:

get_insert_into_sql, defined in dbt-spark only. This is explicit "append" behavior on Spark today.
get_delete_insert_merge_sql when no unique_key is specified. This is implicit "append" behavior on Postgres + Redshift + Snowflake (!!) today
get_merge_sql, when no unique_key (or other custom predicates) are specified, as it ends up using ON FALSE, a.k.a. constant false predicate. Turns out, that achieves the same result (= insert only, no update/delete). This is implicit "append" behavior on BigQuery + Databricks (Delta) today.

Why (!!) for Snowflake? Even though Snowflake uses the merge strategy by default, its MERGE statement does NOT support a constant false predicate, so we've hard-coded insert into here!
Since all of these databases support good-old-fashioned insert into, I'd like to make that the explicit behavior of all of them when the append strategy is specified. Doesn't mean that append should be the default, and we definitely shouldn't break the current behavior (implicit append) when folks specify delete+insert or merge without a unique_key specified, but it's the direction we should move in.
Happy to spend more time talking about this, since it's pretty tricky stuff!

updated description to add the new macro get_insert_into_sql.

Which incremental strategies are we supporting in postgres/redshift? If we're implementing this in dbt-core, does that mean that we support them all in postgres?
Currently:
Snowflake:  merge, delete+insert
BigQuery: merge, insert_overwrite
Spark: append, insert_overwrite, merge
Redshift: append
Postgres: append
I'm unclear on what the point is of returning a list of the supported strategies, when an additional strategy can be implemented simply by creating a macro with the right name. The description above states behavior that would throw an exception if there's a 'get_incremental_silly_sql' and 'silly' is not returned by 'validate_incremental_strategy'. And since that's described as a python function, it's not like people could replace it when they add a new strategy.

@gshank Fair question. We want to do two things:

Allow each adapter maintainer to declare which strategies are supported out-of-the-box for that adapter, by returning the list of strings reflecting those strategy names
Establish a common pattern that makes it easy for adapter maintainers / end users to register a new strategy (e.g. silly), and a macro to use for that strategy (get_incremental_silly_sql)

Postgres/Redshift are only able to support append + delete+insert today — but we should still aim to define the reusable logic for the other strategies in dbt-core's default global_project, to the extent possible.
Today:

Snowflake: append (implicit), merge (default), delete+insert
BigQuery: append (implicit), merge (default), insert_overwrite
Spark: append (explicit, default), insert_overwrite, merge
Redshift: append (implicit), delete+insert (default)
Postgres: append (implicit), delete+insert (default)

Regarding this statement: "When an unsupported incremental strategy is designated, raise an error to users before runtime." if an end user has added a new incremental strategy, how would it pass the error checking? What would "register a new strategy" look like?
Regarding this statement: "If any of the default behavior needs to be overridden, it can be done by writing a macro that conforms to the naming convention "get_incremental_NAME_sql" where "NAME" is the string used to configure the incremental strategy (e.g. "get incremental_append_sql")."  I'm wondering how this interacts with adapter.dispatch. There are three macros that do adapter.dispatch now:  get_merge_sql, get_delete_insert_merge_sql, get_insert_overwrite_merge_sql. The only non-default implementation of these macros is spark__get_merge_sql, but I presume that other external adapters might have implemented non-default versions.  So we're leaving these adapter.dispatch calls in for compatibility, but the new method of overriding is to actually re-implement the get_incremental_NAME_sql and rely on macro project precedence to resolve to the right one?
Are we going to be rewriting our in-house adapters to use the new arrangements?

The special "materialization" macros are mostly copied from the base incremental materialization. They don't inherit. We do need to support the existing ones.  What are you thinking we will do to reduce copy-and-pasting? Split up the base materialization into sub-macros?

In order to create tests in the adapter zone for all of the incremental strategies, we will either need to be able to run the tests in Postgres or mark them to skip.

@jtcohen6 What is the purpose of the "predicates" parameter on the insert_overwrite_merge_sql?  I can't see that it's ever set anywhere. So it can't be passed in to the macro.

@gshank Great questions!

"When an unsupported incremental strategy is designated, raise an error to users before runtime." if an end user has added a new incremental strategy, how would it pass the error checking? What would "register a new strategy" look like?

I'm not strongly opinionated about the exact implementation details here.
It could look like us raising a helpful error if the user has defined a model with incremental_strategy: silly, and there is no get_incremental_silly_sql macro defined. If the macro does exist, it's assumed to be supported.
We need to reconcile that with the need for each adapter plugin to be able to declare which incremental strategies it does and doesn't support out-of-the-box. That could be an argument in favor of making that a macro (user-space code), rather than an adapter method (Python). Then, end users who add a new silly strategy could override the macro and returns a new set of strings:
{% macro validate_incremental_strategies() %}
  {{ return('append', 'delete+insert', 'silly') }}
{% endmacro %}

So we're leaving these adapter.dispatch calls in for compatibility, but the new method of overriding is to actually re-implement the get_incremental_NAME_sql and rely on macro project precedence to resolve to the right one (via the get_incremental_strategy_macro method)?

I think each of these get_incremental_NAME_sql macros should be dispatched, and have a default__ version defined in dbt-core. That allows adapters to implement just a macro named adapter__get_incremental_NAME_sql, in cases where their SQL differs. E.g. spark__get_incremental_merge_sql.

Are we going to be rewriting our in-house adapters to use the new arrangements?

Yes! The existing adapter code should all still run successfully regardless of the changes we make in dbt-core — this will be a good sanity check of backwards compatibility. But the goal here is to delete / consolidate lots of copy-pasted code, so we can only actually capture that value with follow-up refactoring work in the adapters.

The special "materialization" macros are mostly copied from the base incremental materialization. They don't inherit. We do need to support the existing ones. What are you thinking we will do to reduce copy-and-pasting? Split up the base materialization into sub-macros?

They're 90% copy-pasted code. Materializations end up being quite redundant (a) across adapters, and (b) even between materialization types. We should always be striving to identify where they frequently differ, and move those pieces of logic into separate standalone macros. Then, each adapter can reimplement just the piece that actually needs to be different.

In order to create tests in the adapter zone for all of the incremental strategies, we will either need to be able to run the tests in Postgres or mark them to skip.

I think marking them to skip is the right approach. We could also just define the Base test classes without inheriting them into a Test-named class.

What is the purpose of the "predicates" parameter on the insert_overwrite_merge_sql? I can't see that it's ever set anywhere. So it can't be passed in to the macro.

There's some context for this, and an initial implementation, in https://github.com/dbt-labs/dbt-core/pull/4546. That gives the big idea pretty well. (Even more context in https://github.com/dbt-labs/dbt-core/issues/3293, and recently in https://github.com/dbt-labs/dbt-spark/issues/369 as well.)
The big idea: By default, incremental models find rows to update if they match the same unique_id value as rows in the new data. That unique_id match is the only "predicate" we really support today. There are legitimate cases (usually for performance reasons) where users want the ability to configure additional custom "predicates" — usually to filter scans of the existing (very large) table, e.g. only look to update rows from the past 7 days.
Practically, this looks like:

We support predicates as a config that's pulled in by the incremental materialization, and passed into all of these get_incremental_X_macros (as one attribute of the dict argument)
We template predicates (if defined) into the SQL/DML returned by each get_incremental_X_macro


Trying to clarify some Javadoc

@reviewbybees

This pull request originates from a CloudBees employee. At CloudBees, we require that all pull requests be reviewed by other CloudBees employees before we seek to have the change accepted. If you want to learn more about our process please see this explanation.


Fix typo in name displayed in github workflow

Fix the name, change it to Rust - lint_cargo_deny
https://github.com/build-trust/ockam/blob/0ff0ff41d70900d9c559b9f9be9ffa4cc82cbf28/.github/workflows/rust.yml#L109-L111

Hi I am looking to contribute to this awesome project and I am happy to fix this for you (:


Create training dataset for the models

Create Table with observed variant counts and possible variant counts for building model.

For the failed checks, two of them is due to the unmerged functions in gnomad_method. The import_error really confused me. It can pass the pylint locally but not here. Any idea why this happens?

Rebase the current branch on the preprocess_data branch to apply isort on the current branch as well.

So sorry for the annoying push notifications. I was fixing the differences between preprocess_data branch and this branch :)

Thank you so much for all the suggestions!


Collision for terrain collider

it just ignores terrain collision.

Hi! If the pipe just goes directly to the target, it means it failed to find a way, no that it ignores the collision; there should also be a warning appearing in the inspector if the path wasn't found (also, I checked on my machine, it can detect terrain colliders).
Here's what you can do:

Set the Iterations higher, that will make the algorithm try for longer before giving up
Set the Grid Size higher, this way the algorithm can find a way with less iterations
Tone down the Chaos, Straight Priority and Near Obstacle Priority values, those make it harder to find a way

Since the generator checks a lot of points to find a path, it makes it hard to cover long distances with just the default 1000 points. Your safest bet to make pipes cover long distances would be to increase the Grid Size (making checked points more far apart).
Please let me know how it went.


Feedback for Huawei page

Try locking the app (pulling it down at the app windows manager). Nothing else worked for me, but now my sleep timer works

Hi, thanks a lot. What exactly is your phone model and what Android version are you running?

P20 pro with emui 9.1.
I found the way to prevent the system from killing apps: in settings, go to
"battery optimisation". You have to search for that within settings search
because I could not find it in any menu!
Once there, choose "show all", not only the ones that says "not allowed".
Once you can see your app, click it and disallow battery optimisation for
the app you don't want to be killed.
Please update your instructions with this, it could help others.
Cheers,
Juan
On Sat, 2 Nov 2019, 19:22 Jiří Richter<EMAIL_ADDRESS>wrote:

Hi, thanks a lot. What exactly is your phone model and what Android
version are you running?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/urbandroid-team/dont-kill-my-app/issues/118?email_source=notifications&email_token=ACOG45HVBXWW5DBN5DL6MDTQRXHNPA5CNFSM4I7THCYKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEC5DBPA#issuecomment-549073084,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACOG45FGPQCSMTTCI7YXDGLQRXHNPANCNFSM4I7THCYA
.

This is not Huawei specific as the settings seem to be the same on stock Android, however it raises a point about how much we should stress that the vendor pages only include vendor-specific info, or whether we should also include or link to general Android info from within vendor pages.


Improve performance with ChangeDetectionStrategy

I'm submitting a ...  (check one with "x")
[ ] bug report => search github for a similar issue or PR before submitting
[x] feature request
[ ] support request => Please do not submit support request here

Current behavior

A complex table (many rows/columns) will cause the browser to hiccup on Angular change detection, causing jerky animations and other performance issues.
Expected behavior

ngx-datatable should be optimized to do minimal Angular change detection.
Reproduction of the problem

I noticed this when I added a <md-input> (angular/material2), which has a floating label animation.
Also, do a Chrome Dev Tools JS CPU profile with and without ngx-datatable on a page. You will notice much more time spent in AppView.detectChanges.
Expand:
AppView.detectChanges > ViewContainer.detectChangesInNestedViews and you will see many ngx-datatable detectChangesInternal calls.
What is the motivation / use case for changing the behavior?

ngx-datatable should have good performance in Angular.

Table version: 6.0.2

Angular version: 2.4.6

Browser: Chrome

Language: TypeScript 2.1.5

I added changeDetection: ChangeDetectionStrategy.OnPush to DatatableComponent, but it didn't improve performance much. So then I added OnPush to DataTableBodyComponent, DataTableBodyRowComponent, DataTableBodyCellComponent and performance improved significantly.
I was under the impression that only the root component would need OnPush, but this doesn't seem to be the case. I don't have much experience on ChangeDetection optimization; I've just read a bit on it.
One problem with this is that users may need to change how they input data into ngx-datatable. To trigger an update to rows, they would need to change the reference (make a copy of rows array). Alternatively, rows could also be an Observable (any[] | Observable<any[]>); from what I've read Angular change-detection is Observable aware. Could also add a refresh() method or something, which triggers change detection, but this seems ugly to me in the Angular world.
Hopefully someone who has worked on ChangeDetection optimization knows the best way to design this.

I set most Components to OnPush and it seems to work fine:
https://github.com/arlowhite/ngx-datatable/tree/change-detection-only
However, this probably should go through more testing.
And as I mentioned, changing rows and columns Inputs may behave differently so documentation may need to be updated.
In my own Component (also OnPush), I had a debounced Observable setting rows in the subscribe callback, and this wasn't triggering change detection. So in that case I needed to call markForCheck()

We used to have the component to be onpush but there was SOOOO many issues. After lengthy discussions with many people, we decided to move it back. I can't remember the bugs but if you look back in the github issues you can see the discussions.

Ok, I understand not wanting to work on this right now.
Hopefully, more fixes like #507 will improve change detection performance issues over time.
Maybe more child components could be set to OnPush?

I do with some of them.


ARROW-3350: [Website] Fix powered by links

@kichik Next time please create a JIRA ticket.

For small website updates it is OK to not have a JIRA since it isn't relevant to the development changelog

I guessed so, but hopefully Amir will need a JIRA account soon :)

Thanks. Is there something else I need to do to update the website? Do I need to submit a PR for the built pages?

One of us will have to update the website, I can do it sometime today


Feature/add new marker

Aruco marker support
What?
Ability to add new aruco marker support when a new reflectance panel needs to be supported.
Why?
We will be using different kinds/types of reflectance calibration panels. Each panel will have its own aruco marker id.
PR Checklist

[x] Merged latest master
[ ] Updated version number
[ ] Version numbers match between package __version__ and pyproject.toml
[ ] All private git packages are at their newest version in both pyproject.toml and environment.yml
[ ] All git package version numbers match between pyproject.toml and environment.yml
[ ] dist/ImageryCorrector.exe has been rebuilt

Breaking Changes

Things to do:

The 12.41 exiftool version download link is broken. Do we update to 12.50?
Test has not happened yet.
I do not know how to build an exe, @SamCWill will probably have to assist.


Print TMC message as soon as it's completed

Currently, multi-part TMC messages are only printed when the next message begins. End of message should be detected instead.
For this to work, a TMC message should know its expected length. This can be calculated from GSI.

fixed v0.7.3


Install private github repo using ssh

Issue description
I am trying to create a venv as follows
PIPENV_IGNORE_VIRTUALENVS=1 pipenv install --python 3.8.13 -r ../requirements.txt
where requirements.txt contains only one line
-e git+ssh://git<EMAIL_ADDRESS>Expected result
I expected the package to install and the Pipfile.lock file to be created without any issue.
Actual result
With the above set up, pipenv fails at the moment it creates the Pipenv.lock file with a not very explicit error (code 128)
Steps to replicate
See the description of the issue:
PIPENV_IGNORE_VIRTUALENVS=1 pipenv install --python 3.8.13 -r ../requirements.txt
where requirements.txt contains only one line
-e git+ssh://git<EMAIL_ADDRESS>Some insights
From the resulting Pipfile, I can see that the dependency didn't seem to be correctly copied. It has the following form
[packages] <lib> = {editable = true, ref = "0.1.6", git =<EMAIL_ADDRESS>It seems that the **** instead of the expected user git is causing the issue when creating the Pipfile.lock
Workaround 1
If I now write the correct user and rerun pipenv install, the Pipfile.lock is generated as expected.
Workaround 2
Moreover, if instead of using the requirements.txt file when generating the venv I explicitly run
PIPENV_IGNORE_VIRTUALENVS=1 pipenv install --python 3.8.13; \ pipenv install -e git+ssh://git<EMAIL_ADDRESS>The process finishes successfully.
So my guess is that there seems to be an issue when pipenv reads the username (i.e. git) from the requirements.txt file and creates the Pipfile.
Any ideas? I'm using pipenv version 2022.12.19
Thanks.

Can you check this against 2023.9.1 ?

I am facing the same issue. I am using 2023.10.24.
These commands do not work. Moreover, these commands work fine if I use pipenv run pip install ...:

pipenv install<EMAIL_ADDRESS>pipenv install<EMAIL_ADDRESS>
However, using OP's idea of adding the package directly into the Pipfile by providing the repository and running pipenv install does work. Pipfile updates (I did not add the editable and ref flags because of my unique needs):
[packages]
libname = {git<EMAIL_ADDRESS>
Thank you.

I believe its related to deficiencies in the logic to determine the package name from the repository.  When you add it directly to the Pipfile it bypasses this logic because the name is known.   I am not sure what code paths pip is using to make this determination, but we could improve things by updating our logic to leverage that, I am just not sure what it is yet.


K8s deployment yaml

@fstab please provide a sample deployment yaml for deploying grok-exporter as a pod in kubernetes

someone please share dokcer run command for using fstab/grok-exporter image

Did you build a Docker image with grok_exporter? Or are you looking for an existing Docker image?

Building one is easy enough. This example is more than a year old but we utilized grok_exporter in an alpine image which ran in a multi-container pod along with puppet server to expose those logs to prometheus in our cluster.

RUN mkdir /etc/grok_exporter && \
    mkdir /lib64 && \
    # Below allows the go binary to run on alpine
    ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2

COPY grok_exporter/ /etc/grok_exporter

EXPOSE 9144

ENTRYPOINT ["./etc/grok_exporter/grok_exporter", "-config", "/etc/grok_exporter/config.yaml"]```

@fstab please provide a sample deployment yaml for deploying grok-exporter as a pod in kubernetes

https://gist.github.com/jingslunt/3c8d3c903c18f36e94f7158a7c829576

Did you build a Docker image with grok_exporter? Or are you looking for an existing Docker image?

When using k8s, I found that the memory usage is very high. Have you considered optimizing this?


chore(server): change tracer collector's host name

We're about to change a service which receives the traces. It's now
Jaeger, and thanks to this change: https://github.com/LeoColman/MyStack/pull/21,
Jaeger is now reachable by a more abstract host name. It lets us
abstract out what component receives the traces by simply configuring
in Docker Compose's config which service will be available under this
hostname. Ultimately, it will allow us to enable aggregated metrics with
OTel Collector and Prometheus.

#1727  👈 (View in Graphite)
main

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


Nested function scoped type parameters

Allow type parameters to be used in nested functions. Removes E0401.
This error was first introduced (at the latest) in 2015. After almost ten years of development and changes in Rust, I believe it's time to reconsider it.
TLDR: Allow the below.
fn foo<T>(x: T) -> T {
    fn bar(y: T) -> T {
        y
    }
    bar(x)
}

Rendered

Apologies, I do not know how to assign tags. I believe this proposal should at least have T-lang.

Would this also allow using type parameters from an outer function inside the inner function's body, even when they do not appear in the inner function's signature? E.g.,
fn outer<T: Default>() {
    fn inner() {
       let _ = T::default();
    }
}

This would mean that the compiler has to inspect inner's body before being able to tell that it's generic. Also, one of the main uses of nested inner functions is for deliberately avoiding separate monomorphizations; this change could make it easier to accidentally introduce genericity when it's not desired.
Also, how does this interact with attributes that require a non-generic function, like #[export_name] and #[no_mangle]?
Finally, should const or static items also be able to use generic parameters from the outer function?

No, I am not proposing to allow that example, for the exact reasons you've raised.
I'm unsure what you mean by "interacting with #[export_name] and #[no_mangle] - if there's no generic parameters, you can't use this feature.
With regards to static and const, They already cannot, and I see no reason to change that. In those two examples, it's quite reasonable that they cannot use a generic parameter.

I would propose to reject both of your examples, noting the same reasoning that @Jules-Bertholet provided. Whether a function can be #[no_mangle] should be determinable from the type signature, which it will still be - simply an occurs check.
Correct me if i'm wrong, but static and const should not be able to as there is no way to obtain a static/const value without arbitrary code execution, rending this useless anyway due to the generic nature of the type.
Structs being able to utilize this seems reasonable (although perhaps not productive? may encourage longer functions using more internal structs - happy to take further comment on this one)
However, traits and impls would probably not benefit from this, and further complicating trait resolution seems a fool's errand.

I would propose to reject both of your examples, noting the same reasoning that @Jules-Bertholet provided.

It might be helpful to add the examples and rationale to the RFC. It could go in the rationale and alternatives section, but I'm not sure if that's the best place.

I will, yes - I've ran into some busyness, but I'll do it when I find the time.


Fixes #488

Coverage remained the same at 75.561% when pulling d4d8b854fc325986fc046eb8f78ce4e068cfb00c on mronian:fix-issue into fbc539734d13e128be5fdc1871737d4ba33c066f on timholy:master.

Coverage remained the same at 75.561% when pulling 4a18ca5cbe64fad86c5993af0b30fc058a662457 on mronian:fix-issue into fbc539734d13e128be5fdc1871737d4ba33c066f on timholy:master.

Just for my information, which julia version are you using? The original works for me.

The version is "0.5.0-dev+3145".

Seems to work in 0.5.0-dev+4255.

My bad. I have updated my version now.

No problem. Knowing whether something is supposed to work or not is not easy.


ci: add cdk e2e tests

Issue #, if available:
Description of changes:
Run cdk integration tests with finch as the drop in replacement for docker in cdk, i.e CDK_DOCKER=finch
Testing done:
Yes in fork, see https://github.com/vsiravar/finch-core-public/actions/runs/6126870804/job/16631723973

[X] I've reviewed the guidance in CONTRIBUTING.md

License Acceptance
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Any reason adding to finch-core instead of finch?

Any reason adding to finch-core instead of finch?

Mainly to reduce noise in finch and use an intermediate repo like finch-core which have very under utilized runners.

Merging this since https://github.com/runfinch/finch-core/pull/203#issuecomment-1810838671 is a known issue.


update README.md - add Codeship badge

add Codeship badge

[Current coverage][cc-pull] is 100% (diff: 100%)

Merging [#588][cc-pull] into [master][cc-base-branch] will not change coverage

@@           master   #588   diff @@
====================================
  Files          28     28
  Lines         439    439
  Methods       111    111
  Messages        0      0
  Branches        0      0
====================================
  Hits          439    439
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last update [d5b0348...9b32e10][cc-compare]
[cc-base-branch]: https://codecov.io/gh/eugene-matvejev/battleship-game-api/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/eugene-matvejev/battleship-game-api/compare/d5b03480b998eb5d0ef4267ada5eebe2f6abffe0...9b32e10c8dd7caabb5600fff40da4580702fda28?src=pr
[cc-pull]: https://codecov.io/gh/eugene-matvejev/battleship-game-api/pull/588?src=pr


Kinesis ingestion with empty shards

Enables Kinesis ingestion with empty shards

Description

Kinesis ingestion requires all shards to have at least 1 record at the required position in druid.
Even if this is satisified initially, resharding the stream can lead to empty intermediate shards. A significant delay in writing to newly created shards was also problematic.

Kinesis shard sequence numbers are big integers. Introduce two more custom sequence tokens UNREAD_TRIM_HORIZON and UNREAD_LATEST to indicate that a shard has not been read from and that it needs to be read from the start or the end respectively.
These values can be used to avoid the need to read at least one record to obtain a sequence number for ingesting a newly discovered shard.

If a record cannot be obtained immediately, use a marker to obtain the relevant shardIterator and use this shardIterator to obtain a valid sequence number. As long as a valid sequence number is not obtained, continue storing the token as the offset.
These tokens (UNREAD_TRIM_HORIZON and UNREAD_LATEST) are logically ordered to be earlier than any valid sequence number.
However, the ordering requires a few subtle changes to the existing mechanism for record sequence validation:

The sequence availability check ensures that the current offset is before the earliest available sequence in the shard. However, current token being an UNREAD token indicates that any sequence number in the shard is valid (despite the ordering)

Kinesis sequence numbers are inclusive i.e if current sequence == end sequence, there are more records left to read.
However, the equality check is exclusive when dealing with UNREAD tokens.

Key changed/added classes in this PR

KinesisSequenceNumber
KinesisRecordSupplier

This PR has:

[x] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[] added documentation for new or modified features or behaviors.
[] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[x] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[x] been tested in a test Druid cluster.

@maytasm, thanks for the review.

Can you also add some Integration test (See integration test group "kinesis-index")?
Sure, I can add a simple test where the records are queried after ingesting from a stream with at least one empty shard.
Please let me know if you had any other scenarios in mind

@maytasm, thanks for the review.

Can you also add some Integration test (See integration test group "kinesis-index")?

Sure, I can add a simple test where the records are queried after ingesting from a stream with at least one empty shard. Please let me know if you had any other scenarios in mind

Sounds good to me! Thanks!

@AmatyaAvadhanula
I have some questions regarding KinesisRecordSupplier#getSequenceNumber.

Are we still handling the case when shardIterator returned by kinesis.getShardIterator is null?
Is the timeoutMillis still needed? Is the timeoutMillis use for handling when shards are temporary closed due to SplitShard or MergeShards operation?

Can you also add some Integration test (See integration test group "kinesis-index")?

Added a few tests where empty shards are present

Are we still handling the case when shardIterator returned by kinesis.getShardIterator is null?

Yes, an end of shard marker is still being returned. If this doesn't happen immediately, the task will handle it appropriately after assignment.

Is the timeoutMillis still needed? Is the timeoutMillis use for handling when shards are temporary closed due to SplitShard or MergeShards operation?

Could you please clarify what timeoutMillis is?
If you mean fetchSequenceNumberTimeout, it is the time that we poll kinesis for records before determining that it is empty. This was needed as we had to get at least one record before beginning ingestion and kinesis may not return records at TRIM_HORIZON or LATEST in the first few iterations depending on when data was added.
It isn't needed now as the new marker is returned and the task will handle it appropriately.
This prevents multiple retries to fetch records and makes it faster as well.

@abhishekagarwal87 thanks for review!
Could you please verify the changes in the latest commit as well? It tries to fall back to earliest sequence number comparison in case the primary check for kinesis offset availability fails.

Thank you @AmatyaAvadhanula. I have merged your change.

@AmatyaAvadhanula
Now that kinesis ingestion works with empty shards, we need to remove this limitation from the docs.


Change to the new components

⚠ Issue
close #

✏ Description
Add new meta properties.

🔄 Type of the Change

[x] 🎉 New Feature
[ ] 🧰 Bug
[ ] 🛡 Security
[ ] 📖 Documentation
[ ] 🏎 Performance
[ ] 🧹 Refactoring
[ ] 🧪 Testing
[ ] 🔧 Maintenance
[ ] 🎽 CI
[ ] 🧠 Meta

[x] I agree to follow the Code of Conduct.

@coderabbitai full review


Link order problem with remote packages

Bug description
When a binary depends on two library targets that in turn depend on the same remote package the order of the link libraries gets wrong when linking the binary, causing undefined reference errors.
If an app depends on lib1 and lib2 and they in turn depend on say openssl, the resulting link line for the app will include -llib2 -lssl -lcrypto -llib1. But lib1 should come before -lssl and -lcrypto.
Expected behavior
Dependencies should occur after the dependent lib. No undefined references should occur when linking
Error output
$ xmake -v
configure
{
    ld = /usr/bin/g++
    ccache = true
    buildir = build
    mode = release
    ndk_stdcxx = true
    plat = linux
    ar = /usr/bin/ar
    cc = /usr/bin/gcc
    kind = static
    theme = default
    arch = x86_64
    host = linux
}
[100%]: linking.release app
/usr/bin/g++ -o build/linux/x86_64/release/app build/.objs/app/linux/x86_64/release/./main.c.o -Lbuild/linux/x86_64/release -L/usr/lib/x86_64-linux-gnu -Wl,-rpath=$ORIGIN -ltestlib2 -lssl -lcrypto -ltestlib1 -m64 -L/usr/local/lib -L/usr/lib
error: /usr/bin/ld: build/linux/x86_64/release/libtestlib1.a(testlib1.c.o): in function `init_testlib1':
testlib1.c:(.text+0xf): undefined reference to `OPENSSL_init_ssl'
collect2: error: ld returned 1 exit status

Related Environment
xmake v2.2.8+201909032242, linux
Additional context
A minimal example. Just clone and run xmake and it should trigger the error.

Ok, I will fix it.

I have fixed it, you can update dev branch and try it again.  xmake update -s dev

Beautiful! It works for both my testcases. Fix confirmed! Thanks.

Now we can sort links better. https://github.com/xmake-io/xmake/issues/1452#issuecomment-1741152822


Remove use of goog.dom.createElement

leftover from #4474

Looks good to me, Fred. Please merge and thanks.


Can not build mapper when using @Mapper on nested class

For example:
interface Wrapper {
  @Mapper
  interface FooBar {
    Foo fromBar(Bar bar);
  }
}

And, as a result, the following core will not be able to find the generated mapper implementation:
Selma.builder(Wrapper.FooBar.class).build();

Hi this is definitely a bug.
I'll fix it quickly.
Sorry for delay


Show identifier and value for name_new in UNOList

Fixes https://github.com/namecoin/electrum-nmc/issues/39

Triggering a rebuild...


how to send email

We would like to send emails from Alert Manager.
Normally, all you need to do is change the receiver in alertmanager.yaml.
However, since this project is a container, the file to be changed cannot be found.
Please tell me how to send email from alertmanager.

@sarnakamura One of our colleagues, Ajmal Farzam, wrote a blog post about how to configure Alertmanager to send out e-mail.  It is available on the SAS Communities site; please take a look at his titled A First Look at Alerting in SAS Viya.


Decouple the loading of the README file from the Package page load.

Fixes #973
This does not yet include the new plan to parse the rendered HTML directly from GitHub. This PR simply (hah, simply!) decouples our existing README loading machinery from the Package page load.
The Package show action no longer makes a network request, which should speed it up considerably. A loading indicator is displayed while the README content is fetched, parsed, and rendered, then it's asynchronously loaded with Turbo.

The image snapshots are all missing the READMEs now, which is due to the async JS loading, right? Is there any way to bring that back for at least one of the tests?

This doesn't seem to load READMEs for me:

This is with a prod snapshot from a moment ago and the readme url fields are set for Alamofire:

The image snapshots are all missing the READMEs now, which is due to the async JS loading, right? Is there any way to bring that back for at least one of the tests?

Yes, all missing from package pages now, but I added a specific snapshot test to render the readme page fragment that gets included, which does the same job.

This doesn't seem to load READMEs for me:
This is with a prod snapshot from a moment ago and the readme url fields are set for Alamofire:

Are there any errors in your JavaScript console?


Promise polyfill error

I'm writing a module that does not run in the browser and is intended for Node runtime.
Here is my basic Typecsript code that I pulled together from the tests.
import "whatwg-fetch";
import { Promise, polyfill } from "es6-promise";
polyfill();

declare const global: any;
declare let self: any;

var root: any = typeof self == 'object' && self.self === self && self ||
  typeof global == 'object' && global.global === global && global ||
  {};

// Polyfill environment Promise to keep whatwg-fetch polyfill happy
root.Promise = root.Promise || Promise;

import Orbit from "@orbit/core";
Orbit.Promise = Promise;

// Use polyfilled fetch
Orbit.fetch = root.fetch;

The error I get when trying to compile Typescript:
node_modules/@orbit/core/dist/commonjs/es5/main.js:10
    Promise: self.Promise,
             ^

ReferenceError: self is not defined
    at Object.<anonymous> (node_modules/@orbit/core/dist/commonjs/es5
/main.js:10:14)
    at Module._compile (module.js:573:32)
    at Object.Module._extensions..js (module.js:582:10)
    at Module.load (module.js:490:32)
    at tryModuleLoad (module.js:449:12)
    at Function.Module._load (module.js:441:3)
    at Module.require (module.js:500:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (node_modules/@orbit/core/dist/commonjs/es5
/index.js:7:13)
    at Module._compile (module.js:573:32)

Any tips to getting this working in a node environment?

@tatemz thanks for reporting - I really should be doing CI testing in multiple environments to avoid these problems.
I suspect I can track down the problem and include the fix in a release today or tomorrow.

Thanks! I was able to play around with underscore.js use of identifying the global scope cross-platform.
Seems that removed the error from the @orbit/core main.js, however I got another similar error within @orbit/jsonapi
Try using this instead of self:
https://github.com/jashkenas/underscore/blob/master/underscore.js#L11-L17

@tatemz that looks quite robust - thanks!

@tatemz this should be resolved via #436

Thank you!
Here is the working implementation with your update (also works with @orbit/jsonapi):
import { Promise } from "es6-promise";
import * as fetch from "isomorphic-fetch";

import Orbit from "@orbit/core";

// Use manual Promise
Orbit.Promise = Promise;

// Use isomorphic fetch
Orbit.fetch = fetch;


fix: button styles, picture add product && form add product

Description
Screenshots

⚠ Was validated and the following was found

When adding a product, it's not just the text, the image needs to be there too.

Current

Expected result

- Image icon missing from profile form

**- In the event view the icon appears but the text below the image does not have the same font as in other views

@angelik0828 please check

In the event view the icon appears but the text below the image does not have the same font as in other views

I will leave the changes the changes in products view after https://github.com/Azordev/did-admin-panel/pull/219

I still don't see the change in these two places

Add icon change on product creation is not the same as on product edition

Change made


Move TwingTokenType TokenPosition into twing-token.ts

This is where they belong.

Well, TokenPosition  was literally useless. 👍


Response Body is empty

I have been stuck at this for sometime now can cannot figure out what the problem is. The same code was working few minutes ago and it suddenly stopped working, on its own, without me making any changes to it whatsoever.
As you can see from the code, there are two roles. Now, when I try to use the /login POST API, I am able to login with RoleA. However with RoleB (the only other role in the DB) I get an empty response from the server. When I say empty I mean the body is empty with response status 200 and content length = 0.
I know its not the php code because the same code was working a few minutes ago and it still is on my AWS instance. I have checked apache error logs and couldn't find anything. What could be the problem and how do I go about finding the solution (or even the zeroing in on the problem because I am not able to figure out what the problem is)?
$app->post('/login', function () use ($app) {
  try {
    $user = Sentinel::authenticate($userCredentials);
    if ($user == false) {
      $appResponseMessage = "Unauthorized";
      $app->response->setStatus(401);
      $appResponseJson = json_encode(array('message' => $appResponseMessage));
      $app->response->body($appResponseJson);
    }
    else {
      $loggedIn = Sentinel::login($user);
      $role=$user["roles"][0]["slug"];
      $userId=$user["id"];
      if ($role == "roleA") {
        //Do something here[1]
        $appResponseMessage['message'] = "loggedIn";
        $appResponseMessage['role'] = $role;
      }
      else {
        // Do something here [2]
        $appResponseMessage['message'] = "loggedIn";
        $appResponseMessage['role'] = $role;
      }
      $appResponseJson = json_encode($appResponseMessage);
      $app->response->body($appResponseJson);
    }
  }
  catch(Exception $e) {
    $appResponseJson = json_encode(array('message' => $e->getMessage()));
    $app->response->body($appResponseJson);
  }
});

Thanks!
EDIT:
I tried doing this around [2]
print_r($appResponseMessage); //or anything just to check if this code was being executed and found out that it was.

Does this indicates that there might be an issue with $app->response->body() method?
Again I am not sure.

Your user is false. this results in nothing being displayed.

Nope, this is the code when the user is false. I had omitted the code for brevity.
$appResponseMessage = "Unauthorized";
$app->response->setStatus(401);
$appResponseJson = json_encode(array('message' => $appResponseMessage));
 $app->response->body($appResponseJson);

Have a look at your else block. You're trying to assign a value to $appResponseMessage['some_index'] assuming that $appResponseMessage is an array, which it is not (yet). So, try this:
$app->post('/login', function () use ($app) {
  try {
    $user = Sentinel::authenticate($userCredentials);
    if ($user == false) {
      $appResponseMessage = "Unauthorized";
      $app->response->setStatus(401);
      $appResponseJson = json_encode(array('message' => $appResponseMessage));
      $app->response->body($appResponseJson);
    }
    else {
      $loggedIn = Sentinel::login($user);
      $role=$user["roles"][0]["slug"];
      $userId=$user["id"];
      $appResponseMessage = array();
      if ($role == "roleA") {
        //Do something here[1]
        $appResponseMessage['message'] = "loggedIn";
        $appResponseMessage['role'] = $role;
      }
      else {
        // Do something here [2]
        $appResponseMessage['message'] = "loggedIn";
        $appResponseMessage['role'] = $role;
      }
      $appResponseJson = json_encode($appResponseMessage);
      $app->response->body($appResponseJson);
    }
  }
  catch(Exception $e) {
    $appResponseJson = json_encode(array('message' => $e->getMessage()));
    $app->response->body($appResponseJson);
  }
});

I've just initialized that array as $appResponseMessage = array();

No the problem wasn't in PHP code. It was a weird problem in phpmyadmin. I was copy-pasting some value in a column(VARCHAR 255) through phpmyadmin which as being queried in the PHP code. When I remove that row with copy-pasted value, and typed it manually, the select query started to work and php code ran fine.
Which leads me to believe that there is an issue with the text I was pasting. However, I was simply copying about 150 characters with no special characters apart from punctuation. I still don't know what's wrong and as I am on a deadline, I decided to just type out the text.

In that case, it is possible you made a syntactical error. Maybe a single / double quote here and there. Enable error logging to be verbose and read through them.

That's the thing. Error logging was enabled. Even then it failed silently.

Could you paste your code snippet with the exact characters that cause it to fail?

tip of the day, dont use php my admin... use something like sqlyog or mysql workbench when dealing with mysql related stuff.

It is actually possible to do the same thing with a text editor, TextMate in my case. I had couple of times a case where PHP would just silently die. Debugged it by removing code line by line. Found the line, didn't see anything wrong with it. Pasted it back and PHP dies. Removed it and typed everything again, PHP works.
With hex editor I could see there was an invisible control character. Sadly I do not remember what it is but it was possible to accidentaly write it using some key combination. It probably was something close to cmd-s which TextMate uses for saving.

Yup, lesson learnt on special characters.


Add Remote windows

Build does not seem to complete the build (yet)
Related: phonegap/phonegap-roadmap#154
Closes #613.
Closes #618.

Sweet, this runs well on my end and I don't think we need any additional tests.


Code Fold Not Working properly

We have written the needed data into your clipboard because it was too large to send. Please paste.

/needsMoreInfo

Sure.
By...
Nandha M.

From: vscodebot[bot]<EMAIL_ADDRESS>Sent: Wednesday, October 16, 2019 10:03:07 PM
To: microsoft/vscode<EMAIL_ADDRESS>Cc: nandhakumar murgan<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [microsoft/vscode] Code Fold Not Working properly (#82654)
Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reportinghttps://aka.ms/vscodeissuereporting guidelines. Please take the time to review these and update the issue.
Happy Coding!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vscode/issues/82654?email_source=notifications&email_token=ALFEQAWKNKUZXZFHYQREBNLQO464HA5CNFSM4JBGJ7J2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBNEAXQ#issuecomment-542785630, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALFEQAQ263JVP7GWEYMHV53QO464HANCNFSM4JBGJ7JQ.


Client source files are included in the distribution

When using Play 2.4 and sbt-play-scalajs v0.2.6, the Scala sources of the client end up being included in the distribution assets JAR. This didn't happen in earlier version of Play.
https://github.com/ochrons/scalajs-spa-tutorial/issues/20

@vmunier @ochrons
I can't confirm that this is fixed.
I can still find the source in the jar, generated by "publish-local".
I've got the following behaviour:
0.2.5 => no source files
0.2.6 => sourcecode can be found at "/META-INF/resources/webjars/artifactname/version/"
0.2.7 => sourcecode can be found at "/"
Do i miss something? Is this on purpose?

Hi @FlorianKirmaier,
You are right:
0.2.5 => no source files but it's compatible with Play 2.3.x only (the live reloading on Play run does not work when using Play 2.4.x)
0.2.6 => Fixes the live reloading.
Compared to Play 2.3, Play 2.4 is watching different directories to know when to recompile and reload the app:
https://github.com/playframework/playframework/blob/c75ed44baf4433f6b56ec5fdc30993405e8ad178/framework/src/sbt-plugin/src/main/scala/play/sbt/PlayCommands.scala#L85
You can see that Play 2.4 watches unmanagedSourceDirectories and unmanagedResourceDirectories in Compile, Assets and in the play project's dependencies.
We don't want a Play project to depend on a Scala.js project. So sbt-play-scalajs 0.2.6 adds the listed Scala.js projects to unmanagedSourceDirectories in Assets.
It fixed the live reloading but it also put the Scala files from the Scala.js projects into the final jar and they could be requested over http because they were part of the Assets...
0.2.7 => sbt-play-scalajs 0.2.7 adds the listed Scala.js projects to unmanagedResourceDirectories in Compile instead.
So the Scala.js scala files are not accessible over http anymore in prod but they are still present in the jar along with the other resources such as application.conf, routes etc.
To recap, the Scala files are still present in the jar when using sbt-play-scalajs 0.2.7.
They are not accessible over http anymore unless you specify (emitSourceMaps in fullOptJS) := true in the Scala.js projects of your choice, in which case the Scala.js scala files are copied over to the public Assets.
It would be good to have no Scala files at all in the final jar by default, I don't know how to do it for now.

Hi @FlorianKirmaier, @ochrons,
I have just published sbt-play-scalajs v0.2.8 that should fix this issue.
It uses excludeFilter to prevent SbtWeb from adding any descendant files from the Scala.js directories into the packaged jar. Note that you can still use emitSourceMaps in fullOptJS := true in a Scala.js project if you want to have source maps in production. In that case, the Scala files from this project will be copied to the jar.
In this new version, sourceMapsBase and sourceMapsDirectories have been deprecated as they are not used by the plugin anymore, you can safely remove them from your build.
It's now looking at unmanagedSourceDirectories in all the transitive dependencies of the Scala.js projects to find the Scala files to copy to the packaged jar.
You can follow this short commit from play-with-scalajs-example to see how to upgrade to sbt-play-scalajs v0.2.8.
Please let me know if you find any issue.
Thanks,
Vincent

@vmunier
At first impression it looks good!
I couldn't find any sources.
Thank you for the update!

Thanks, I'll update SPA tutorial with a new version!

Cool, thank you all!


bash-language-server → No code actions

FAQ

[X] I have checked the FAQ and it didn't resolve my problem.

Issues

[X] I have checked existing issues and there are no issues with the same problem.

Neovim Version
v0.9.5
Dev Version?

[X] I am using a stable Neovim release version, or if I am using a dev version of Neovim I have confirmed that my issue is reproducible on a stable version.

Operating System
arch
Minimal Config
x

Steps to Reproduce
x
Reproducibility Check

[ ] I confirm that my minimal config is based on the minimal_init.lua template and that my issue is reproducible by running nvim --clean -u minimal_init.lua and following the steps above.

Expected Behavior
x
Actual Behavior
x
Debug Log
x
Help
No
Implementation Help
As indicated here I've installed shellcheck on mason, as replacement for the built-in the bash-language-server.
What works:

Linting       → Works ok: It requires you to install shellcheck.
LSP           → Works ok: it requires you to install bash-language-server.
Formatting → Works ok: it requires you to install shfmt.

What doesn't work:

Code actions are not available anymore.

More info:
Previously I had code actions working with:
require("null-ls").builtins.code_actions.shellcheck

Requirements

[X] I have read and followed the instructions above and understand that my issue will be closed if I did not provide the required information.

Ok I've tested in a old version of none-ls and it seems this is a requirement for code actions to work:
require("null-ls").builtins.code_actions.shellcheck,

Because the built-in has been removed it seems there is no way to do this anymore.

If you are not against bash-language-server, you could make a PR to there. I mentioned the exact line of code somewhere in #81.
You could use gbprod/none-ls-shellcheck.nvim in the meantime.

Issue solved by adding this to none-ls config:
require("null-ls").register(require("none-ls-shellcheck.code_actions"))

but it requires the none-ls dependency "gbprod/none-ls-shellcheck.nvim".
It was documented. Sorry.

Maybe "gbprod/none-ls-shellcheck.nvim" should be shipped by default with none-ls and do require("null-ls").register(require("none-ls-shellcheck.code_actions"))  if shellcheck is loaded?
Unless the fact linting still requires shellcheck to be installed is a bug. I have shellcheck installed. It doesn't appear listed on :LSPInfo but it works. If I uninstall shellcheck, linting stops working.

Maybe "gbprod/none-ls-shellcheck.nvim" should be shipped by default with none-ls and do require("null-ls").register(require("none-ls-shellcheck.code_actions"))  if shellcheck is loaded?

This was intended and will not change.

As long as we add it to the wiki in the future it's cool.

As long as we add it to the wiki in the future it's cool.

The wiki is open for everyone to edit. It's appreciated if you could do it!

I can't take care of the wiki atm sorry. But I will be helping with QA from NormalNvim

closing, as beautysh load correctly
local beautysh = require("none-ls.formatting.beautysh") when the dependency "nvimtools/none-ls-extras.nvim" is present.

Re-opened, as this one seems to actually be a bug.
It is currently necessary to do
"gbprod/none-ls-shellcheck.nvim"
      local nls = require("null-ls")
      local shellcheck_code_actions = require("none-ls-shellcheck.code_actions")
      nls.register(shellcheck_code_actions)  -- shell code actions.

in order to enable shell code actions. This shouldn't be necessary. According to this bashls should include code actions already, which is not the case.

If you are not against bash-language-server, you could make a PR to there. I mentioned the exact line of code somewhere in #81.

found it, https://github.com/nvimtools/none-ls.nvim/discussions/81#discussioncomment-8583064 & https://github.com/bash-lsp/bash-language-server/blob/afd0d82c5a0a3cbedef8098b8944d9b01c47657e/server/src/shellcheck/index.ts#L239

cc @skovhus you might want to take a look at this. :)


mxnet MATLAB interface error , R Works Win 10 64 Binary install

Too intimidating posting on github for newbie issues. Just starting and need help and posted in Google group first. Repeating
Installed mxnet on win 10 64 bit using binary option.
R demo worked fine with MNIST data. Can get predictions and data is read in.
MATLAB demo ( which is where I want to do most work) is having issues
The demo fails in calls to libmxnet.
Failure in callmxnet .m at line 26
24 assert(ischar(func))
25 ret = calllib('libmxnet', func, varargin{:});
26 assert(ret == 0)
func is MXPredCreatePartialOut
varargin is cell of 12 elements
The folder mxnet/lib has the libmxnet.dll and lib files
The path includes these folders
Demo.m
21 pred = model.forward(img);

is there any error message? i didn't test window version before.

MATLAB issues a statement in console
Failure in callmxnet .m at line 26
that line is calllib to libmxnet See below
`
24 assert(ischar(func))
25 ret = calllib('libmxnet', func, varargin{:});
26 assert(ret == 0)
27 end
`
I set a breakpoint and saw that the function was being called with the following parameters
func is MXPredCreatePartialOut
varargin is cell of 12 elements
I suspect this is about locating or loading libmxnet which is in folder \mxnet\lib while the code is in \mxnet\matlab+mxnet\private

I used binary option( Did not compile anything). I am on Win10 64 bit version. the environment variable MXNET_HOME is set up .
Since I was able to run the examples with prediction using R Studio I suspect this is a MATLAB issue.

Hoping to get some insight. Now I have used MXNET extenisvly with R and Python. The R DRAT and binary install method seems to work. I wanted to check is there is a conflict as mxnet is added as a library in R with code in folder under R_USERLIB ( not in R_HOME) and in Python under Anaconda . Do the DLL get placed in various follers with chance of conflict. If I am running a example in R and in Python using MXNET at same time will it be Ok

I get the same error on CPU version:
Is this because of CPU version? Do I need to change something in the model to be able to run it on CPU?
Error using callmxnet (line 26)
Assertion failed.
Error in mxnet.model/forward (line 136)
callmxnet('MXPredCreatePartialOut', obj.symbol, ...

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!


Support awsbatch scheduler with COMPUTE_FLEET_STOP UpdatePolicy

The COMPUTE_FLEET_STOP update policy was referring to ASG also with
awsbatch scheduler. That could lead to errors during the creation of a PclusterPatch for a pcluster update command
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #1811 into develop will decrease coverage by 0.02%.
The diff coverage is 25.00%.

@@             Coverage Diff             @@
##           develop    #1811      +/-   ##
===========================================
- Coverage    54.62%   54.60%   -0.03%
===========================================
  Files           28       28
  Lines         4419     4423       +4
===========================================
+ Hits          2414     2415       +1
- Misses        2005     2008       +3

Impacted Files
Coverage Δ

cli/pcluster/config/update_policy.py
71.42% <ø> (ø)

cli/pcluster/utils.py
47.85% <25.00%> (-0.27%)
:arrow_down:

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 6f2f79f...409f5cb. Read the comment docs.


[WIP] Add 'add-background' parameter to VOC converter

Summary

Added 'add-background' parameter to VOC converter

How to test

Checklist

[x] I submit my changes into the develop branch
[x] I have added description of my changes into CHANGELOG
[x] I have updated the documentation accordingly
[x] I have added tests to cover my changes
[ ] I have linked related issues

License

[ ] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[ ] I have updated the license header for each file (see an example below)

# Copyright (C) 2021 Intel Corporation
#
# SPDX-License-Identifier: MIT

I will close this PR. I'll come back to this question when I'm doing experiments on conversion


Randomize table names on tests for SPEED

This enables us to run multiple tests in parallel.

Nice! it did feel a bit unfortunate putting --test-threads=1 everywhere :D


Loss Layer

Hello I still confuse here, for example what is our model output size and mask size. Suppose :
size = [batch, channel, height, width]
batch = 8
height = 96
width = 160
number of class = 2
model output = [8, 2, 96, 160] -> channel = 2 because class = 2
mask = [8, 1, 96, 160] -> channel = 1, which consist of 0 and 1 pixel value

How did you do this with CrossEntrophy2D?

Turn the mask into a 2-channel one (one channel for foreground class and another channel for background class). Or just use sigmod + BCELoss2D.

So you means the mask is in one hot encoding form?, then how to do BCELoss2D?, I just see your code in CrossEntrophy2D you use  nn.nllloss2D, if I am using BCELoss2D, should I use log_softmax after the BCELoss?, and for your  CrossEntrophy2D why it not use sigmoid before nn.nllloss2D?

Yes, one hot encoding form. BCELoss can be used for any shape of data, which means you do not need to write an extra one.


Suggestion: move to docker's libkv

I stumbled upon a very cool library called libkv.
If we move to libkv, and donate our backend code to libkv, we can drop support to all the backends and make confd slimmer.
libkv provides a Go native library to store metadata.
The goal of libkv is to abstract common store operations for multiple distributed and/or local Key/Value store backends.
For example, you can use it to store your metadata or for service discovery to register machines and endpoints inside your cluster.
...
As of now, libkv offers support for Consul, Etcd, Zookeeper (Distributed store) and BoltDB (Local store).

As long as we can make it all backwards compatible, I'm all for it.

:+1:
Does libkv also handle environment variables?

It looks like an unnecessary level of abstraction and is just not generic enough. Closing this one for now.


are issues carried over from a template repo?

The answer is a definitive no. I'll plan to create a few issues to get started along with a simple Kanban board. @RandiLGarcia @calegacy


monzo to ynab issues

I am having some issues getting this to work with my Monzo account.
when I try to run the import I am getting to following error:
NameError: undefined local variable or method monzo_access_token' for main:Object
`
I am very likely missing something as the instructions are not very clear.
Any help would be great

Hey
monzo_access_token is a variable you need to assign.
monzo_access_token = 'blah'
monzo_account_id = 'blah'
ynab_account_id = 'blah'
Import::Monzo.new(monzo_access_token, monzo_account_id, ynab_account_id).import

i have it assigned along with the rest of them

Those are environment variables for the webhook setup, not the one off import scripts. You need to assign them like above for the one off import scripts.

That makes more sense thanks seems to be working. I am struggling to get the webhook to work though is there a way of testing it without spending any money?


Investigate using DataFusion

Arrow DataFusion is a modular query engine toolkit focused on OLAP use cases.
Oxigraph query evaluation system is currently very primitive, it might be interesting to evaluate if DataFusion can be used as a base for a new query evaluation system, making use of all the work done in DataFusion around optimization and vectorized evaluation.
Some challenges:

figure out a good RDF encoding on top of Arrow (the internal representation used by DataFusion)
check how many DataFusion query plan operators can be reused for SPARQL
figure out the data update story around DataFusion: how can we support data deletion and transactions while using DataFusion?

Note that it is also possible to rewrite SHACL to SPARQL and SQL: Compiling SHACL into SQL
Maxime Jakubowski et al


Localization added

Views is possible to localise to foreign languages.
Removed tilt gem because of colision with dependencies of gem sass in Rails 4 app. Gem looks like unused in sidekiq-scheduler.

@elpic changed string key to key like uses Sidekiq original (ref.: https://github.com/mperham/sidekiq/blob/master/web/locales/en.yml)

@elpic done

Ok thank you


[BUG] Read-only state "rct.0.info.connection" has been written without ack-flag with value "false"

Describe the bug
Read-only state "rct.0.info.connection" has been written without ack-flag with value "false"
To Reproduce
Configure an instance and use an ip-address which is unused
Expected behavior
info.connectio  shoudl always be set correctly
Screenshots & Logfiles
If applicable, add screenshots and logfiles to help explain your problem.
Versions:

Adapter version: 1.2.4
JS-Controller version: 5.0.19
Node version: 18.20.1
Operating system: Raspbian

Additional context
Add any other context about the problem here.

Auch dieses Thema sollte mit 1.2.5 erledigt sein.
Bitte um kurze Bestätigung 😃

Taucht nicht mehr im Log auf !


download_data.py problems

Python 2.7.10

Maybe a python 3 thing? Or a 'force you to read the code, idiot' sort of thing? :-)

python download_data.py
File "download_data.py", line 28
def extract() -> None:
^
SyntaxError: invalid syntax
Deleted the '-> None' pattern after ().

urllib problems - Python 3 req't?

File "download_data.py", line 2, in
import urllib.request
ImportError: No module named request
(tensorflow) priot arc-pytorch% pip install urllib
Collecting urllib
Downloading urllib-1.21.1.tar.gz (226kB)
...
Successfully installed urllib-1.21.1
(tensorflow) priot arc-pytorch% !py
python download_data.py
Traceback (most recent call last):
File "download_data.py", line 2, in
import urllib.request
ImportError: No module named request

solved by

import urllib
...
urllib.urlretrieve(...)

Hi @phobrain, I wrote in Python 3. Sorry :/
You would need a virtual environment with Python 3 and pytorch>=0.2
I guess it should be possible to make the code cross-compatible across Python versions . Not sure though.


Add :serializer to Getting Started config

This avoids an error on application start, which I got right after following the guide step by step:
** (Mix) Could not start application eventstore: exited in: EventStore.Application.start(:normal, [])
    ** (EXIT) an exception was raised:
        ** (ArgumentError) EventStore storage configuration expects :serializer to be configured in environment
            (eventstore) lib/event_store.ex:229: EventStore.configured_serializer/0
            (eventstore) lib/event_store/supervisor.ex:5: EventStore.Supervisor.start_link/1
            (kernel) application_master.erl:273: :application_master.start_it_old/4

Thanks for the pull request @florish.


🐞 - .tui-editor-socket

Which @taiga-ui/* package(s) are the source of the bug?
addon-editor
Please provide a link to a minimal reproduction of the bug
https://stackblitz.com/edit/taiga-starter
Is this issue blocking you?
Non-Blocking
Description
Please remove !import in .tui-editor-socket blockquote. This prevents from setting values
Angular version
13.3.5
Taiga UI version
2.62.4
Which browsers have you used?

[ ] Chrome
[ ] Firefox
[ ] Safari
[ ] Edge

Which operating systems have you used?

[ ] macOS
[ ] Windows
[ ] Linux
[ ] iOS
[ ] Android

@splincode please check this one when you're back, maybe that !important is not necessary, or if it is — let us know what for :)

@waterplea The custom style is ignored


Bug 1915807: [release-4.7] Enable new topology labels from Kubernetes

In ocs-operator we have been using two deprecated  topology label prefixes failure-domain.beta.kubernetes.io and failure-domain.kubernetes.io.
The recommended label to use is topology.kubernetes.io. In this PR, we add support for the new label while also adhering to the following rules:

In a new install use only the new label
In existing setups, switch to the new label only if all the nodes have a equivalence of the labels i.e if node1 has zone1 set on the old labels then the new label should also have zone1 as its value.
In existing setups, if the values for all three labels don't match then we continue to use the old labels.
We also start persisting the failure domain key and values in the StorageCluster Status. This will probably make it easy to make a forced switch of label in a later release.

/test ci-index

Created a backport manually as the https://github.com/openshift/ocs-operator/pull/990 isn't backport and was leading to conflicts.

/retest

/bugzilla refresh

/bugzilla refresh


Question about running FQF agent on Breakout

Hi, I ran the FQF agent on Breakout, but just turned out to get a curve that collapses in the middle(like in the attachment).

The command I was using is
python3 -u train_fqf.py --cuda --env_id BreakoutNoFrameskip-v4 --seed 0 --config config/fqf.yaml .
And the hyperparameters is the default ones.
Should I adjust some hyperparameters to get a curve that you have achieved?

@Bowen-He
In a personal communication, the author mentions the following. Your problem seems to be related to it.

We did not use the regularization term in our implementation. The reason why we mention this term is because that in some rare case (about 1 out of 20 seeds), the proposed fraction may degenerates into a deterministic one (e.g. [0,0,0,...,1,0,...]).

In FQF paper, the author proposed to use the entropy bonus (regularization term) to prevent it.
I implemented it so that you can use the entropy bonus setting ent_coef bigger than 0 in the config.
(I haven't tested it due to the limited resources.)
Thanks.

@ ku2482
Thank you! I'll do experiments immediately, and see if there is any change. I've done with seed 0 and seed 5, but they all fall into the same situation eventually. Hope a regularizer could help!

@ku2482
Thank you! I'll do experiments immediately, and see if there is any change. I've done with seed 0 and seed 5, but they all fall into the same situation eventually. Hope a regularizer could help!

@ku2482
Hi! I used the entropy loss, and code just runs well. And I still have a question about the returns. Could you please tell me why the train return is so far from the test return. I checked train_episode() and evaluate() in base_agent.py, but I couldn't get the explaination here.

@Bowen-He
Thank you for sharing the result ;)
We clip the reward when training.
https://github.com/ku2482/fqf-iqn-qrdqn.pytorch/blob/master/fqf_iqn_qrdqn/env.py#L166


Unexpected Response (<NSHTTPURLResponse:...

Nextstats version 3.0.8, although I believe error  started sometime in/after version 3.0.5.
I have Nextcloud installed to a sub-folder.
When I try to setup a new server entry (new phone), I get an error: Unexpected Response (<NSHTTPURLResponse:...

I also tried to populate Server URL: without the sub-folder, same error.
Update: I still have my old phone with existing Nextstats entry, here's the full error output from there: Unexpected Response (<NSHTTPURLResponse: 0x303fb60c0>:

Thanks, I modified the way it builds urls a while back and it removed the entire path component.
I have modified the way it builds urls to account for subfolders and it is in the latest build. I am waiting for App Review to approve it.

App store updated. Tested and works. Thanks!


pcl fails to complete

I am trying to follow the directions carefully. When runnning .\install.sh in step 8 it just quietly stops after displaying 'configuring pcl' the log file for pcl looks like this:
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Using CPU native flags for SSE optimization:  -march=native
-- Performing Test HAVE_MM_MALLOC
-- Performing Test HAVE_MM_MALLOC - Success
-- Performing Test HAVE_POSIX_MEMALIGN
-- Performing Test HAVE_POSIX_MEMALIGN - Success
-- Performing Test HAVE_SSE4_2_EXTENSIONS
-- Performing Test HAVE_SSE4_2_EXTENSIONS - Failed
-- Performing Test HAVE_SSE4_1_EXTENSIONS
-- Performing Test HAVE_SSE4_1_EXTENSIONS - Success
-- Performing Test HAVE_SSE3_EXTENSIONS
-- Performing Test HAVE_SSE3_EXTENSIONS - Success
-- Performing Test HAVE_SSE2_EXTENSIONS
-- Performing Test HAVE_SSE2_EXTENSIONS - Success
-- Performing Test HAVE_SSE_EXTENSIONS
-- Performing Test HAVE_SSE_EXTENSIONS - Success
-- -- GCC > 4.3 found, enabling -Wabi
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp
-- Found OpenMP
CMake Error at /usr/share/cmake-2.8/Modules/FindBoost.cmake:1202 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.46.1

  Boost include path: /usr/include

  Detected version of Boost is too old.  Requested version was 1.47 (or
  newer).

  The following Boost libraries could not be found:

          boost_system
          boost_filesystem
          boost_thread
          boost_date_time
          boost_iostreams
          boost_chrono

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
Call Stack (most recent call first):
  cmake/pcl_find_boost.cmake:34 (find_package)
  CMakeLists.txt:239 (include)

-- checking for module 'eigen3'
--   found eigen3, version 3.0.5
-- Found Eigen: /usr/include/eigen3
-- Eigen found (include: /usr/include/eigen3, version: 3.0.5)
-- checking for module 'flann>=1.7.0'
--   found flann, version 1.7.1
-- Found FLANN: /usr/lib/libflann_cpp.so (Required is at least version "1.7.0")
-- FLANN found (include: /usr/include, lib: optimized;/usr/lib/libflann_cpp.so;debug;/usr/lib/libflann_cpp.so)
-- checking for module 'metslib'
--   package 'metslib' not found
-- Found ZLIB: /usr/lib/i386-linux-gnu/libz.so (found version "<IP_ADDRESS>")
-- Found PNG: /usr/lib/i386-linux-gnu/libpng.so
-- Found Qhull: /usr/lib/libqhull.so
-- QHULL found (include: /usr/include/qhull, lib: optimized;/usr/lib/libqhull.so;debug;/usr/lib/libqhull.so)
-- VTK_MAJOR_VERSION 5
-- Could NOT find QVTK (missing:  QVTK_LIBRARY)
-- VTK found (include: /usr/include/vtk-5.8, lib: /usr/lib/)
-- Looking for XOpenDisplay in /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/i386-linux-gnu/libX11.so
-- DOXYGEN_FOUND
-- HTML_HELP_COMPILER
-- Found CPack generators: DEB
-- The following subsystems will be built:
-- The following subsystems will not be built:
--   common: Requires external library boost.
--   geometry: Disabled manually.
--   octree: Requires common.
--   io: Requires octree.
--   kdtree: Requires common.
--   search: Requires octree.
--   sample_consensus: Disabled manually.
--   filters: Disabled manually.
--   features: Disabled manually.
--   segmentation: Disabled manually.
--   visualization: Disabled manually.
--   surface: Requires octree.
--   registration: Disabled manually.
--   keypoints: Disabled manually.
--   tracking: Disabled manually.
--   recognition: Disabled manually.
--   apps: OpenNI was not found.
--   outofcore: Disabled manually.
--   examples: Code examples are disabled by default.
--   people: Disabled manually.
--   global_tests: No reason
--   tools: Disabled manually.
-- Configuring incomplete, errors occurred!

Editing install.sh to install libboost1.48-all-dev instead of libboost-all-dev gets me past previous error, but then building fails with this:
vagrant@precise32:/vagrant_data/OpenDroneMap/logs$ more pcl_2_build.log
Scanning dependencies of target pcl_common
[  1%] Building CXX object common/CMakeFiles/pcl_common.dir/src/point_types.cpp.o
[  2%] Building CXX object common/CMakeFiles/pcl_common.dir/src/pcl_base.cpp.o
[  4%] Building CXX object common/CMakeFiles/pcl_common.dir/src/io.cpp.o
[  5%] Building CXX object common/CMakeFiles/pcl_common.dir/src/common.cpp.o
[  6%] Building CXX object common/CMakeFiles/pcl_common.dir/src/correspondence.cpp.o
[  8%] Building CXX object common/CMakeFiles/pcl_common.dir/src/distances.cpp.o
[  9%] Building CXX object common/CMakeFiles/pcl_common.dir/src/parse.cpp.o
[ 11%] Building CXX object common/CMakeFiles/pcl_common.dir/src/poses_from_matches.cpp.o
[ 12%] Building CXX object common/CMakeFiles/pcl_common.dir/src/print.cpp.o
[ 13%] Building CXX object common/CMakeFiles/pcl_common.dir/src/projection_matrix.cpp.o
[ 15%] Building CXX object common/CMakeFiles/pcl_common.dir/src/time_trigger.cpp.o
[ 16%] Building CXX object common/CMakeFiles/pcl_common.dir/src/gaussian.cpp.o
[ 18%] Building CXX object common/CMakeFiles/pcl_common.dir/src/bearing_angle_image.cpp.o
[ 19%] Building CXX object common/CMakeFiles/pcl_common.dir/src/range_image.cpp.o
[ 20%] Building CXX object common/CMakeFiles/pcl_common.dir/src/range_image_planar.cpp.o
[ 22%] Building C object common/CMakeFiles/pcl_common.dir/src/fft/kiss_fft.c.o
[ 23%] Building C object common/CMakeFiles/pcl_common.dir/src/fft/kiss_fftr.c.o
Linking CXX shared library ../lib/libpcl_common.so
CMake Error: cmake_symlink_library: System Error: Protocol error
CMake Error: cmake_symlink_library: System Error: Protocol error
make[2]: *** [lib/libpcl_common.so.1.7.2] Error 1
make[1]: *** [common/CMakeFiles/pcl_common.dir/all] Error 2
make: *** [all] Error 2

I see the vm is recognized by the the vb manager software. I just went in and unshared the two folder that were shared and am re-running install.sh to see if it goes past this error now. I'll let you know.

Ah, revise so that ODM is moved to and installs from an unshared folder (but keep the existing shared vagrant and vagrant_data folders), and add that to your pull request for the README changes (https://github.com/bgirardot/odm_vagrant/blob/bgirardot-steps-suggestion/README.md).
The issue appears to be the use of symlinks in the latest ODM revisions which NTFS doesn't support.

Ah, revise so that ODM is moved to and installs from an unshared folder (but keep the existing shared folders shared)

I am working on this, but new to vagrant so it is taking a bit longer than usual :)

No worries. Let me know if you need any help.

Oh I appreciate the offer. I think I have it all figured out now. We just create an additional directory in the linux vm and clone the odm repo there and then run install.sh.
I am just double checking i have all the steps correct since I took 1 out (I don't think we need a vagrant_data directory in the Windows file system) and added a couple for the new directory and such.
I'll have a PR for it tomorrow after a triple check.

Cool.


Update Remove-PnPExternalUser.md

Type

[ ] Bug Fix
[ ] New Feature
[ ] Sample
[x] Documentation

Related Issues?
n/a
What is in this Pull Request ?
Removed Scope parameter description.

Thank you @PowershellScripts for improving our docs 😊🙏

Thank you @PowershellScripts for improving our docs 😊🙏

Thank YOU @gautamdsheth, @KoenZomers, and the entire Team for the amazing work you do 🙏🙏🙏. The cmdlets are awesome, reliable, and very helpful in endless cases. From one-time on-prem scripts to endlessly running Azure Functions.
I use them every day, noticed the docs could benefit from a bit of proof-reading, and wanted to give a tiny bit back.


WorkspaceView.prependToTop is deprecated.

Please use Workspace::addTopPanel() instead
WorkspaceView.prependToTop (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace-view.js:134:7)
ScriptOptionsView.initialize (/Users/tangshi/.atom/packages/script/lib/script-options-view.coffee:51:23)
ScriptOptionsView.View (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/node_modules/space-pen/lib/space-pen.js:184:25)
new ScriptOptionsView (/Users/tangshi/.atom/packages/script/lib/script-options-view.coffee:12:54)

This is a duplicate. Please see #407 which resolves it.

This is a duplicate. Please see #407 which resolves it.


Combine set actions

Add "Combine set actions" rule
Add Under consideration and References sections
add rule: Prefer single quote or backtick for String.  …
add rule: Add propTypes to every components
add rule: Use multiple lines when we need to pass more than one props.

Slack integration test.


Listener Created Button Doesn't Work

I created button via listener and it didn't work.

Create a listener
Add listener to button which will created dynamically.
You will need to refresh the page to make button work.

Button should work without refresh, I think it is about binding.
Here is my case, table data updated by select box selections, but buttons doesnt work without refreshing page.

I use Safari browser.

Could you provide steps to reproduce?

My screen layout method:
`    public function layout(): array
{
    return [
       QrQtyListener::class
        ];
}`

My listener :
`    public function layout(): array
{
    return [
      QrProductsListLayout::class,
        ];
}`

My Layout :
`    public function columns(): array
{
    return [
        TD::make('name', 'Ürün İsmi')->sort(),
        TD::make(__('Delete'))
            ->align(TD::ALIGN_CENTER)
            ->width('100px')
            ->render(function (ModelsProducts $product) {
                return Button::make('Sil')
                    ->icon('trash')
                    ->action('platform.qrone.delete',$product);}),
    ];
}`


Provide EEPROM restore function in Mobiflight

Is your feature request related to a problem? Please describe.
Sometimes a Mobiflight module may get a corrupted EEPROM.  Currently there is no way to fix this issue from inside Mobiflight.  The user has to install the Arduino IDE and load the eeprom_clear sketch, to then have to reload the firmware as a brand new board and then finally reload the board configuration.
Describe the solution you'd like
I propose that a new button should be added in the Mobilfight modules window to restore the EEPROM of the currently selected module.  This should be easy to implement, as the firmware already includes the EEPROM read and write functions.  The function should first, clear EEPROM before restoring the board SN, Name and firmware version.  The current board configuration should also be restored (maybe as an option?).  All of this information is already contained in the mfmc file.  The board firmware does not require reloading and the board configuration is restored in working order without the known hassles of clearing the EEPROM.
Describe alternatives you've considered
Arduino IDE is the alternative, but is a long process and the user has to reload the firmware and the board configuration again.  Not really a good option for regular MF users.
Additional context
None

Hi....
If i remember right Seb and me talk about that 1-2 Years ago..... may also you was involved....
There was a logical problem that time we not have a good idea to manage....
After the EEPROM Clear ( sketch is set to the board) there must be done a Restart of the Mega ( As i know done in the IDE by using the UPLOAD System itself.
So how should we make this with MF ? .... Pretty sure we could use our system ( same way as we update firmware) to send the EEPROM Clear Sketch....  And we could also trigger the restart same way.
BUT. .... Then the Board is "new"  And it is technical no longer shown in MF.
In the past we thought it will be possible if the user THEN Restart MF by hand.....  But Seb wants a fully automatic process.
So....  Should MF in the fututre make the initialize process a second time to detect the "now new" Mega again ?
Also about the Automatic Device Restore..... I think a wonderfull idea..... But how should MF "know" the stored data ?
We can not read them from the board in case the Board is still corrupted in the moment we use that tool.
Otherwise MF can not know what MFMC File stored the needed data for taht board !

So nice idea..... I fully agree and looking forward to it.   But i see some problems in the posibility..... right ?

What I had in mind is using the MF firmware eeprom read and write functions to first read the entire eeprom region and wherever location the read byte is not 255, write back 255. This is what the eeprom clear sketch does. Then write the eeprom "header" that contains the name, SN and version. This function already exists and is used on new boards, except in this case the info will come from the mfmc file. Lastly restore the device configs which is also an existing function.
All done within mobiflight. No sketch to load and no reset needed. The only missing piece is the eeprom clear which IMO is very easy.

It is only required to write a 0x00 to the first loacation of the config in the EEPROM. An following config read gets this NULL as first byte and the config is interpeted as empty.
The best way to do this would be a new function in the FW (new command) which will be activated by the connector.
Remark:
In the actual FW after uploading the FW on a new board the first read of the config results in transferring of MEMLEN_CONFIG (256 for promicro) times 0xFF as the EEPROM is also cleared (0xFF). This is not recognized by the user as the connector interprets this as empty config.
With the new (for now) beta FW this has changed. After first upload of a new FW and the EEPROM contains NO serial number, a serial number is created (like always) and the first byte of the config in the EEPROM is set to 0x00 to avoid transfering a config with only 0xFF.
Furthermore I have the hope that with the other changes a corrupted EEPROM will not happen anymore (but we will see).

I will close this, FW is now way more stable with all the improvements and https://github.com/MobiFlight/MobiFlight-Connector/issues/177 would be still a way for the user to start over from scratch.


Local Webhost Server

Add locally hosted server for remote web access/monitoring (Longer Term Project)

We have switched to a different way of managing future upgrades/improvements. This is still on the to-do list, but being removed from here.