Key our results in carbontxt previews by domain

This changes the carbontxt preview to screen to show the results of each domain lookup keyed to the domain used. This makes it clearer what provider we found when doing a lookup

I'm closing this in favour of merging in https://github.com/thegreenwebfoundation/admin-portal/pull/442, which has the correct issue in the name  for future reference.


Fix: Red dot persists after removing phone number contact method

Details
Added sms domain if the new contact method is phone number to prevent multiple keys creation in the onyx.
Fixed Issues

$ https://github.com/Expensify/App/issues/17889
PROPOSAL: https://github.com/Expensify/App/issues/17889#issuecomment-1520828685
Tests

Go to Settings -> Profile -> Contact Method -> New contact method
Provide an invalid phone number for your region and click on Add button
On the methods list page, Select this added method which also has the Red dot because of the error
Remove the method and Verify there is no Red dot persisting after removing this contact method

[X] Verify that no errors appear in the JS console

Offline tests

Go to Settings -> Profile -> Contact Method -> New contact method
Provide an invalid phone number for your region and click on Add button
On the methods list page, Select this added method which also has the Red dot because of the error
Remove the method and Verify there is no Red dot persisting after removing this contact method

QA Steps

Go to Settings -> Profile -> Contact Method -> New contact method
Provide an invalid phone number for your region and click on Add button
On the methods list page, Select this added method which also has the Red dot because of the error
Remove the method and Verify there is no Red dot persisting after removing this contact method

[X] Verify that no errors appear in the JS console

PR Author Checklist

[X] I linked the correct issue in the ### Fixed Issues section above
[X] I wrote clear testing steps that cover the changes made in this PR

[X] I added steps for local testing in the Tests section
[X] I added steps for the expected offline behavior in the Offline steps section
[X] I added steps for Staging and/or Production testing in the QA steps section
[X] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[X] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[X] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[X] I included screenshots or videos for tests on all platforms
[X] I ran the tests on all platforms & verified they passed on:

[X] Android / native
[X] Android / Chrome
[X] iOS / native
[X] iOS / Safari
[X] MacOS / Chrome / Safari
[X] MacOS / Desktop

[X] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[X] I followed proper code patterns (see Reviewing the code)

[X] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[X] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[X] I verified that comments were added to code that is not self explanatory
[X] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[X] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[X] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[X] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[X] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[X] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[X] I verified the JSDocs style guidelines (in STYLE.md) were followed

[X] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[X] I followed the guidelines as stated in the Review Guidelines
[X] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[X] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[X] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[X] I verified that if a function's arguments changed that all usages have also been updated correctly
[X] If a new component is created I verified that:

[X] A similar component doesn't exist in the codebase
[X] All props are defined accurately and each prop has a /** comment above it */
[X] The file is named correctly
[X] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[X] The only data being stored in the state is data necessary for rendering and nothing else
[X] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[X] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[X] All JSX used for rendering exists in the render method
[X] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[X] If any new file was added I verified that:

[X] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[X] If a new CSS style is added I verified that:

[X] A similar style doesn't already exist
[X] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[X] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[X] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[X] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[X] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[X] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[X] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/14358475/236464256-1ba9d7b9-934f-4423-bcfa-6cd702f87322.mp4

Mobile Web - Chrome
abcd.webm

Mobile Web - Safari
https://user-images.githubusercontent.com/14358475/236469460-2f4e46c9-0830-4319-bae7-de3e5ce597cc.mp4

Desktop
https://user-images.githubusercontent.com/14358475/236470389-e2dd7e76-be64-4b01-a423-2ffdd292408c.mov

iOS
https://user-images.githubusercontent.com/14358475/236469038-7a2ec90d-a9b1-4885-a894-73fb503cc0b5.mp4

Android
aancd.webm

Merging! I tested it and it seems to be working well!

HI, just found that this merge may be actually redundant. We have already fixed this on https://github.com/Expensify/App/pull/18536.

@pecanoro On another similar scenario (don't have link now) we ended up paying both reporters. But this one seems a little different since the bug reporter is the same. I think the bug bounty should be paid once ($250).
As for this PR, can you please revert it? Not only because it's redundant but it's following a "wrong" pattern: The login that we check here https://github.com/Expensify/App/blob/0eb6495065db106c11217e4a869ef71f8e87482d/src/pages/settings/Profile/Contacts/NewContactMethodPage.js#L86 should be the same that we end up submitting here https://github.com/Expensify/App/blob/0eb6495065db106c11217e4a869ef71f8e87482d/src/pages/settings/Profile/Contacts/NewContactMethodPage.js#L91
But it's not, we check userLogin but submit addSMSDomainIfPhoneNumber(userLogin)
We should have called addSMSDomainIfPhoneNumber in line 83 so we submit what we check.
https://github.com/Expensify/App/blob/0eb6495065db106c11217e4a869ef71f8e87482d/src/pages/settings/Profile/Contacts/NewContactMethodPage.js#L83

@s77rt I think with my change when we try to add the same phone number again it skips this part but it should not - due to the comparison of non-sms domain number with sms domain number.
https://github.com/Expensify/App/blob/802e406cc8a7f8d5677061a13b2a5b4076f0bae5/src/pages/settings/Profile/Contacts/NewContactMethodPage.js#L85-L89
Can't we merge these 3 lines directly with OptionsListUtils.addSMSDomainIfPhoneNumber(login) or can't due to the replacement of special chars getPhoneNumberWithoutSpecialChars?
https://github.com/Expensify/App/blob/802e406cc8a7f8d5677061a13b2a5b4076f0bae5/src/pages/settings/Profile/Contacts/NewContactMethodPage.js#L81-L83

@Pujan92 I'm not sure you understood my point. Here is the workflow:

Make sure loginA does not exist
Add loginA

Here is what we are doing

Make sure loginA does not exist
Add loginB

@s77rt  I understood your point and tried to provide an example for it(where it gets failed).

At this point I don't think it will fail. I just pointed it as a "wrong" pattern.

I meant if the other PR won't be there and only mine was merged then this logical issue may present. At this point, I agree it won't as we are adding the sms domain earlier before the existence check of the given login value. With that, I think we can revert this PR as seems not required now.

@Pujan92 Can you create a revert PR then? We will still issue payment anyways as all the work was done when we realized about the duplicate.

🚀 Deployed to staging by https://github.com/pecanoro in version: 1.3.13-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[api-docs] Fix links to message reference structure

A new commit was made into the api-docs repo. This issue was created automatically. Need to review if we made any change to the library for this commit.
https://github.com/discord/discord-api-docs/commit/5afb7d0233846dac2b9d4d1d3b225dbc16e8bad1

This commit will not effect our lib's code. No changes required.


Add new jobs to Box Station

About the PR
Box Station Update:

Added a reporter's office with his spawn

Added a psychologist's office with his spawn

Boxer spawn added

These roles are exciting, but they are on a small number of maps. I converted an unnecessary office above the cargo hold into a reporter's office, and near the medical center in the former maintences, I made a psychologist's office. The Box Station ring was already there a long time ago, so I just added the Boxer Spawn.
Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog
:cl:

add: A reporter and a psychologist now have their own offices at Box Station

the map is not meant to have these jobs, they are station specific jobs for marathon and bagel

i think psychologist is fine here but youll want to pull master and use that mapfile since this one is outdated to the most recent box update. i dont want reporter or boxer on box i think itll be a bit too much

i think psychologist is fine here but youll want to pull master and use that mapfile since this one is outdated to the most recent box update. i dont want reporter or boxer on box i think itll be a bit too much

box station
no boxer

i think psychologist is fine here but youll want to pull master and use that mapfile since this one is outdated to the most recent box update. i dont want reporter or boxer on box i think itll be a bit too much

Okay, so I need to remove the reporter's and boxer's office?

youll probably just want to start on a fresh up to date map since this one conflicts with the last map update


Mazda Radar Intercept. Work in progress

This is main part of the mazda radar intercept code.

Can you break out the radar interface into its own PR? Do we already have the radar messages on our existing harness or does the interceptor enable this?

Do we already have the radar messages on our existing harness or does the interceptor enable this?
Before I go into this I just want to say that I have the code completed and about 10 people are using it.
OpenPilot could see the radar addresses on bus 0 but that is not how it's used. In order to actually use longitudinal, you need to:

Run a cable to the radar canbus and tie it to the camera bus. This isolates the radar signals so we can intercept the data.
The radar signals will be on the camera bus, and we need to pass through some parts of those signals because we are not doing full emulation. So we need to add radar signals and checks to get_cam_can_parser() so they can be passed to create_radar_command(). In mazda_2017.dbc I define the radar track signals as MSG1 (32bits), MSG2 (28bits), and CTR1 (4bits). This allows me to easily pass through all the radar tracks in create_radar_command(cp_cam).

if (frame % 10 == 0):
      for addr in range(361,367):
        addr_name = f"RADAR_{addr}"
        msg = CS.cp_cam.vl[addr_name]
        values = {
          "MSGS_1" : int(msg["MSGS_1"]),
          "MSGS_2" : int(msg["MSGS_2"]),
          "CTR"    : int(msg["CTR"])
        }
        ret.append(packer.make_can_msg(addr_name, 0, values))

The actual radar track data is defined in mazda_radar.dbc. These definitions only contain the relevant track data as there is some data in the radar tracks that I haven't figured out.
("ANG_OBJ", msg, 0),
("DIST_OBJ", msg, 0),
("RELV_OBJ", msg, 0),

Update panda safety_mazda.h to block the radar signals from being passed through.
Enable longitudinal and call create_radar_command() in carcontroller.py

We cannot use the designated radar bus on the harness because we need mux that bus to the obd port on-road for other reasons.

Can you break out the radar interface into its own PR?

#25321

FYI some other cars like this we disable the radar with UDS commands and then openpilot can control longitudinal without needing to run an extra harness. Hyundai we even still get the radar points when the radar is disabled.
Some people do run an extra harness to pass through AEB from the radar, but I don't believe we currently support this setup for any vehicles, so those people would currently be on forks.

FYI some other cars like this we disable the radar with UDS commands and then openpilot can control longitudinal without needing to run an extra harness. Hyundai we even still get the radar points when the radar is disabled.
Some people do run an extra harness to pass through AEB from the radar, but I don't believe we currently support this setup for any vehicles, so those people would currently be on forks.

I heard of that but full emulation is difficult. I have not tried to disable the radar but I would imagine if it's disabled there would be more issues. So what your saying is that if i need to run a harness you won't upstream?

FYI some other cars like this we disable the radar with UDS commands and then openpilot can control longitudinal without needing to run an extra harness. Hyundai we even still get the radar points when the radar is disabled.

Is this what hyundai_enable_radar_points.py is doing? How do you find out which UDS command can change this behavior? Thanks.


Add a classical simulator to Cirq

The feature request is to add a classical simulator which can simulate X / CNOT and multi-controlled X gates, similar to ToffoliSimulator in Q#
See https://docs.microsoft.com/en-us/azure/quantum/machines/toffoli-simulator
cc @mpharrigan to add more context
P2 - we should do it in the next couple of quarters
cc @augustehirth This would need documentation once we get this done.

Note we've got a very basic implementation already in the test case for custom_simulator: https://github.com/quantumlib/Cirq/blob/master/cirq-core/cirq/contrib/custom_simulators/custom_state_simulator_test.py
I recommend starting there, copying it to its own non-test file, and then fleshing it out with @cduck's code linked in #3079.

Also note one feature missing from @cduck's implementation is decomposition strategy as a fallback. (I noticed this in MPS simulator too--probably this logic should go into SimulatorBase so that all the simulators do a decomposition fallback by default).

I have a student who can do this project.

@daxfohl the example custom simulator doesn't support things like e.g. CNOT. Do we have to switch on the gate type in _act_on_fallback_? It's probably necessary for gates themselves to declare how to operate on computational basis states like how gates know how to act on a state vector

Correct, @cduck's implementation has the proper state transition logic. My example shows how to integrate into the custom simulator infrastructure so that you get subcircuit traversal, classical control, etc. for free. So the actual implementation needs to combine these two things.

How though? Is act_on_fallback supposed to interrogate the gate to see if it has a magic method that knows how to act on a classical state?

Using protocols, like https://github.com/cduck/cirqtools/blob/master/cirqtools/classical_simulator.py#L118-L149.

I was imagining having methods on classical gates that could express their classical action on a bitstring without tensoring up a unitary

I see, yeah you could make a new protocol like apply_to_bitstring(bitstring) -> bitstring and supplement cduck's method like
        if cirq.has_application_to_bitstring(op):
           state = cirq.apply_to_bitstring(op, state, indices)
        elif cirq.has_unitary(op):
            self._simulate_unitary(op, state, indices)
        else:
            self._simulate_mixture(op, state, indices)

or something along those lines. That way you get the apply_to_bitstring shortcut plus the ability to fall back to unitary if that protocol was not implemented on the gate.

From Cirq sync: reverting back to accepted. @viathor let us know if there's anything you'd like to discuss

Oh, I think I added triage/discuss by accident (probably missed that the issue already had a triage/* label).

@mpharrigan As discussed offline, can you write a brief comment / code piece describing how the simulator using the protocol to act on a numpy array and falling back to the unitary application would look like? And potential advantages and challenges in using the protocol to act on 2D numpy arrays for sampling multiple classical input states in a vectorized fashion?
@dstrain115 How's the progress on this with the student? Are there any roadblocks in the initial exploration?

Hello, I'd like to take a stab at this issue. I was not involved before. Will read through current implementation and comment history and then provide a comment with my understanding and strategy for the implementation.

@navaro1 Thanks! I've assigned the issue to you. Looking forward to your follow up summary comment.

Here are some key points from the discussion and potential strategy:

A basic implementation already exists in the test case for custom_simulator, and it's recommended to start from there.
Implement _act_on_fallback_ similar to the code in @cduck classical_simulator
A new protocol like apply_to_bitstring(bitstring) -> bitstring could be created, which then could be leveraged to improve the implementation.

Questions (cc: @tanujkhattar):

Should the simulator code be put in cirq-core/cirq/sim or in the other directory?

I can see that there is PR for classical simulator already - https://github.com/quantumlib/Cirq/pull/6124. I think it would make sense to reassign this issue to author of that PR for now.

This has been completed.


macOS support in CI builds

Tested against (almost) the same configurations as in INSTALL.rst, namely

macOS 10.13, AppleClang 10.0.0
macOS 10.14, AppleClang 10.0.1
macOS 10.14, AppleClang 11.0.0

Unfortunately, Travis doesn't support macOS 10.15 for now. However, I've added a job with the same version of AppleClang that was used on macOS 10.15 when preparing https://github.com/iponweb/luavela/pull/23 - AppleClang 11.0.0.
Also, each job now additionally runs the smoke tests.

@keeprocking, thanks for the patch! LGTM.

Looks good to me. Can you please squash, so that I can merge?

Done.

FYI: there's a problem with bootstrapping now:
E: Version '8.3.0-6ubuntu1~18.04.1' for 'gcc-8' was not found

Probably the pinned version of gcc-8 was removed from the repo.

@keeprocking issues with CI will be fixed as soon as #26 is merged.


Support legend 'align' position

Chart.js supports an alignment option for legends.
See https://www.chartjs.org/docs/latest/configuration/legend.html#align.
But this wrapper does not support it.

Sorry. This is supported from Chart.js 2.9 and above and I was using 2.8.


fix: Validating email address on register

On storing users in a database, you do not validate email addresses, so the client can input anything he wants, which may cause severe problems in the future.

Hey Amir,
Thanks a lot and I will send you a message for something.


Add GetTransactions

See this PR comment: https://github.com/hyperledger/iroha/pull/754#issuecomment-351379734

Thank you for your contribution. I had to merge it in my code rather than merge it into docs branch. In future, there will be a contribution guide available.
Happy holidays! 🎄🎅 🎁 🕎


Wrote MATHJAX in capital.

The original capitalization is correct: "MathJax" is the preferred form.  So I'm closing this PR.


Shrink image size

Here's a PR to shrink image size. Once this is deployed, I'll write an article on how to use this with proper volume mounting and interactive debugging in PhpStorm.

Also this is minimal phalcon without anything at all, all those pinba and other extensions one will have to write their own dockerfile and extend from phalconphp/php:7 or phalconphp/php-fpm:7

Can we leave the current image as is and create one that is just what you sent?
Perhaps name that one php7-min?
The reason behind this, is because with the current image someone can be up and running in no time without having to rebuild the docker image.
Thoughts?

Actually that's not a bad idea, I was just thinking if we actually need that one, because with the current setup, they can still be up and running. But yeah, totally doable. First let me make this work on PhpStorm (I'm having trouble with auto complete for phalcon)

hi @niden , @sergeyklay  , on a second note, everyone who want to use Phalcon with docker on production will do  a docker pull Phalcon/php-fpm:7 after seeing php:fpm in docker hub, what I suggest is: let's keep the old phalcon by name phalcon-starter-kit, or something along that lines, what do you say?

also I've got a problem here, I'm not sure if everything is working fine.
I copied this file as my index file: https://github.com/phalcon/mvc/blob/master/micro/index.php
Now no matter which route I go to, it says "Welcome!" only calls / route.
I'm sure it's not a docker issue because var_dump($_SERVER['REQUEST_URI']); shows

string(19) "/say/hello/nishchal"

What am I doing wrong?

@cyberhck The current docker image is primarily for development. We can definitely create a slim one just for production which will utilize smaller size and will be blank, with very little if any extensions installed for people to use.
The suggestion that @sergeyklay mentioned earlier with an alpine container should be sufficient for production use.
As for the names, I am open to suggestion so long as we make it very clear on what each container is.

@cyberhck is your .htaccess correct with the relevant redirections? If you are using nginx do you have the relevant try directive up there?

the reason people use alpine is because of it's size, if you see, php7.0-alpine is around 56MB, whereas the alpine which we published is around 300MB, Okay, let's come up with the name for small one.
And for production they will not be consuming this directly, they'll write a dockerfile which extends phalcon's php and they add few extensions on their own which they need.

@niden if I replace $app->handle() with $app->handle($_SERVER['REQUEST_URI']); , it starts working flawlessly

let's close this one, since I lost track of this on my local copy and I've no idea what I did in here :)


VS Code main has moved back to npm, we could catch it

Our main repository of VS Code has moving back to npm, about this issue
I found that yarn compile could work if you have already installed yarn globally on your local machine, so even if somebody follows this README.md documentation, he/she still could get compiled for VS Code, however else could not instead.

Thanks @Cecil0o0 !


ZSH configuration file

Install oh-my-zsh
Copy configuration file

oh-my-zsh is properly configured while a good configuration is missing


Update type-only import semantics to allow type queries

In #35200, a type-only import or export created a synthetic symbol which reflected only the type-side meaning of its target. This meant that the imported names were unusable in any value position. This PR removes the intermediate synthetic symbol and instead issues an error if the imported names appear in any non-ambient expression context. Namely, this allows for:
import type { BaseClass } from './base';

// 1. Type queries
let ConstructorType: typeof BaseClass;

// 2. Ambient contexts that require value meanings
declare class SubClass extends BaseClass {}

One oddity that arises with this approach is how to treat a namespace import that includes type-only exports:
// a.ts
class A {}
export type { A }

// b.ts
import * as a from './a';
console.log(a); // Empty object, because the export type was erased

type T = keyof typeof a; // `never` - because `typeof a` must be an empty object type

let a: a.A; // This is ok
let A: typeof a.A; // This doesn’t work because `typeof a` is an empty object :(

Essentially, there is a limitation that if you need to access the value meaning of a type-only export, you can’t do so through a namespace import—you have to use a named (or default) import.
The distinction is subtle and confusing, but I think internally consistent, and unlikely to come up much in real code. At least, I think it’s better to start with this limitation than to be overly permissive in a way that could make the type system misrepresent the reality of the shape of a module.

Fixes #36040
Fixes #36003 (the part I said was a bug)
Fixes #36004

@typescript-bot perf test this

Check time appears up ~2–4%. I think this discussion will have some bearing on what we can do, so I’ll hold off on doing anything specifically for perf until we make some other decisions.

@typescript-bot perf test this

@typescript-bot perf test this

@typescript-bot perf test this, and don’t give me bad news

@typescript-bot perf test this

@typescript-bot perf test this

Is there any settings could disable this??
It's so annoying when use DI framework like nest.js.  I want it always import value not type.

It doesn’t do this unless you set importsNotUsedAsValues: "error" or "preserve" in your tsconfig.


Installation with stack fails

I am trying to install the most recent version of homplexity, with github
being in commit mgajda/homplexity@9512367ef2846e20bd26a0e7bdc3c71899edc4a5 on my MacBook Pro running macOS Mojave vs. 10.14.5.
I expected the following command to work:
stack install homplexity

Instead, the installation failed with the following output:
stack install homplexity
Writing implicit global project config file to: /Users/stefjoosten/.stack/global-project/stack.yaml
Note: You can change the snapshot via the resolver field there.
Using latest snapshot resolver: lts-13.21
Downloaded lts-13.21 build plan.
Preparing to install GHC to an isolated location.
This will not interfere with any system-level installation.
Downloaded ghc-8.6.5.
Installed GHC.
Didn't see HsOpenSSL-<IP_ADDRESS>@sha256:4352a3df874822c367a6f51cbd4b2a2807cbbafbdf935318e2e4b1910e46e2b1,5668 in your package indices.
Updating and trying again.
Selected mirror https://s3.amazonaws.com/hackage.fpcomplete.com/
Downloading timestamp
Downloading snapshot
Updating index
Updated package index downloaded
Update complete
Populated index cache.

Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for homplexity-<IP_ADDRESS>:
    hflags must match >=0.3 && <0.5, but the stack configuration has no specified version  (latest matching
           version is 0.4.3)
needed since homplexity is a build target.

Some different approaches to resolving this:

  * Consider trying 'stack solver', which uses the cabal-install solver to attempt to find some working build
    configuration. This can be convenient when dealing with many complicated constraint errors, but results
    may be unpredictable.

  * Recommended action: try adding the following to your extra-deps
    in /Users/stefjoosten/.stack/global-project/stack.yaml:

hflags-0.4.3@sha256:f6b85fc7cbd170787f49225646e62d5589e5dd75abe6f26d16287e5fff3e678e

Plan construction failed.

Apparently, there is something wrong with the dependencies. That will affect others too, who are trying to install homplexity. That is why I am putting the entire issue back to you.

Indeed it seems that hflags fell off Stackage nowadays.
Need to add it.

Another way to solve the issue would be to either migrate from hflags to optparse-applicative or re-add hflags to Stackage.

Thanks for the effort! I really appreciate it. However, it is not fool-proof yet. stack install homplexity doesn't work for me yet. After running stack update, this is what I get:
BA92-C02VP224HTDF:Ampersand stefjoosten$ stack install homplexity

Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for homplexity-<IP_ADDRESS>:
    hflags must match >=0.3 && <0.5, but the stack configuration has no specified version  (latest matching version
           is 0.4.3)
needed since homplexity is a build target.

Some different approaches to resolving this:

  * Recommended action: try adding the following to your extra-deps
    in /Users/stefjoosten/.stack/global-project/stack.yaml:

- hflags-0.4.3@sha256:f6b85fc7cbd170787f49225646e62d5589e5dd75abe6f26d16287e5fff3e678e,3121

Plan construction failed.

I am running ghc on version 8.4.3, but I don't think that is the issue here...


client on MCU create session failed

description
I need to minimize project code and use CMake to build whole project so I need to use Micro-XRCE-DDS-Client rather than Micro-ROS, which use ros2 packages to compile.
client on MCU generate such data sequence when uxr_init_session(&session, &transport.comm, 0xAAAABBBB) and uxr_create_session(&session) were called.
80 00 00 00 00 01 10 00 58 52 43 45 01 00 01 0f aa aa bb bb 81 00 fc 03

Agent seems not to respond to this sequence.
I have another Micro-ROS project and Micro-ROS rmw_uros_ping_agent(100,1) function generates such sequence and received response data from Agent.
7e 00 00 10 00 80 00 00 00 02 01 08 00 00 0a ff fd 02 00 00 00 cf 12

So I'm doubting that the client sent wrong sequence to Agent?
This is code in main()`:
int main(void)
{
  HAL_Init();

  SystemClock_Config();

  MX_GPIO_Init();
  MX_USB_DEVICE_Init();
  MX_USART1_UART_Init();

  uxrCustomTransport transport;
  uxr_set_custom_transport_callbacks(
      &transport,
      false,
      my_custom_transport_open,
      my_custom_transport_close,
      my_custom_transport_write,
      my_custom_transport_read);

  if (!uxr_init_custom_transport(&transport, &huart1))
  {
	  while(1);
  }

//  while(!uxr_ping_agent(&transport.comm, 200))
//  {
//
//  }
//  uint8_t ping_buf[23]={0x7e, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00,
//                      0x00, 0x02, 0x01, 0x08, 0x00, 0x00, 0x0a, 0xff,
//                      0xfd, 0x02, 0x00, 0x00, 0x00, 0xcf, 0x12};
//  while(1)
//  {
//	  HAL_UART_Transmit(&huart1, ping_buf, 23, HAL_MAX_DELAY);
//	  HAL_Delay(1000);
//  }

  uxrSession session;
  uxr_init_session(&session, &transport.comm, 0xAAAABBBB);
  if (!uxr_create_session(&session))
  {
	  while(1);
  }

  while (1)
  {
	  HAL_Delay(1000);
  }
}

custom porting
Use custom transport - UART
collect the following source files:
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/session/stream/input_best_effort_stream.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/session/stream/input_reliable_stream.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/session/stream/output_best_effort_stream.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/session/stream/output_reliable_stream.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/session/stream/stream_storage.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/session/stream/stream_id.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/session/stream/seq_num.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/session/session.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/session/session_info.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/session/submessage.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/session/object_id.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/serialization/xrce_types.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/serialization/xrce_header.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/serialization/xrce_subheader.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/util/time.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/util/ping.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/session/common_create_entities.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/session/create_entities_ref.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/session/create_entities_xml.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/session/create_entities_bin.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/session/read_access.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/core/session/write_access.c
    Middlewares/Micro-XRCE-DDS-Client/src/c/profile/transport/custom/custom_transport.c
    Middlewares/micro-cdr/src/c/common.c
    Middlewares/micro-cdr/src/c/types/*.c

Include folders
Middlewares/Micro-XRCE-DDS-Client/include
Middlewares/micro-cdr/include

modified int64_t uxr_nanos(void) function in src/c/utils/time.c - remove clock_gettime() and use HAL ticks as time source temporarily.
int64_t uxr_nanos(
        void)
{
#ifdef WIN32
    ......
#else
    /*<PHONE_NUMBER> is December 11 2023 time stamp offset */
    /* HAL_GetTick() returns miliseconds */
    return<PHONE_NUMBER>000000000ULL)+(HAL_GetTick()*1000000) ;
#endif /* ifdef WIN32 */
}

Include generated config.h:
#ifndef _UXR_CLIENT_CONFIG_H_
#define _UXR_CLIENT_CONFIG_H_

#define UXR_CLIENT_VERSION_MAJOR 2
#define UXR_CLIENT_VERSION_MINOR 4
#define UXR_CLIENT_VERSION_MICRO 2
#define UXR_CLIENT_VERSION_STR "2.4.2"

#define UCLIENT_PROFILE_DISCOVERY

// #define UCLIENT_PROFILE_UDP
// #define UCLIENT_PROFILE_TCP
/* #undef UCLIENT_PROFILE_CAN */
// #define UCLIENT_PROFILE_SERIAL
#define UCLIENT_PROFILE_CUSTOM_TRANSPORT
/* #undef UCLIENT_PROFILE_MULTITHREAD */
/* #undef UCLIENT_PROFILE_SHARED_MEMORY */
// #define UCLIENT_PROFILE_STREAM_FRAMING

/* #undef UCLIENT_PLATFORM_POSIX */
/* #undef UCLIENT_PLATFORM_POSIX_NOPOLL */
/* #undef UCLIENT_PLATFORM_WINDOWS */
/* #undef UCLIENT_PLATFORM_FREERTOS_PLUS_TCP */
/* #undef UCLIENT_PLATFORM_RTEMS_BSD_NET */
/* #undef UCLIENT_PLATFORM_ZEPHYR */

#define UXR_CONFIG_MAX_OUTPUT_BEST_EFFORT_STREAMS     1
#define UXR_CONFIG_MAX_OUTPUT_RELIABLE_STREAMS        1
#define UXR_CONFIG_MAX_INPUT_BEST_EFFORT_STREAMS      1
#define UXR_CONFIG_MAX_INPUT_RELIABLE_STREAMS         1

#define UXR_CONFIG_MAX_SESSION_CONNECTION_ATTEMPTS    10
#define UXR_CONFIG_MIN_SESSION_CONNECTION_INTERVAL    1000
#define UXR_CONFIG_MIN_HEARTBEAT_TIME_INTERVAL        100

#ifdef UCLIENT_PROFILE_UDP
#define UXR_CONFIG_UDP_TRANSPORT_MTU                  512
#endif
#ifdef UCLIENT_PROFILE_TCP
#define UXR_CONFIG_TCP_TRANSPORT_MTU                  512
#endif
#ifdef UCLIENT_PROFILE_SERIAL
#define UXR_CONFIG_SERIAL_TRANSPORT_MTU               512
#endif
#ifdef UCLIENT_PROFILE_CUSTOM_TRANSPORT
#define UXR_CONFIG_CUSTOM_TRANSPORT_MTU               1024
#endif

#ifdef UCLIENT_PROFILE_SHARED_MEMORY
#define UXR_CONFIG_SHARED_MEMORY_MAX_ENTITIES          4
#define UXR_CONFIG_SHARED_MEMORY_STATIC_MEM_SIZE       10
#endif

#define UCLIENT_TWEAK_XRCE_WRITE_LIMIT

/* #undef UCLIENT_HARD_LIVELINESS_CHECK */

#ifdef UCLIENT_HARD_LIVELINESS_CHECK
#define UXR_CONFIG_HARD_LIVELINESS_CHECK_TIMEOUT_STR     "10000"
#endif

// Version checks
#if UXR_CLIENT_VERSION_MAJOR >= 3
#error UCLIENT_HARD_LIVELINESS_CHECK shall be included in session API
#error MTU must be included in CREATE_CLIENT_Payload properties
#error Reorder ObjectInfo https://github.com/eProsima/Micro-XRCE-DDS/issues/137
#endif

#endif // _UXR_CLIENT_CONFIG_H_

custom_transport code
a copy from repo - micro_ros_stm32cubemx_utils/extra_sources/microros_transports/it_transport.c:
#include <uxr/client/transport.h>

#include "main.h"
#include "uxr_transport.h"
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <stdbool.h>

#if 1

// --- micro-ROS Transports ---
#define UART_IT_BUFFER_SIZE 2048

static uint8_t it_buffer[UART_IT_BUFFER_SIZE];
static uint8_t it_data;
static size_t it_head = 0, it_tail = 0;

extern UART_HandleTypeDef huart1;

bool my_custom_transport_open(struct uxrCustomTransport * transport){
    UART_HandleTypeDef * uart = (UART_HandleTypeDef*) transport->args;
    HAL_UART_Receive_IT(uart, &it_data, 1);
    return true;
}

bool my_custom_transport_close(struct uxrCustomTransport * transport){
    UART_HandleTypeDef * uart = (UART_HandleTypeDef*) transport->args;
    HAL_UART_Abort_IT(uart);
    return true;
}

size_t my_custom_transport_write(struct uxrCustomTransport* transport, uint8_t * buf, size_t len, uint8_t * err){
    UART_HandleTypeDef * uart = (UART_HandleTypeDef*) transport->args;

    HAL_StatusTypeDef ret;
    if (uart->gState == HAL_UART_STATE_READY){
        ret = HAL_UART_Transmit(uart, buf, len, HAL_MAX_DELAY);
        while (ret == HAL_OK && uart->gState != HAL_UART_STATE_READY);

        return (ret == HAL_OK) ? len : 0;
    }else{
        return 0;
    }
}

size_t my_custom_transport_read(struct uxrCustomTransport* transport, uint8_t* buf, size_t len, int timeout, uint8_t* err){
    size_t wrote = 0;
    while ((it_head != it_tail) && (wrote < len)){
        buf[wrote] = it_buffer[it_head];
        it_head = (it_head + 1) % UART_IT_BUFFER_SIZE;
        wrote++;
    }

    return wrote;
}

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
    if(it_tail == UART_IT_BUFFER_SIZE)
        it_tail = 0;

    it_buffer[it_tail] = it_data;
    it_tail++;

    HAL_UART_Receive_IT(huart, &it_data, 1);
}

#endif

Which is the output of the XRCE Agent with the -v6 flag?

Nothing.

That means that your board is not sending anything via UART port. Could you debug that?

Agent didn't respond to this client.
I use cutecom to monitor UART output and get Sequence-1 when program runs to uxr_init_session(&session, &transport.comm, 0xAAAABBBB)
The two sequences are MCU UART output.
Sequence-1 generated by uxr_init_session(&session, &transport.comm, 0xAAAABBBB)
// Sequence-1
80 00 00 00 00 01 10 00 58 52 43 45 01 00 01 0f aa aa bb bb 81 00 fc 03

The agent did not receive anything as you can see in your image. Are you choosing the right serial device and baudrate?

Yes, I've checked serial device and baudrate (default is 115200) countless times.
Sequence-2 is the client output of rmw_uros_ping_agent(100,1) of a Micro-ROS project.
// Sequence-2
7e 00 00 10 00 80 00 00 00 02 01 08 00 00 0a ff fd 02 00 00 00 cf 12

If I manually send Sequence-2 through UART just like the commented lines in main() above, MCU received responding data. UART rx buffer has something in it. But if I uxr_init_session() doesn't receive anything.

You are not waiting timeout in my_custom_transport_read, also in uxr_set_custom_transport_callbacks you are setting false to the framing option, which is required for serial communications

Thank you for your help, I've solve this problem.
It's because I set framing option false  in uxr_set_custom_transport_callbacks(). Client create session successfully now.
So stream framing is an indispensable builtin feature of Micro-XRCE-DDS-Client?


Bug/fix parsing error when precommit

@nndung179 neat :joy: It shouldn't even check this file at all 😅

I think yarn.lock is already updated.


fix: Hotfix for the onboarding blocking the whole app

Hi everyone,
Following the removal of one of the pages of the onboarding (#5420), the app can't be launched, depending on the previous state. Here is the error:

Codecov Report
Attention: Patch coverage is 33.33333% with 2 lines in your changes missing coverage. Please review.

Project coverage is 7.20%. Comparing base (4d9c7fc) to head (0a5753c).
Report is 224 commits behind head on develop.

Files
Patch %
Lines

.../lib/data_models/preferences/user_preferences.dart
0.00%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           develop   #5433      +/-   ##
==========================================
- Coverage     9.54%   7.20%   -2.35%
==========================================
  Files          325     391      +66
  Lines        16411   20317    +3906
==========================================
- Hits          1567    1463     -104
- Misses       14844   18854    +4010

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


How to get Context Info

In Envelope, we set some context info for postgresql functions to read, but we don't at this time have any documentation on how to retrieve it.
We should put a page in the documentation about what to do to read it.

Added to the documentation. Will be seen in next release.


Questioning the handling of clean_session

The clean_session flag is not possible to be configured in this library. A user will have to live with the decisions made in the code.
https://github.com/gausby/tortoise/blob/master/lib/tortoise/connection.ex#L47
Here it is set to true, meaning "please do clean the session after disconnect, not leaving any remnants in the broker".
https://github.com/gausby/tortoise/blob/master/lib/tortoise/connection.ex#L628
Here it is set to false, meaning "please keep my session indefinitely in the broker".
This forces the user of this library to properly disconnect in order to not leave open sessions (possibly indefinitely) on the broker.
Especially in a cloud situation, on kubernetes, but also in cases of crashes, this might clump up the broker with stale sessions, which even further (when using shared subscriptions) may cause messages to get lost, in certain configured situations.
Does the explicit handling of the clean_session flag outside of the control of the user of the library have any deeper function, or could we maybe make it configurable, giving the control back to the user?

#87

This will be left up to the user in the upcoming MQTT 5 version of Tortoise—sorry it takes a while. This is a spare time project, and 2019 was a year where I had other interests and other work to do, but I am trying to get the MQTT 5 version done, and that will change everything.

Fine by me. Thanks for your effort.


SVG thumbnails for "Pricing" category

🚀 Feature
A default thumbnail is being used currently for a code block.
For the "Pricing" category, SVG thubmnails that represents the code block preview in an abstract manner (like a skeleton template) would help a user to get an intuition about the template in a glance in the sidebar itself
Have you spent some time to check if this issue has been raised before?
Yes
Have you read the Contributing Guidelines?
Yes
Pitch
This would enhance the user experience by providing a quick abstract preview of the code block in the sidebar that would reduce the time required to find the desired template. The thumbnail can be designed using any designing tool like Figma, Adobe XD etc.

I'll take this one

@erinknight242 cool. Assigning this to you.


Align captions and remove bold

Center align and remove bold for captions under images/videos.
https://franklin.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/in-carta-image-analysis-software

alignment fixed by #852 . Bold text has to be fixed in content. IMO this is a good exercise for "potential author" .


--worker_gpu does not seem to work when using an offset

I am running tensor2tensor on multiple GPUs using --worker_gpu=3 and I am limiting the visible gpus using export CUDA_VISIBLE_DEVICES=0,1,2. This works fine when the visible devices start with device 0 (only the first 3 gpus are being used).
However, if I set export CUDA_VISIBLE_DEVICES=3,4,5 and --worker_gpu=3, tensor2tensor will allocate the memory correctly on gpus 3, 4, 5 but nvidia-smi shows activity only for gpu 3, gpu 4 and 5 seem idle.
Is there a way to work around this? It would be nice if I could run two training jobs on the same machine and assign the gpus accordingly.

I noticed that my issue was actually caused by also setting --gpu_order='3 4 5', without this it works fine


NPM Install Errors - New since last week

Hi - I successfully set up my environment last week. I wanted to start fresh with a new set up and now I'm getting NPM Install errors. I'm following the install steps as outlined. See debug log below.
Thanks,
Brynn
0 info it worked if it ends with ok
1 verbose cli [ 'C:\Program Files\nodejs\node.exe',
1 verbose cli   'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js',
1 verbose cli   'install' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose config Skipping project config: C:\Users\spillar/.npmrc. (matches userconfig)
5 verbose readDependencies loading dependencies from C:\Users\spillar\package.json
6 error install Couldn't read dependencies
7 verbose stack Error: ENOENT: no such file or directory, open 'C:\Users\spillar\package.json'
7 verbose stack     at Error (native)
8 verbose cwd C:\Users\spillar
9 error Windows_NT 6.1.7601
10 error argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "install"
11 error node v4.2.2
12 error npm  v2.14.7
13 error path C:\Users\spillar\package.json
14 error code ENOPACKAGEJSON
15 error errno -4058
16 error syscall open
17 error package.json ENOENT: no such file or directory, open 'C:\Users\spillar\package.json'
17 error package.json This is most likely not a problem with npm itself.
17 error package.json npm can't find a package.json file in your current directory.
18 verbose exit [ -4058, true ]

Solved. When running the NPM Install, if you get errors try the command 'npm cache clean'. This solved my errors and I'm back up and running.


typescript typings

I created some basic typescript typings. they don't have comments and some of the values/methods/classes are missing but it's better than nothing :+1:
@types.zip

Thanks @lukas2005. Can you explain a bit more what these are for? I'm confused, and I don't really want to download a random zip file without knowing what this is about. :D

These are typings for orbitdb itself and all the official stores. Also maybe i should make a repo for them :thinking:

Okay I uploaded the typing to my project's repo: https://github.com/Anchor-Chat/AnchorAPI/tree/master/src/%40types/orbit-db

Decided to move them to a separate repo: https://github.com/lukas2005/-types-orbit-db

@lukas2005 you are awesome, thank you
also, lol, cool database, but it's 2019, we're gonna need some typescript typings

also, lol, cool database, but it's 2019, we're gonna need some typescript typings

This isn't entirely constructive. Would you like to PR something? :)

@RichardLitt um, @lukas2005 literally created a repo with TypeScript typings for you :)

I shouldn't be flippant, I appreciate your work, but it makes it hard to work with as a TypeScript developer. The entire IPFS ecosystem is rather unapproachable because of it. I use TypeScript to discover APIs and save me lots of time. If I were you, I'd highly recommend looking into using it for your project. FWIW.

@cryptoquick @RichardLitt This seems reasonable, but I admit I'm not a TypeScript dev so I don't know how these would properly be incorporated. Is it sufficient to run npm i --save https://github.com/lukas2005/orbit-db-types as @lukas2005 suggets or does this require a tighter integration? Maybe we can call more attention to it from the README?

After doing some in-depth research into Scuttlebutt / ssb-db, I'm going to see how far I can get into using ipfs-js + electron main thread + orbitaldb as the basis for a social network. If things go well with that, I'd be happy to help create a TypeScript conversion branch for this project, if you like. You could then try it out and see how it goes.
As for TypeScript typings themselves, I've been having mixed luck with using @lukas2005 's typings in my project so far. I had to use the typings separately so far. Like this:
const OrbitDB = require('orbit-db')
import { OrbitDB as IOrbitDB } from 'orbit-db'

const launch = (): Promise<IOrbitDB> =>
  new Promise(resolve => {
    ipfs.on('ready', () => {
      const orbitdb = new OrbitDB(ipfs)
      resolve(orbitdb)
    })
  })

It looks like there's also some other TypeScript work going on here: https://github.com/orbitdb/orbit-db/issues/347. Again, not being a TS user myself I would look to the community for guidance here.

@RichardLitt I was thinking that as well.
For the time being, I'd be happy to point people in @lukas2005 's direction, contingent upon @cryptoquick's approved.

If you want, @lukas2005, we could also transfer your repo to the OrbitDB organization and give you and @cryptoquick admin rights for it. If others in the community are using it, that might be the best solution.

Ideally these typings would be included in the main project so they're easily available. Do you agree, @lukas2005 ?

yeah i guess that's a good idea
czw., 3 sty 2019 o 02:46 Hunter Trujillo<EMAIL_ADDRESS>napisał(a):

Ideally these typings would be included in the main project so they're
easily available. Do you agree, @lukas2005 https://github.com/lukas2005
?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/orbitdb/orbit-db/issues/466#issuecomment-451037779,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANRjyJ4yM_gGVWD0e3AC6Kj2293LxhQjks5u_WD1gaJpZM4W8xET
.

i'm just gonna look into the few issues that a few people pointed out and
make a PR
czw., 3 sty 2019 o 19:54 Łukasz Mariański<EMAIL_ADDRESS>napisał(a):

yeah i guess that's a good idea
czw., 3 sty 2019 o 02:46 Hunter Trujillo<EMAIL_ADDRESS>napisał(a):

Ideally these typings would be included in the main project so they're
easily available. Do you agree, @lukas2005 https://github.com/lukas2005
?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/orbitdb/orbit-db/issues/466#issuecomment-451037779,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANRjyJ4yM_gGVWD0e3AC6Kj2293LxhQjks5u_WD1gaJpZM4W8xET
.

@cryptoquick @lukas2005 For now, please keep the bindings in the repo they are currently in. As it stands right now, the OrbitDB team is only a handful of people and things are moving fast for us. The maintenance responsibility of keeping the bindings up to date is something that we unfortunately can't take on right now and would need to rely on the community for.
@lukas2005 if you're ok with it, we will happily add your repo to the readme and, if you would like, move the repo under the official orbitdb namespace and give you access, as @RichardLitt suggested.

Yeah I'm fine with that so I guess I just do a repo transfer and then you
give me access?
pt., 4 sty 2019, 16:43: Mark Robert Henderson<EMAIL_ADDRESS>napisał(a):

@cryptoquick https://github.com/cryptoquick @lukas2005
https://github.com/lukas2005 For now, please keep the bindings in the
repo they are currently in. As it stands right now, the OrbitDB team is
only a handful of people and things are moving fast for us. The maintenance
responsibility of keeping the bindings up to date is something that we
unfortunately can't take on right now and would need to rely on the
community for.
@lukas2005 https://github.com/lukas2005 if you're ok with it, we will
happily add your repo to the readme and, if you would like, move the repo
under the official orbitdb namespace and give you access, as @RichardLitt
https://github.com/RichardLitt suggested.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/orbitdb/orbit-db/issues/466#issuecomment-451480089,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANRjyGNuMK3SHYE3EQJeCYY8_TiRrtSnks5u_3asgaJpZM4W8xET
.

Ah but I have to have create repo perms on the org
niedz., 6 sty 2019, 00:36: Łukasz Mariański<EMAIL_ADDRESS>napisał(a):

Yeah I'm fine with that so I guess I just do a repo transfer and then you
give me access?
pt., 4 sty 2019, 16:43: Mark Robert Henderson<EMAIL_ADDRESS>napisał(a):

@cryptoquick https://github.com/cryptoquick @lukas2005
https://github.com/lukas2005 For now, please keep the bindings in the
repo they are currently in. As it stands right now, the OrbitDB team is
only a handful of people and things are moving fast for us. The maintenance
responsibility of keeping the bindings up to date is something that we
unfortunately can't take on right now and would need to rely on the
community for.
@lukas2005 https://github.com/lukas2005 if you're ok with it, we will
happily add your repo to the readme and, if you would like, move the repo
under the official orbitdb namespace and give you access, as @RichardLitt
https://github.com/RichardLitt suggested.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/orbitdb/orbit-db/issues/466#issuecomment-451480089,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANRjyGNuMK3SHYE3EQJeCYY8_TiRrtSnks5u_3asgaJpZM4W8xET
.


Feature Request - Story / Bookmark approver

Currently Qlik Sense QMC Utilities > Sheet Approver approves sheets. Can this functionality be extended to other App.Objects like stories and bookmarks?

Sheet Approver has been replaced by app object approver.  Download the latest version of QMC Utilities ad you will have at least bookmark capabilities.  Stories should work too.
https://github.com/eapowertools/QlikSenseQMCUtility/releases/latest

Yep. Seem to work perfectly. Also https://github.com/eapowertools/QlikSenseQMCUtility/releases.atom slides into an RSS reader to stay up to date.

implemented in 3.0.3: https://github.com/eapowertools/QlikSenseQMCUtility/releases/tag/3.0.3

Yep! Thanks for the follow up.


Fix Behaviour test suite

The behaviour test suite has started failing on all builds recently. The error seems to be somewhere around here: https://github.com/facebook/create-react-app/blob/master/test/fixtures/typescript-advanced/index.test.js#L8

I tried reproducing locally and was unable to 🤔

That is strange. It's failing consistently on Travis.

Build is passing now?? https://travis-ci.org/facebook/create-react-app/builds/463124069?utm_source=github_status&utm_medium=notification

I think @Timer just has the magic touch. 😀

🤷♀


Migrate eslint-config to mono repo

Let's use a consistent config across all packages, defined here

I added an eslint package in this PR https://github.com/leather-wallet/mono/pull/2


5.0.0/beta2

Merge to master

@wu-sheng This PR contains all beta2 features that are confirmed one week ago, and I prefer to merge them to master now.

Access control
Make the chars in the trace in black.
Do you consider improving the experience of span detail? The position is the most concerned feedback for now.

These features initially are considered to be putted into next release. But if they are urgent, it's all right to put them in beta2, then a new PR will fix them.

@hanahmily Merge is OK to me. Thise three could be considered, because @peng-yongsheng can't be ready in this week. So, consider at least one more week before tests.


smacknet: correct permissions for smacknet.service.

Systemd would like service files to be
a) non-executable and
b) world-readable (since API allows it anyway).
Change the service file permission from 551 to 644.

Tests failed due to forgotten root-owned test-files in testing environment. Re-triggered test-runs:
https://iotos.fi.intel.com/jenkins/view/Test/job/iot-os_tester/1810/
https://iotos.fi.intel.com/jenkins/view/Test/job/iot-os_tester/1809/


Provide HTML support for Qute HTML templates

Currently, Qute html templates only get Qute support. HTML validation and completion are missing. Would be nice if we could hook up the HTML LS to qute-html templates.

I have created the issue https://github.com/microsoft/vscode/issues/131531#
But it will be not perfect because we will have html completion in qute expression.
Is it really annoying?
An another solution is to create a custom langage server which managés html by using vscode html kanguage service. I fera that it us à big work.
If the first solution can be acceptable I will try to create a pr in vscode

My PR from vscode https://github.com/microsoft/vscode/pull/146731 has been merged!
For the moment VSCode Insiders doesn't contains this feature. I'm wiating for that to test my draft PR https://github.com/redhat-developer/vscode-quarkus/pull/527


Minor fixes and improvements

Following changes to the file mainfunctions.py have been made:

Made the code more readable.
Added subject support for sending mails.
Phone number with country code validation with regular expressions.
Removed unused module bs4.
Replaced all file writing pieces of code with context manager (with).

@Ankit404butfound Update the README.md for the sendMail function since it has been updated with a one more parameter - subject.

@Ankit404butfound Update the README.md for the sendMail function since it has been updated with a one more parameter - subject.

@Ankit404butfound Update the README.md for the sendMail function since it has been updated with a one more parameter - subject.

Sure, but didn't get any PR. Let me update it anyway.

@Ankit404butfound Update the README.md for the sendMail function since it has been updated with a one more parameter - subject.

Sure, but didn't get any PR. Let me update it anyway.


I'd like to customize my version of Microcharts.  Is there any issue with using code as is and just adding to the shared folder?

Here's what I would like to do:

In this case I have taken the source and added it to my shared folder.  I have then made some small changes and will probably make more.
What I would like to know is are there any issues with me doing it this way other than I realize whenever a commit is made in this repo I will have to copy the change down to my own code?

It'd be nice if you could contribute your code to the project so others can benefit from it. 😁
But if you wanted to make a fork of this project, you are able to.


refactor(linter): simplify ConfigStore to prep for nested configs

#8034
#8033
#8032  👈 (View in Graphite)
main

How to use the Graphite Merge Queue
Add either label to this PR to merge it via the merge queue:

0-merge - adds this PR to the back of the merge queue
hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

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


⚠ Secret Website 3 has degraded performance

In 53b1902, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 2713 ms

Resolved: Secret Website 3 performance has improved in 9578982.


Fixes #3816. Visual Studio 17.12 isn't compatible with SDK version 8.0.0

Fixes

Fixes #3816

Proposed Changes/Todos

[v] Upgrade all files to the net9.0 version

Pull Request checklist:

[x] I've named my PR in the form of "Fixes #issue. Terse description."
[x] My code follows the style guidelines of Terminal.Gui - if you use Visual Studio, hit CTRL-K-D to automatically reformat your files before committing.
[x] My code follows the Terminal.Gui library design guidelines
[x] I ran dotnet test before commit
[ ] I have made corresponding changes to the API documentation (using /// style comments)
[x] My changes generate no new warnings
[x] I have checked my code and corrected any poor grammar or misspellings
[x] I conducted basic QA to assure all features are working

Builds fine for me, maybe it was the specific version of dotnet 8 you had installed?

What version of net80 you are using?

Do you also have the net90 version installed? I didn't install it but the VS2022 did when updated. Doesn't this happened with you?

Working now, thanks.


feat(lint/noBlankTarget): add allowed domains option

Summary

Add #3609
Test Plan

Added a test case.

Should I document this new options somewhere in this repo or it's in website one ?

Should I document this new options somewhere in this repo or it's in website one ?

Yes please. We usually add a new header ## Options that explains them.

Hey @chansuke could you review the PR please?


fix(reporters): correctly report avg tests/mutants

Correctly report the average tests/mutant metric in the clear-text reporter

I thought this one was already working since all unit tests passed. Turned out that the integration with the reporters didn't work correctly. I've implemented a reporters-e2e e2e test which specifically tests the clear text reporter.


Change in sprite naming convention regarding subdirectories

Just wanted to give a heads up that in 1.22 and older, subdirectories were a part of the sprite's naming convention. I believe 1.3.1 (or 1.3.0) changed this behavior.
  eleventyConfig.addPlugin(svgSprite, {
    path: "./src/assets/svg",
  });

Old behavior:
./src/assets/svg/menu/close.svg = {% svg "menu--close" %}
New behavior:
./src/assets/svg/menu/close.svg = {% svg "close" %}
I'm not sure if the old behavior was explicitly documented or if using subdirectories is even advised but I did want to share this info for anyone else who encounters it.

Thanks for raising the issue @tylercampbell. I've not used the plugin with subdirectories before so have never had to account for this case. If you have the time I'd appreciate if you could check and pin down the exact version that introduced the issue else I'll look into this in the upcoming weekend.

Thanks @patrickxchong. I've narrowed it down to 1.3.1 so I'm guessing the change came with svg-sprite 2.0
I only had time to do a quick search but couldn't find any relevant info in their docs or issues so I may be the only person using subdirectories.
I've got no problem updating my code to match the new convention so we can close this issue if you'd like.

Hey @tylercampbell I think I may have found the issue, screenshots below for reference. I hope that this can be easily fixed by adding separator: '--' to the config. I'll test this tomorrow and if it works I'll publish a new version with updated documentation. I do think keeping the '--' behaviour is better esp for people who prefer namespacing through directories.
SVG Sprite Docs

Current plugin config

@tylercampbell when you have the time can you update the plugin to v2.0.0 and give it a try? (made it a major release in case there are people using subdirectories but relied on not having the subdirectory in the id). You should be able to get back the old behaviour. Let me know if it does/doesn't!

@patrickxchong Just tested. Everything works as expected with 2.0. Thank you so much for your work on this!

Great, glad it worked out! 😄 I'll close this issue now. Have a good weekend!


Support partial objects within arrays

Very nice lib, I find it very useful, but I have some issues with the partials. For example the following cases:
partial([1, {"test": "aaa"}], [1, {}]))
partial([1, {"test": "aaa", "key2": 33}], [1, {"key2": 33}])

Currently both of them return false, while I would expect them to return true, as they partially match the objects in the array.
Do you agree, or I am misinterpreting the partial usage? If you agree I can prepare a PR with some fixes?

Yes, you understand perfectly  partial usage; the object-inside-array case just flew over my head.
And yes, a PR would be welcome.

Well done, good fix. Nice revamp to the test code. Thank you! 😃


feat!: migrate from swiper/vue -> swiper/elements

Fixes: #55

[!NOTE]
If you want to test and try out the new swiper elements implementation please install using

pnpm i nuxt-swiper@next

If you any issues please submit a new issue. I will take a look also checkout the README with the new api and examples here
Thanks,
CP 🚀

hello, any update on this? it looks very promising

Hey @fanckush 👋🏼
I was really looking for feedback on potential bugs but really haven't got any. Also I am waiting on Nuxt v4 to push the next release as some things have changed with module setup!

I installed it and it works really well! thanks.
Here's a couple of notes from my side:

there is no prop autocompletion

using swiper-container works but not SwiperContainer (same for swiper-slide)
personally I would enable the composables by default, wouldn't they get tree-shaken if unused anyways?


Add annotation for id class mapping

Feature request
PROBLEM
Currently, mapping id's to classes is, for example, done through configuration beans. There a TypePrecedence, mapping and TypeMapper can be configured. For any additional message, you also have to add changes to your configuration.
SUGGESTED SOLUTION
It would be nice if setting this configuration could be simplified by annotating a class with, for example:
@KafkaMessage(typeId = "foo")
public class Bar {}

Upon setting this annotation, the TypePrecedence and a default TypeMapper could be set as well.

Does the new Using Methods to Determine Types feature not meet your needs?
private static final JavaType barType = TypeFactory.defaultInstance()
				.constructType(Bar.class);

public static JavaType whichType(byte[] data, Headers headers) {
	Header header = headers.lastHeader("foo");
	if (header != null) {
		return this.barType;
	}
	else {
		return TypeFactory.defaultInstance().constructType(Object.class);
	}
}

spring.kafka.consumer.properties.spring.json.value.type.method=com.example.demo.MyClass.returnType

But that still requires you to define the mapping in a centralized place, right?

I have created the following for our project:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface KafkaMessage {

    String[] typeId() default "";

}

public class KafkaMessageAnnotationPostProcessor implements BeanPostProcessor {

    private static final String SCAN_PACKAGE_PROPERTY_KEY = "spring.kafka.message.package";
    private static final String DEFAULT_SCAN_PACKAGE = "*";

    private final Environment environment;

    public KafkaMessageAnnotationPostProcessor(Environment environment) {
        this.environment = environment;
    }

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        if (JsonMessageConverter.class.isAssignableFrom(bean.getClass())) {
            setTypeMapper((JsonMessageConverter)bean, getMapping());
        }
        return bean;
    }

    private Map<String, Class<?>> getMapping() {
        Map<String, Class<?>> mapping = new HashMap<>();
        for (BeanDefinition beanDefinition : findAnnotatedClasses(getScanPackage())) {
            addToMapping(mapping, getClass(beanDefinition));
        }
        return mapping;
    }

    private String getScanPackage() {
        return environment.getProperty(SCAN_PACKAGE_PROPERTY_KEY, DEFAULT_SCAN_PACKAGE);
    }

    private Set<BeanDefinition> findAnnotatedClasses(String scanPackage) {
        ClassPathScanningCandidateComponentProvider provider = createComponentProvider();
        return provider.findCandidateComponents(scanPackage);
    }

    private ClassPathScanningCandidateComponentProvider createComponentProvider() {
        ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(false);
        provider.addIncludeFilter(new AnnotationTypeFilter(KafkaMessage.class));
        return provider;
    }

    private Class<?> getClass(BeanDefinition beanDefinition) {
        try {
            return Class.forName(beanDefinition.getBeanClassName());
        }
        catch (ClassNotFoundException e) {
            throw new IllegalStateException("Cannot find " + beanDefinition.getBeanClassName(), e);
        }
    }

    private void addToMapping(Map<String, Class<?>> mapping, Class<?> clazz) {
        for (String i : getTypeIds(clazz)) {
            mapping.put(i, clazz);
        }
    }

    private List<String> getTypeIds(Class<?> clazz) {
        KafkaMessage annotation = clazz.getAnnotation(KafkaMessage.class);
        // Use simple name as default
        return annotation.typeId().length > 0 ? Arrays.asList(annotation.typeId()) : Collections.singletonList(clazz.getSimpleName());
    }

    private void setTypeMapper(JsonMessageConverter converter, Map<String, Class<?>> mapping) {
        // Only set a mapping if an @KafkaMessage annotation is set on any class
        if (!mapping.isEmpty()) {
            Jackson2JavaTypeMapper typeMapper = converter.getTypeMapper();
            if (!AbstractJavaTypeMapper.class.isAssignableFrom(typeMapper.getClass())) {
                throw new IllegalStateException("TypeMapper must be of type AbstractJavaTypeMapper");
            }
            typeMapper.setTypePrecedence(Jackson2JavaTypeMapper.TypePrecedence.TYPE_ID);
            ((AbstractJavaTypeMapper)typeMapper).setIdClassMapping(mapping);
        }
    }

}

Sure; will take a look.

Would be great to have such kind of support. Any plans to have it in a coming version of Spring Kafka?

An additional property may also be added to enforce the usage of that annotation. Otherwise, deserialization may suddenly start to fail in case of refactoring of the data model.
Since Spring Kafka relies on Jackson, I wonder if the KafkaMessage annotation could be avoided by using the existing JsonTypeName annotation?

I am not sure I really understand the requirement here.
The JsonMessageConverter will use the concrete type in the @KafkaListener method signature for its conversion. Type mapping is not needed.
Perhaps a real use case would help me understand what the requirement is.

Thanks for the reply. According to my understanding, the event type is propagated through the TypeId.
This type is then used to allow deserializing a Kafka event using Jackson.
As this type is the fully qualified name of the class, it's not resistant to any refactoring (moving a class or renaming a class).
So, instead, it would be great to have an identifier/name to uniquely identify the type.
A bit like the JsonTypeName annotation.
Maybe I missed something, but the main idea is to be agnostic of the real java type of the event.
To be agnostic, we may use type mappings but the proposal here looks better.
Let me know if you need more details.

While it is true that the type id is set to the FQCN of the source class (by default), it can be changed to set a token via type mapping and, on the receiving side, the token can be mapped to the destination type.
However, by default, the type id header is ignored and the type is inferred from the method signature. See
https://github.com/spring-projects/spring-kafka/blob/30ee20da0bb1a1ba39f87f9b5e805cd269cabce1/spring-kafka/src/main/java/org/springframework/kafka/support/mapping/Jackson2JavaTypeMapper.java#L60-L74


Can login but can't register with Solflare wallet

When the user connects a new Solflare wallet the account creation isn't happening.

About this, I couldn't connect solflare wallet. The issue was, when I click connect wallet, with solflare as my choice, instead of opening the connect wallet page, the solflare.com homepage gets open

Ah you probably need to install the extension @frigaate - do you have it installed currently? There is a bug where you have to login twice if you're creating an account, but if you have your wallet address in the system already you should be able to connect via Solflare extension https://chrome.google.com/webstore/detail/solflare-wallet/bhhhlbepdkbapadjdnnojkbgioiodbic


Ctr-Something for highlighting (directed) interactions without mim annotation

I love the Ctr-L feature to select unconnected lines (BTW, is there an easy way to select them after highlighting?), and it would also be nice to have such a Ctrl-Something feature for highlighting interactions (directed or not) without mim annotation.

We could combine this with the new interaction palette? That we can highlight the "basic interactions" in previous PWs (I think we don't want the graphical lines to light up, right?).

Okay, I've been looking into this a bit more....
Key shortcuts that are already in use: https://www.pathvisio.org/documentation/shortcuts/
I need to change the following class(es):
modules/org.pathvisio.core/src/org/pathvisio/core/view/ViewActions.java
To add the key shortcut action.
I could use the example of CTRL_L for the Line class (1) , but then need to add something similar to the BasicShapes (2) class I believe.
I'll try out some more later tonight or tomorrow if I have time.


Missing page title

The title is always "React App" and is never set to anything else, perhaps it would be good to have it in line with the default page titles?
Maybe implement it with something like this?
import React, { useEffect } from 'react';

function Example() {
  useEffect(() => {
    document.title = 'My Page Title';
  }, []);
}

Good idea!
It there fitting page titles in the defaut Keycloak translations?

Just had a look and yes, there is a default translation and a single title that's used across all pages, so I'll create a PR for that.


💄 fix(header): center heading when no subline

This bugged me for some reason 🤷♂

Okay fair cop. I'd argue that the figma file is incomplete as there's plenty of examples of vertically centered headings in production such as https://cloud.gov.au/

Ahh sorry: I wasn't expecting contributions yet. That comment was meant for my colleague Nath :).
Thanks for this suggestion. We have also discovered the issue in our own processes an will be updating this soon.

Haha okay all good, reopen if you'd like!
I built a quick thing using the DS https://ausgov-crest.vercel.app/ much easier to use this library than trying to work out pancake from the old DTA design system 😅


[Bug] Addon status doesn't change when the addon is enabling

➜  ~ k get application -n vela-system
NAME               COMPONENT               TYPE   PHASE             HEALTHY   STATUS   AGE
addon-fluxcd       flux-system-namespace   raw    runningWorkflow   true               32s

The status of the addon doesn't change. And it can be enabled again.

Cool!


(foo(bar))##value precedence is unfortunate

People will definitely write foo(bar)##value and trip on it

Fixed by #1481


JupyterQ does not connect to the kernel

Hi,
I am having a similar issue to others regarding not being able to connect to the kernel.
I installed jupyterq on a windows machine using anaconda. I have then created a new environment as I already had a 64 bit version of Kdb on my machine. I activated the environment and attempt to run a jupyter notebook but encounter the following error.
'2019.10.15T10:43:21.616 libpython                                                                                [6]  C:\Users\MYUSERNAME\Anaconda3\envs\jupyterqenv\q\p.q:8:                                                                                `L`M`H set'@[system"python3 ",;c;{system"python ",c}];if[count M;if[k~key k:`$":",M;L::M]];                                                               .p:(`:./p 2:(`init;2))[L;H]]
From previous closed issues it was asked to provide the versions of the following:
Name--------------------Version----------Build  Channel                                                                                embedpy----------------1.3.2-------------py37hfa6e2cd_0    kx                                                                                ipython------------------7.8.0-------------py37h39e3cac_0                                                                                ipython_genutils--------0.2.0-------------py37_0                                                                                jupyterq-----------------1.1.7-------------py37hfa6e2cd_0    kx                                                                                kdb----------------------3.6---------------2019.08.20    kx                                                                                python------------------3.7.4-------------h5263a28_0                                                                                python-dateutil---------2.8.0-------------py37_0
When I attempt to run:
$ q p.q
it reports the following:
libpython                                                                                [2]  C:\Users\MYUSERNAME\Anaconda3\envs\jupyterqenv\q\p.q:8:                                                                                `L`M`H set'@[system"python3 ",;c;{system"python ",c}];if[count M;if[k~key k:`$":",M;L::M]];                                                               .p:(`:./p 2:(`init;2))[L;H]]                                                                                ^                                                                                [0]  (<load>)                                                                                )
Other information which I think is relevant - I previously had a 32 bit version of Kdb installed on my windows machine. I thought this could have been the issue when trying to interface with 64 bit python so I removed all traces of it and reinstalled the 64 bit version using the conda command.
Really appreciate any help in advance.
Thanks!

I have solved the problem!
You cannot have anaconda and the windows store version of python installed on the same machine. Once I uninstalled the windows store version of python the notebook now works perfectly.
Hope this helps anyone else having a similar issue.


DDD drastically changing default shield mechanics & conflciting with certain mods

So I've been experimenting with a ton of features with this mod over the summer, and one thing I've noticed is that shields seem to behave pretty weird with this mod installed. Below I have noted everything that seems "off" with shield behavior with this mod.

Shields do not take durability damage if blocking with them results in taking less than 1 point of damage. An example being is that if you block an arrow that does 4 piercing damage with a shield that has 80% piercing rating, your shield will NOT lose any durability. So essentially any shield has infinite durability as long as you take less than 1 damage while blocking.
Shields do not prevent knock back, hurt noises, or damage tilt animations when fully blocking an instance of damage. This (and the previous point) are especially apparent if you use a shield with a default distribution, and you are using the config options S:"Default Shield Distribution"="EFFECTIVE_TO_REGULAR_TYPES"  or "ALLOW_BYPASS_DAMAGE_TYPE" or "ALL_EFFECTIVENESS".
Setting "S:"Default Shield Distribution" to "ALL_EFFECTIVENSSS" will prevent the game from loading. This isn't super important as you can fix this by just using "ALLOW_BYPASS_DAMAGE_TYPE", but I figured I'd mention it.
Some shield id's from certain mods can't be defined correctly in the config. Putting "thermalfoundation:tool.shield_electrum;[(s, 0.8), (p, 0.5), (b, 0.2)]" as a shield definition causes that item to receive 100% resistance for every damage type. Can provide screenshots if needed. My guess is that the period in the item id is causing issues, but armor and weapon definition lists don't have this issue with the same type of id's. This isn't a super serious fix though as I personally just use the default distribution for most shields and I would assume other pack creators are in the same boat.
The shield component of DDD seems to be incompatible with shield altering mods like shield break. This is something very minor and honestly expected, but I figured I'd bring up in case you're interested in resolving something like that.

I can provide any screenshots, logs, or example config files if needed. All of this was tested on fresh instances with nothing other than DDD and forge (except for the couple instances where I tested thermal foundation item id's). In my amateur opinion, the easiest fix might just be to provide a config option that acts as a kill switch for the shield related portions of the mod. Although I have zero clue what that would actually entail. Sorry for any possible troubles!

Shields do not take durability damage if blocking with them results in taking less than 1 point of damage.
Okay, that's an easy fix. It should probably round to minimum one durability damage.

Shields do not prevent knock back, hurt noises, or damage tilt animations when fully blocking an instance of damage.

The damage tilt animation happens when taking damage, in theory I could try to stop it from happening but I'm not too sure if it'd be worth it. I'll have to look into the knockback issue though for sure.

Setting "S:"Default Shield Distribution" to "ALL_EFFECTIVENSSS" will prevent the game from loading.
Can I have a log of the game loading with this option set? Does the game crash, or does it just hang?

As for the incorrect shields, the log might show if it encountered an issue parsing the entry. The period shouldn't be causing that many issues.
I'm not sure exactly how I could get shield break to work with DDD, but I've heard of the incompatibility. That being said, a toggle to enable/disable shield distributions is actually already implemented for 1.7, works on the fly in game without requiring a restart, and an alpha build should be available soon (I'm hoping next week at the latest). It includes a large list of changes and additions

Here is a crash report for the issue related to setting S:"Default Shield Distribution" as "ALL_EFFECTIVENESS".
Writing this ~30 minutes after I posted the log to pastebin: Actually I just figured out what the issue is. Apparently the config has 2 different version of the option  "ALL_EFFECTIVENESS". The guide in the cfg file has "ALL_EFFECTIVENeSS" and "ALL_EFFECTIVENsSS". The first option is stated everywhere in the config but one place. Apparently this issue actually stems from the setting S:"Default Armor Distribution" as it says to use "ALL_EFFECTIVENsSS". So S:"Default Shield Distribution" was causing the crash because I has copied and pasted the erroneous option from the armor guide (essentially I assumed the were both the same string). It all seems to just be a minor typo with S:"Default Armor Distribution".
The first topic to me is ideally the main issue as shields need to be able to lose durability for balance reasons IMO.
The damage tilt animation isn't that big of a deal in the long run. It's just that shields seem to keep your POV fairly "stable" in vanilla when blocking damage compared to using a fully effective one with DDD installed. The hurt noises and resulting knockback are far more annoying than the damage tilt animation.
I'll look into the fourth topic more later tomorrow, I'm not really sure why that is acting so strange. Also please don't worry or waste any dev time trying to make the mod compatible with shield break as I figured that task would probably be fairly monumental/difficult compared to the payout you'd get from fixing it. I only mentioned it for the sake of transparency, or if you intended for both mods to be able to coexist. But I know that second option was probably a long shot.
Hopefully this info helps! Let me know if you need anything else.

This is interesting, checking the source code, the description of the config doesn't seem to have typos
https://github.com/yeelp/Distinct-Damage-Descriptions/blob/2886b4e5aef4e29cb737ed18e2e47cf4b40c0703/src/main/java/yeelp/distinctdamagedescriptions/config/resists/ResistanceCategory.java#L72
It seems to match perfectly fine. This is from the Default Armor Distribution config description. They should match and be the same string.
The hurt noise I may not be able to prevent as you do technically take damage, the knockback should be able to be stopped so that's definitely a bug.

Ok thats strange that the config is differing from the source code. I uploaded a screenshot to show where the NSSS variant shows up (instead of NESS) on a fresh config file. It weird because you can notice in the config that it wants you to use ALL_EFFECTIVENESS at first, but the very next section uses ALL_EFFECTIVENSSS . And then afterwards it goes back to just being ALL_EFFECTIVENESS.

Being able to fix knockback and durability for shields is pretty much the two biggest issues to me. Although the hurt noise is annoying, it does provide some auditory feedback. Thanks for the help! I'll get that log file for you in roughly 6 hours.
Here is that log file for that bug with thermal foundation shields. I looked through It and I couldn't find anything that stood out at me. It seems to just be something to do with the shield entries and thermal foundation as I was able to define a weapon and armor piece without that weird quirk I mentioned earlier.
Thanks for the help!

That's interesting, the typo appears in the section where Forge injects the valid values into the config file, which means either th typo is being caused in Forge or something somewhere is named incorrectly. I'll have to take another look.
Try editing the config in game through the mod options menu and see if the typo persists there too.

It has the same spelling in the mod menu config. Below is a picture of what I see.

Okay there is a typo, the extra information helped me figure out where it was.

This has been fixed in 1.7


HTML signature not editable in Firefox

Hi,
Using <IP_ADDRESS>8 and editing the HTML Identity signature in Firefox browser doesn't work (Chrome does work). Can't select text or edit.

Thanks!
It will be fixed in the next version.  (today or tomorrow)

Done, try to update your version.


Screen Ruler on Microsoft PowerToys sometimes disappears

Microsoft PowerToys version
0.67.1
Installation method
Microsoft Store
Running as admin
Yes
Area(s) with issue?
Screen ruler
Steps to reproduce

When using a web browser (Microsoft Edge), I go to any website and open Screen Ruler with Window+Shitf+M.
I continue browsing the webpage and switch to another tab in Microsoft Edge.
I take actions on the other webpage and watch the Screen Ruler that should be always on top at the top of the screen.

✔ Expected Behavior
The Screen Ruler should be always on top, as I do things on my computer.
❌ Actual Behavior
Sometimes the Screen Ruler disappears and I have to minimize everything to find it, or do Window+Shift+M twice to get the Screen Ruler back on top.
Other Software
No response

this needs a repro, i can't seem to make this disappear without quitting via esc key.
/needinfo


Add link time optimization for the library and node

This adds Link Time Optimization when compiling in Release mode. It should improve speed in the helper functions for things like polarToCartesian which are called ~500k times per iteration, and reduce binary size considerably. Note that it does slow down linking.
Release build sizes before:
devel/lib/local_planner/local_planner_node 103K
devel/lib/liblocal_planner.so 1.1M
After:
devel/lib/local_planner/local_planner_node 78K
devel/lib/liblocal_planner.so 878K
Then adding static linking:
devel/lib/local_planner/local_planner_node 762K

@dagar Has there been any investigation of using LTO on the firmware? I took a quick look and didn't see any references, maybe I'm missing something.

@dagar Has there been any investigation of using LTO on the firmware? I took a quick look and didn't see any references, maybe I'm missing something.

It's something I've wanted to do for a long time, but kept running into issues requiring non-trivial code changes. I'll likely take another stab at it the next time we bump the toolchain. In the meantime we have a poor man's version on a per module basis (https://github.com/PX4/Firmware/blob/b54ca67de9b5900c7ed11bef323c7b4e5a0339b6/src/modules/mavlink/CMakeLists.txt#L71).
Somewhat relatedly, the avoidance project might be a good candidate for profile guided optimization (PGO) where you build with coverage, run a representative workload, then build again with that added information. It adds a fair amount of build complexity, but can yield significant improvements. It can also be an optional step mainly done for packages.

It's something I've wanted to do for a long time, but kept running into issues requiring non-trivial code changes. I'll likely take another stab at it the next time we bump the toolchain. In the meantime we have a poor man's version on a per module basis (https://github.com/PX4/Firmware/blob/b54ca67de9b5900c7ed11bef323c7b4e5a0339b6/src/modules/mavlink/CMakeLists.txt#L71).

Interesting! I did a quick grep of the Firmware repo and it seems mavlink is the only module using it - there might be some reasonable gains waiting there, particularly for things like matrix libraries where dependency analysis can show that not all of the returned elements are used.

Somewhat relatedly, the avoidance project might be a good candidate for profile guided optimization (PGO) where you build with coverage, run a representative workload, then build again with that added information. It adds a fair amount of build complexity, but can yield significant improvements. It can also be an optional step mainly done for packages.

Agreed, but I think there are still easier wins for performance optimization at an algorithmic level before we resort to PGO. PGO is where we'll look once we're out of ideas ;-)

It's something I've wanted to do for a long time, but kept running into issues requiring non-trivial code changes. I'll likely take another stab at it the next time we bump the toolchain. In the meantime we have a poor man's version on a per module basis (https://github.com/PX4/Firmware/blob/b54ca67de9b5900c7ed11bef323c7b4e5a0339b6/src/modules/mavlink/CMakeLists.txt#L71).

Interesting! I did a quick grep of the Firmware repo and it seems mavlink is the only module using it - there might be some reasonable gains waiting there, particularly for things like matrix libraries where dependency analysis can show that not all of the returned elements are used.

It's mildly annoying for debugging or even compile errors that now reference a giant temporary single source file.

This is blocked by an old version of CMake by default in 16.04. This can wait until 18.04 is the main target for PX4/Avoidance for merging.


Fix incorrect projection definition

Coverage remained the same at 97.246% when pulling 87c8daff0128a8e669b3b5f867250e792c914c1e on fix_incorrect_projection_definition into b084cb4494e6043f72a3dd31e626c16de4b2db6f on master.

Coverage remained the same at 97.246% when pulling 87c8daff0128a8e669b3b5f867250e792c914c1e on fix_incorrect_projection_definition into b084cb4494e6043f72a3dd31e626c16de4b2db6f on master.

Coverage report looks fine.. approving and merging this PR.