Coverage ci

PR Checklist

[x] Please add a description of your changes.
[x] We need your changes to come with unit tests in order to keep this project in quality and easy to maintain.
[ ] Please add a link to the open issue or task that this pull request will resolve.
[ ] Add a note to the changelog to indicate the change.

Does this PR introduce a breaking change?

[ ] Yes
[x] No

If yes please indicate it and migration info into the CHANGELOG.md file.

Removed coveralls, we will use sonar cloud.
Added coverage percentage check into the coverage script and added it to the contribution guidelines.
Improved GitHub action for releases, we need to run it with --production flag to avoid dev dependencies
Added coverage to sonar cloud( this was not so easy and contains lib/ files instead of src/ at least for now)
I need to merge this to see if on master branch everything is working properly.

Just a single silly thing, but I see you have some problems writing syntax-correct markdown

Checkboxes need to be
- [x] label

Just a single silly thing, but I see you have some problems writing syntax-correct markdown

Checkboxes need to be
- [x] label

Thankssssss

I guess to continue tomorrow. Sonar is integrated the problem is with the coverage file coverage/lcov.info that need to be shared between steps or jobs.

@pioardi Maybe it's not directly related to this PR, but it seems that SonarCloud is stuck with so many requests right now

This stops jerome and me to review each others work and squash-merge PRs into master
Could you maybe remove at least the requirement of this step? So it will run but doesn't need to be required to merge a PR

@pioardi I also jumped into your branch and formatted + added names for the steps for release job

@pioardi I will resolve the conflict

Ok good it worked on master branch @jerome-benoit  @Shinigami92
If you want to find the results https://sonarcloud.io/dashboard?id=pioardi_poolifier
I am going to write more and more tests and meet 95% lines for coverage and also to improve branches/functions coverage.
We will decide thresholds soon :)
Once I do this the sonar step will become mandatory

Ok good it worked on master branch @jerome-benoit @Shinigami92
If you want to find the results sonarcloud.io/dashboard?id=pioardi_poolifier

I've never used that static analyser before. Is it free and open source software?

It is free with limited features, there are some other tiers that provide more features if you give them money.


Mapping table columns with spaces in the names

Is there any way to map query results (in this case SQL Server) with columns that have spaces in the names to class properties which can't have properties in the names?
Example From Table:
CREATE TABLE [dbo].[MyData](
	[ID] [int] NOT NULL,
	[Column With Space] [nvarchar](20) NOT NULL
) ON [PRIMARY]
GO

Example To POCO Class:
public class MyData
    {
        public int ID { get; set; }

        public string ColumnWithSpace { get; set; }
    }

I know that I could probably write a raw query returning columns with out spaces and pass it into SqlKata, or return 'List<dyanmic>' and do something with that, but was hopping for an easier way to handle this since I run into this quite a bit in my current environment.  Thanks!

@saephraim no actually there is no such thing, and I think there is no plan to support it, the only option is to use aliases as you have suggested.
I will close this ticket for now, feel free to reopen it if you want to add anything else.


Speed limit is not accurate in HEREMap UI

Hello,
We are using HEREMapsUI and implemented speed limit in map navigation with GuidanceSpeedLimitView  and set its unit to .milesPerHour. Sometimes it's working fine but in some cases it's greater than by 1 from original speed limit.
For example: If speed limit of highway is 55mph then it will show 56mph.
Please let me know how we can fix this.
Thanks.

Hi,
we will look into this.

Hi,
I have used miles per hour to display the speed limit and for example if the speed limit is 55, the UI component of HereMapsUI SDK shows 56 in some cases. I guess you have used conversion where the value is rounded off thus the value is 1 mph more than the expected value.

Hi,
please make sure you always set the right unit for the conversion. We have a look into this and provide a fix for the next release if necessary.

Hi, it is fixed in https://github.com/heremaps/msdkui-ios/commit/0a38255de30da93d96d834ef5240b59f2e6679cb.


Bug: selectionTransform is not a function

We were penetrating the collab feature with the whole team (~10 users), and we got this error for some users.
Maybe @trueadm has an idea why this may happen.
Lexical version: 0.5.0
Steps To Reproduce
We don't have clear steps to reproduce (maybe we will understand the steps when our users will report this issue).

The current behavior

A hunch would be that the selection objects aren't valid? This is where they're called:
https://github.com/facebook/lexical/blob/d248de02b75f86b540dd14ceb33d9febf40e5f52/packages/lexical/src/LexicalSelection.ts#L2558-L2563
If you could maybe debug what anchorNode and focusNode are before that method is called, we can maybe see what is happening.

I will try to find a consistent way to reproduce this issue and debug it

Any update on this issue @strdr4605? Closing this for the moment due to inactivity.


Unable to display hero image

I am unable to get minimal mistakes to display the hero image. Here is the relevant sections of my _config.yml
header:
  image                  : /assets/images/inflection-logo.jpg

# Defaults
defaults:
  # _posts
  - scope:
      path: ""
      type: posts
    values:
      layout: single
      author_profile: true
      read_time: true
      share: true
      related: true
      comments: true

I am using the default home.html. The output can be seen at blog.inflection.com. Inspector in chrome does not issue a call for the hero image. I assume I have somehow misconfigured the theme.

The header image should be specified in page, not site.

If you want to apply that header to multiple posts you can include it in the defaults you have above. For example to have it show on all posts...
defaults:
  # _posts
  - scope:
      path: ""
      type: posts
    values:
      layout: single
      header:
        image: "/assets/images/inflection-logo.jpg"
      author_profile: true
      read_time: true
      share: true
      related: true
      comments: true

Thank you. Just to clarify: by page, do you mean home.html in _layouts? If not, could you just point me to the right section in the document?

By page I mean the front matter on each document (Markdown or HTML).
Check the Jekyll docs on this: https://jekyllrb.com/docs/front-matter/
You should have something like this at the very top of your source file (e.g. example.md):
---
header:
  image: /assets/images/inflection-logo.jpg
---

Thank you, that resolves my problem! I'll submit a PR for the documentation which is not completely clear on this point - https://mmistakes.github.io/minimal-mistakes/docs/configuration/ seems to imply that header: is in _config.yml.

I'd rather say it's with your understanding. The documentation clearly says:

This image can be overridden at any time by applying the following to a document's YAML Front Matter.


Support projectDir that contains spaces

Using command as following:
command "java - jar \"/my/path that/contains/spaces.jar\""
Will fail since we do:
def builder = new ProcessBuilder(command.split(' '))

More generally, the tasks should provide a way to specify the command line elements by elements and take care of escaping/quoting, delegating that job to ProcessBuilder.


Shift slicing to the workspace

This makes it possible to compute slice information once and then re-use it across multiple row or column calls.
Slicing can also be performed with arbitrary indices rather than requiring a [start, end) range.

Probably will need to ask Matrix subclass implementers to provide some more methods. For dense rows:
virtual const T* row(size_t r, T* buffer, SimpleWorkspace* work) const;
virtual const T* row(size_t r, T* buffer, BlockWorkspace* work) const;
virtual const T* row(size_t r, T* buffer, SliceWorkspace* work) const;

And same for sparse rows or sparse/dense columns. This obviously requires the definition of the newBlockWorkspace and SliceWorkspace classes, which are not subclasses of SimpleWorkspace (so as to avoid mixing them up). Similarly, we need new overloads to create them:
std::shared_ptr<SimpleWorkspace> new_workspace(bool row) const;
std::shared_ptr<BlockWorkspace> new_workspace(bool row, size_t first, size_t last) const;
std::shared_ptr<SliceWorkspace> new_workspace(bool row, const IDX* slice_begin, const IDX* slice_end) const;

Developers may assume that indices in [slice_begin, slice_end) are ordered, unique and in range.
All existing non-workspace functions also have their own virtual overloads in Matrix. These are optional and Matrix will provide a base definition that creates a workspace and calls the relevant required method. Developers can override the base method if workspace construction is expensive and a more efficient (non-workspace) algorithm is available. The cost of an extra virtual look-up is considered to be acceptable
virtual const T* row(size_t r, T* buffer) const;
virtual const T* row(size_t r, T* buffer, size_t first, size_t last) const;
virtual const T* row(size_t r, T* buffer, const IDX* slice_begin, const IDX* slice_end) const;

Then we just have the remaining non-virtual overloads and methods; these are extended as necessary for the new workspace types and slicing paradigms.

Closed by #25.


[Bug Report] Missing PluginObject import

Element UI version
0.1.0
OS/Browsers version
Windows/Chrome
Vue version
2.6.10
Reproduction Link
https://github.com/ElemeFE/element/blob/dev/types/element-ui.d.ts#L331
Steps to reproduce
Missing import for PluginObject in element-ui.d.ts
What is Expected?
Missing import for PluginObject in element-ui.d.ts
What is actually happening?
Missing import for PluginObject in element-ui.d.ts

https://github.com/ElemeFE/element/pull/15821


on keydown 'Tab' event key not being detected when page is published

Category

[x ] Question
[ ] Typo
[x ] Bug
[ ] Additional article idea

Expected or Desired Behavior
the Tab event should be fired perfectly fine.
Observed Behavior
it is working on the site workbench, and on the edit page of the site page where the app is deployed. but when i publish it, the tab event is not being captured and nothing happens. i have tried
Steps to Reproduce

https://github.com/paigeflourin/test

i created an spfx app and i have a form that inputs multiple items like so:

i am capturing the keydown press through:

 switch (event.key) {
        case 'Enter':
          this.setState({
            inputValue: ''
          });
          this.props.onChange([...value,createOption(inputValue)]);
          event.preventDefault();
          break;
        case 'Tab':
          this.setState({
            inputValue: '',
          });
          this.props.onChange([...value,createOption(inputValue)]);
          event.preventDefault();
          break;
        default:
            return null;
      }

it is working on the site workbench, and on the edit page of the site page where the app is deployed. but when i publish it, the tab event is not being captured and nothing happens. i have tried
if (e.keyCode === 9) {
    e.preventDefault();
    // code here
  }

but still it is not working, i am not sure why it's only not working when the page is published. this is the rendered code of the deployed app:
t.handleKeyDown = function(e) {
                    var n = t.state.inputValue
                      , r = t.props.value;
                    switch (e.key) {
                    case "Enter":
                    case "Tab":
                        t.setState({
                            inputValue: ""
                        }),
                        t.props.onChange(r.concat([We(n)])),
                        e.preventDefault();
                        break;
                    default:
                        return null
                    }
                }

is there a conflict with the Tab key on spfx when published?

What is the data structure in your api service? I think it should be better convert it to Mock data and add the data to the demo project.

Hi @Seiyasu the table where i am using this component is not being affected by the api service. apologies, i am not sure i am getting the last part of what you said

So it should better you can provide an minimized reproduce project. In your current project, "API Service Endpoint URL" must be set, but due to invalid endpoint, the data will always in loading. People who want to assist you have to modify the logic by ourselves and try to reproduce.

Hi @seiyasu apologies. Will update the code for the service url

Hello @paigeflourin , if it's possible, could you please provide a Mock information for "QnA Master List Name", "QnA List Tracking List Name", "API Service Endpoint URL" and "QnAMaker Knowledge Base Id" ASAP?

Hi @paigeflourin, I followed your reproduction steps, I still cannot run the sample, if it is possible, could you please tell me what are the columns under the QnA Master List Name, or any other notice?
I have to achieve the form that inputs multiple items in your step1, in order to test the Tab.


Feature request: put props as classes

Hi everyone!
Today, each styled component that change values based on props generate and inject a new css,
but what do you think to put/convert props to classNames automatically (at least, for me, it will cover a lot of uses case and generate only one css)?
Example:
const Button = styled.div`
  background: #f5f5f5;
  color: #000;

  &.kind-success {
    background: green;
    color: white;
  }

  &.kind-error {
    background: red;
    color: white;
  }

  /* or maybe, use some kind of custom select,
     then you only convert props to class that really are styled */
  :props[kind=warning] {
    background: orange;
    color: white;
  }

  &.circle {
    border-radius: 50%;
  }
`

//Call
<Button kind='success' circle />

//output
<div class="base-hash-class kind-success circle" />

I like this
:props[kind=warning] { }
It would make SC much easier to read and write. Would be especially handful for dealing with styles which depend on multiple properties:
:props[primary]  {
  /* some styles */
  :props[white] {
    /* some other styles */
  }
}

But maybe a if/else option would make SC even easier to read and write ?
:if[primary]  {
  /* some styles */
  :if[white] {
    /* some other styles */
  }
  :else {
    /* some other styles */
  }
}

At that point you're just reinventing JavaScript with some arbitrary constructs. That introduces an unnecessary learning curve, while also removing a lot of the power you get from JavaScript.
const Button = styled.button`
  ${props => {
    if (props.primary) {
      if (props.white) {
      } else {
      }
    }
  }}
`

But you don't even need to do that, just use a data-attribute & normal CSS:
const Button = styled.div`
  background: #f5f5f5;
  color: #000;

  &[data-kind~="success"] {
    background: green;
    color: white;
  }

  &[data-kind~="error"] {
    background: red;
    color: white;
  }

  &[data-kind~="warning"] {
    background: orange;
    color: white;
  }

  &[data-kind~="warning"] {
    border-radius: 50%;
  }
`

<Button data-kind='success circle' />

The ~= selector is pro for stuff like this. I wrote a blog post about using them exclusively for styling. This is one of the main reasons Styled Components looks the way it does — it lets people use the ✨  full power of CSS ✨

Thanks @geelen, that's a great solution indeed, I forgot about the [ ] selector.
Here's how I added a spinning loader to an input field:
const StyledInput = styled.input`
    padding: 7px;

    &[data-loading] {
        background-image: url('/url/to/loader.gif');
        background-repeat: no-repeat;
        background-position: right center;
    }
`;

export default (props) => (
    <StyledInput
        {...props.input}
        data-loading={props.loading || null}
    />
);

Too bad we must use the data- bit to avoid the field being stripped off, otherwise this technique could have been used everywhere.

@srosset81 In fact, I see no difference in using "date-" and a class.
const StyledInput = styled.input`
    padding: 7px;

    &.loading {
        background-image: url('/url/to/loader.gif');
        background-repeat: no-repeat;
        background-position: right center;
    }
`;

export default ({loading}) => (
    <StyledInput className={cx({loading})} />
);

What I'm doing is wrap it with a component (more or less like this):
// I dont tested this code
const wrapped = Component => (props) => {
  const clzz = {}
  Object.keys(props).forEach( v => {
    const type = typeof v;
    if (v === 'string' || v === 'number' || v === 'boolean') clzz[k] = !!v;
  });

  return <Component {...props} className={cx(clzz, props.className)} />
}

const StyledInput = styled.input`
    padding: 7px;

    &.loading {
        background-image: url('/url/to/loader.gif');
        background-repeat: no-repeat;
        background-position: right center;
    }
`;

export default wrapped(StyledInput);


[Feature-Request] Options to set background-color

It would be nice to have 3 options to choose:

choose the color yourself (color-picker)
Take the windows accent color
Take the windows theme color (dark/light)

The one I would appreciate most, is the first one.

It would be nice to have 3 options to choose:
1. choose the color yourself (color-picker)

2. Take the windows accent color

3. Take the windows theme color (dark/light)

The one I would appreciate most, is the first one.

This is a very good idea, and I have some plans for customization of the groups. Apart from custom colours, I'm also planning on adding custom size for the shortcuts and maybe even custom spacing between shortcuts.
As for the colour picker, do you think it would be sufficient (for starters) that the user inputs hex code or decimal code (RGB)? I could look for a more fancy color picker, but it would require more work.
Are there any other customization possibilites that would be a nice future feature?

This is a very good idea, and I have some plans for customization of the groups. Apart from custom colours, I'm also planning on adding custom size for the shortcuts and maybe even custom spacing between shortcuts.

That sounds very nice!

As for the colour picker, do you think it would be sufficient (for starters) that the user inputs hex code or decimal code (RGB)? I could look for a more fancy color picker, but it would require more work.

For me it would be sufficient, but I dont know if everybody knows what HEX- or RGB-code is.

Are there any other customization possibilites that would be a nice future feature?

Its not really customization, but a better hover-effect on a shortcut would be nice, than just the pointer-cursor.
Should I open a new issue for that?

User customization for colors and opacity has in the latest release!


Fix path to uberjar in ProcFile web command

Deploying to Heroku didn't work for me because the uberjar path didn't match the path to the jar in the ProcFile.
Can't think why this should be parameterised, so all I've done is add uberjar to the path. Tested and now my deploy works :)

Thanks!


Support v1.1.0 of InteractionTemplate and InteractionTemplateInterface

Add support for verifying interaction template id for v1.1
Added method for verification is verifyGeneratedTemplateId

committed your suggestions


wasm: pass PluginHandle to stream contexts.

Previously, stream contexts (i.e. filter instances) are not holding shared ptrs to Wasm plugins which take ownership of Wasm VMs, and only holding raw pointers to Wasm VMs. If Wasm plugins (i.e. factory) die earlier than stream contexts during ECDS updates, then the left stream contexts will try using invalidated pointers to Wasm VM and this results in crashes.
So this commit passes the PluginHandle to all the stream contexts which the plugin generates, so the VM must outlive all stream contexts by which it is used.
Counter part in Proxy-Wasm C++ Host: https://github.com/proxy-wasm/proxy-wasm-cpp-host/pull/167
Resolves https://github.com/istio/istio/issues/33091/
Signed-off-by: Takeshi Yoneda<EMAIL_ADDRESS>EDIT: I hope this commit https://github.com/envoyproxy/envoy/pull/16795/commits/412081d5be099369d57ae2e92d8480e7425d43d7 explains the bug well.

OK we need to pass the handle to ContexBase in C++ host so that VMs outlives not only Context (in Envoy) but also ContextBase (in Proxy-Wasm C++ host).

tests will follow after #16430

/retest

I think Lizan's out for a bit, so @PiotrSikora can you do first pass, and tag Matt or I when it's ready for merge?

@PiotrSikora still need a non-Tetrands review from you

@PiotrSikora still need a non-Tetrands review from you

Sorry, I spent way too much time doing archeology work on this issue trying to find a regression, and then looking for an alternative solution. I should have timed out on this much sooner, I'll wrap this within next 24 hours.

@moderation PTAL for dep!

/lgtm deps

@lizan I believe we are good to go now


Expose energy_multiplier to remaining SkyMaterials

Reported on twitter: https://x.com/PLyczkowski/status/1717134276133589340?s=20
These are needed to tweak sky exposure separately from background. We had the ability to modify exposure in 3.x. In 4.x I partially brought it back, but only for PhysicalSkyMaterial. For PanoramaSkyMaterial the function definitions were added, but not implemented.

Thanks!


fix unicode exceptions.

This fix PressLabs/billing/issues/187

LGTM

What about the tests?

@zalmanu  Test are added in this PR: https://github.com/PressLabs/silver/pull/304


Revert "feat: use Deno for sitemap generation"

This reverts commit 5fdb4d81bbd13cbc9d7cf7c53b36bc7b31d9b39f from #615.
This is necessary because the Deno tool was rushed, and it is nowhere close to being on par with the old solution. While it is still desirable to move to Deno tooling eventually, we should first make sure that the sitemap CLI on Deno creates a byte-identical file with the sscli tool that is reintroduced in this PQ. If any differences are accepted, they should be backed up by a good reason.
The Google Search Console reports a massive increase in 404 links since a few days after #615 was merged.

Were you able to look into the issue why a lot of pages were missing in the generated sitemap.xml? I tried generating one locally and it had all of it.

Were you able to look into the issue why a lot of pages were missing in the generated sitemap.xml? I tried generating one locally and it had all of it.

No, I did not investigate this yet.

This PQ was announced in https://github.com/grammyjs/website/pull/615#issuecomment-1428744173 already.

Why haven’t we merged this?

Because it's just 8 minutes old.


What are the units?

Hi!
What are the units for the different stats? RX/TX for example? I guess uptime is in seconds. Defining the units would be helpful!

As node-os is being used here is a useful reference: https://nodejs.org/api/os.html


Validate SystemConfig

SystemConfig should implement a mechanism to validate all configuration parameters. This means checking configuration parameters passed as Strings more strictly (i.e. whether they are an element of some sane set) and the range of numeric parameters, etc.

This comment is intended to collect (non-obvious) conditions that have to be met by the config:

[ ] Handle cross-dependencies (see #303).
[ ] After merging (#202),  phase saving may be enabled but is only supported by a few heuristics.


libdnf: 0.69.0 -> 0.70.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/rpm-software-management/libdnf/releases.
meta.description for libdnf is: Package management library.
meta.homepage for libdnf is: https://github.com/rpm-software-management/libdnf
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.70.0 with grep in /nix/store/xx082xnzyxg2lvvbfp4pgz54y3s2l6lb-libdnf-0.70.0
found 0.70.0 in filename of file in /nix/store/xx082xnzyxg2lvvbfp4pgz54y3s2l6lb-libdnf-0.70.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
libdnf
microdnf

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/xx082xnzyxg2lvvbfp4pgz54y3s2l6lb-libdnf-0.70.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A libdnf https://github.com/r-ryantm/nixpkgs/archive/87e424fb9c3e08d4305a0d63a0ef5e33c8233780.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/xx082xnzyxg2lvvbfp4pgz54y3s2l6lb-libdnf-0.70.0
ls -la /nix/store/xx082xnzyxg2lvvbfp4pgz54y3s2l6lb-libdnf-0.70.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

libdnf
microdnf

Maintainer pings
cc @rb2k for testing.

Result of nixpkgs-review pr 219303 run on aarch64-linux 1

2 packages built:

libdnf
microdnf


nearest point

Is there a method exposed to get the nearest point on a linestring to a given point?

https://pkg.go.dev/github.com/twpayne/go-geos#Geom.NearestPoints
You can find this by searching for "nearest" in the documentation. Please do this in the future.


Dart :)

Dart has GRPC support. Works great with a slice of FLutter.
Could we add the Dart generator to this docker ?
Doc: https://medium.com/flutter-community/tutorial-asynchronous-flutter-chat-client-with-go-chat-server-which-are-powered-by-grpc-simple-ce913066861c
https://github.com/amsokol/flutter-grpc-tutorial
Dart generated code.
https://github.com/amsokol/flutter-grpc-tutorial/tree/master/flutter_client/lib/api

Is there a Dart flutter client library somewhere? I'd love to add it to my compatibility tests too. If you can make a PR to https://github.com/johanbrandhorst/grpc-web-compatibility-test with a Dart client (and/or proxy), I'd love to add Dart to this image.

Is there a Dart flutter client library somewhere? I'd love to add it to my compatibility tests too.

https://github.com/grpc/grpc-dart
If you can make a PR to https://github.com/johanbrandhorst/grpc-web-compatibility-test with a Dart client (and/or proxy), I'd love to add Dart to this image.
Right now am flat chat on getting webrtc working with flutter as a transport.
Here is an example that works with golang server & Flutter Web, Desktop and Mobile.
See my Issue: https://github.com/wav/grpc-web-dart/issues/4
We can put this on the back burner for now and when i get a chance i can come back to it.
Or if anyone else gets the urge go for it..

@johanbrandhorst / @wav
One other thing worth bearing in mind
I read a day ago that the Flutter Web project is getting merged with Flutter soon.
The system will automatically choose cover over the discrepancies of Dart:io apparently.
Cant find the link right now... :(

Would be great to have a Dart grpc-web client in the interop tests.

I created https://github.com/grpc/grpc-dart/issues/235.


FromBytes::(mut_)?slice_from_[prefix|suffix] also returns the prefix/suffix instead of just the read slice

slice_from_prefix returns Option<(&[Self], &[u8])>
slice_from_suffix returns Option<(&[u8], &[Self])>
mut_slice_from_prefix returns Option<(&mut [Self], &mut [u8])>
mut_slice_from_suffix returns Option<(&mut [u8], &mut [Self])>

However, all of the other methods drop the prefix/suffix:

FromBytes::read_from_prefix returns Option<Self>
FromBytes::read_from_suffix returns Option<Self>
FromBytes::ref_from_prefix returns Option<&Self>
FromBytes::ref_from_suffix returns Option<&Self>
FromBytes::mut_from_prefix returns Option<&mut Self>
FromBytes::mut_from_suffix returns Option<&mut Self>

This is desirable: the majority of the time I drop the prefix anyways and these are convenience methods for methods in Ref.
[ref|mut]_from_[prefix|suffix] in their docs both point to using Ref to preserve the prefix/suffix.

This will be a breaking change, so we'll need to make sure we either address it as part of 0.8 or punt it to a future release. I've added it to #671 to make sure we make a decision one way or another before we release 0.8.

Heads up about https://github.com/google/zerocopy/issues/1051, which relates to this, and about https://github.com/google/zerocopy/pull/1059, which resolves #1051 in the opposite direction from this request.
Unless we want even more method duplication (which we'd really like to avoid), it seems that we'll need to just pick one of the following two approaches:

The FromBytes methods drop the suffix/prefix, and users who want them need to use Ref
The FromBytes methods return the suffix/prefix, and users who don't need them need to explicitly discard them

#1059 takes the latter approach. From a survey of uses in the ecosystem, it seems that needing the suffix/prefix is more common than not needing it. We also feel like discarding the suffix/prefix is more ergonomic than using the Ref API equivalents.
@kupiakos want to make sure you're aware that this is something we're considering and give you a chance to chime in.

From a survey of uses in the ecosystem

How was this survey performed? Via usage of the current unstable FromBytes APIs in open-source code? Did you also include usage of the exact-size APIs that are preceded by a .get(..SIZE)?

it seems that needing the suffix/prefix is more common than not needing it

I don't doubt that keeping the suffix is a common operation, especially in networking code. Firmware, unfortunately, tends to not be public. We need something ergonomic to translate something like this C code, which is extremely prevalent, into fully safe Rust:
int foo(char *data, size_t size) {
    if size < sizeof(struct Foo) {
        return ERROR_TOO_SMALL;
    }
    // Foo is a packed struct.
    Foo foo* = (Foo*)data;
    ...
}

Essentially, we want the safe version of a bounds-check followed by a pointer cast (also checking alignment if necessary). Requiring an exact size for the buffer rather than the buffer simply be large enough is rare and unnecessarily restrictive. When working with embedded code bases, it's pretty common to have a single buffer scratch space to do operations that may be larger than is necessary, or is reused as part of the response, such as with TPM.
Doing extra work and then throwing it away is antithetical to good embedded software design. Not only are methods that return more than two pointers a risk for code size bloat (even with inlining), but splitting currently introduces a panic path. The optimizer has an extremely hard job, and it is ideal to limit how much it needs to consider in order to produce optimal results, especially compared to the original C.
The mut_from_prefix method as-is currently uses Ref::new_from_prefix but that puts extra burden on the optimizer. I plan on rewriting it to instead start with a bytes.get(..size_of::<Self>()). Splitting the bytes is an extra operation, and we should only do that if we actually need to do it.

I don't think we can promise anything regarding what code we write internal to zerocopy. We currently make heavy use of the optimizer so that we can have reasonable internal abstractions, and it would be a big blow to the quality and reliability of our codebase to have to start reimplementing things by hand, especially when that involves adding rather than removing instances of the unsafe keyword.
That said, I think there's a third way. Would the following work for your use case? It uses unrelated APIs in zerocopy and provides much clearer visibility into exactly which operations are being performed. It would presumably be straightforward to wrap in a utility macro/method if desired, which would allow you to write roughly the code you currently write, but with the guarantees you're looking for.
// runtime check: do we have sufficient bytes?
let Ok(bytes) = <&[u8; size_of::<Foo>()]>::try_from(buffer) else {
    panic!("wrong number of bytes");
};

// no runtime checks
let des: &Unalign<Foo> = transmute_ref!(bytes);

// runtime check: is the deserialization well-aligned?
let Some(des) = des.try_deref() else {
    panic!("wrong alignment");
};

In particular:

TryFrom<&[u8]> for &[u8; N] is in the standard library
transmute_ref! desugars to a single transmute
Unalign::try_deref performs a single alignment check

Related: https://github.com/google/zerocopy/issues/1125

Closing in favor of https://github.com/google/zerocopy/issues/1051, which was implemented in https://github.com/google/zerocopy/pull/1059


Cannot use 'String' as class name as it is reserved in phar

When I tried to install using composer I get this error "Cannot use 'String' as class name as it is reserved in phar". Is it because the library is incompatible with php7 ?

No I use this lib with php 7.1 without issues

Any solution ?

Try composer.phar selfupdate

I already tried but it says  Command "self-update" is not defined.

Seems you a very old composer version. Simply download the latest one

I tried updating it but it says composer is already the newest version

Ok, could tell me exactly what you are doing. Do you get any other information then the mentioned error message? Try running composer in verbose mode.

Op 4 mrt. 2017 om 15:36 heeft Vishal Gangwar<EMAIL_ADDRESS>het volgende geschreven:
I tried updating it but it says composer is already the newest version
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I am getting this error when i tried to install the library. How to run it in verbose mode ?
PHP Fatal error:  Cannot use 'String' as class name as it is reserved in phar:///my_project_folder/composer.phar/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/String.php on line 18
Fatal error: Cannot use 'String' as class name as it is reserved in phar:///my_project_folder/composer.phar/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/String.php on line 18

https://getcomposer.org/doc/03-cli.md#global-options
What php version are you using?
php -v

Op 4 mrt. 2017 om 17:08 heeft Vishal Gangwar<EMAIL_ADDRESS>het volgende geschreven:
I am getting this error when i tried to install the library. How to run it in verbose mode ?
PHP Fatal error: Cannot use 'String' as class name as it is reserved in phar:///my_project_folder/composer.phar/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/String.php on line 18
Fatal error: Cannot use 'String' as class name as it is reserved in phar:///my_project_folder/composer.phar/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/String.php on line 18
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

php 7

I have no idea what your issue is, but it seems unrelated to slmqueue

Op 4 mrt. 2017 om 18:17 heeft Vishal Gangwar<EMAIL_ADDRESS>het volgende geschreven:
php 7
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Closing the issue as it is related to composer not with the library


Notebook: better warning for saving untitled file with wrong file extensions

VSCode Version: 1.47 - Insiders
OS Version: macOS

Steps to Reproduce:

Install GitHub Issue Notebooks
Add keybindings

	{
		"key": "cmd+i",
		"command": "workbench.action.files.newUntitledFile",
		"args": { "viewType": "github-issues" }
	}

CMD+I to add a new untitled github issue notebook
Save, and don't add any file extension to the file name
It fails but without meaningful warning

Does this issue occur when all extensions are disabled?: Yes/No

I added above error message for now.


Allow to specify a custom unittest runner

Monkeypatch unittest runner classes instead of hardcoding internal Runner and Result
Allow to specify custom TextTestRunner-based class as a runner
Allow to specify a custom Result factory runner method
Add unit test coverage
"unittest_runner" property can be set to:

class
class name
tuple of class/class-name and

name of the runner result-generating factory method
unbound method object with desired name
function with desired name

Runner class defaults to unittest.TextTestRunner
Result object factory method name defaults to "_makeResult"
Example:
project.set_property("unittest_runner", (lambda: xmlrunner.XMLTestRunner(project.get_property("dir_target")), xmlrunner.XMLTestRunner._make_result))

Awesome thanks! Will review, merge and release in the next few hours.

Thanks!


Predefined ranges have 1 day too many

Describe the bug
The predefined ranges for Last 7 and 30 Days actually select 8 and 31 days.
To Reproduce
Steps to reproduce the behavior:

Use the ranges plugin
Click on 'Last 7 Days'

Expected behavior
If today is February 8th, it should select a range of Feb 2 - Feb 8, for a total of 7 days inclusive. Instead, it selects Feb 1 - Feb 8, for a total of 8 days inclusive.
This may not be a bug and may be intended behavior, but in my experience most times "Last 7 Days" will select a total of 7 days (and go from 6 days ago to today).

Yes, good point.
I will fix it.
Thanks.

fixed in 2.0.2


Fixed searching of workspace on Windows.

On my platform (go version go1.12 windows/amd64), path.Dir only takes into account simple slashes, and filepath.Dir uses OS path separator.


Let Users set default vaules for launch.settings

Please include the following with each issue:
1. Describe the bug
In /src/services/initializeDebugAdapterService.js
Let the user to configure (via settings) the default values for the launch.json
2. To Reproduce
Steps to reproduce the behavior:

Go to '...'

AL code snippet that demonstrates the issue or a link to a code repository the developers can easily pull down to recreate the issue locally
Note: Because the developers need to copy and paste the code snippet, including a code snippet as a media file (i.e. .gif) is not sufficient.
3. Expected behavior
A clear and concise description of what you expected to happen.
4. Actual behavior
A clear and concise description of what happened accompanied by images, animations, or a link to a video showing the issue occurring
5. Versions:

AL Language: Any
Visual Studio Code: Any
Business Central: Any
List of Visual Studio Code extensions that you have installed:

Final Checklist
Please remember to do the following:

[ ] Search the issue repository to ensure you are reporting a new issue

[ ] Reproduce the issue after disabling all extensions except the AL Language extension

[ ] Simplify your code around the issue to better isolate the problem

Hi, Stefano! This sounds like a feature request. Shouldn't it go to BCIdeas?

I think this is borderline:
For me, it is a must-have because the current values rarely are applicable. (by default every BC container made with BcContainerHelper has the server instance as BC and not BC170/BC160 etc..) and due to also MS is moving to containers the "localhost" server is more likely not correct

This should go to BCIdeas, since it's a feature request. I agree that it would be nice to have (internally we also always have to change the preset values), but in terms of priority we'd need it to be voted on by the community.


Job

Edited: removed irrelevant (bot) content.

This ticket contained questionable material. I'm closing it and blocking the user.

This ticket contained questionable material. I'm closing it and blocking the user.


Morefixings coming

Coverage decreased (-0.02%) to 10.637% when pulling 11ac9d3ffcc2c317a18601f29b035ee284485f5e on morefixings-coming into fa16a8ae6a80aa27f61390ef5a20650273d2bc4e on master.

Coverage decreased (-0.02%) to 10.637% when pulling 253608216b2158a9786c3b82545df036416ac642 on morefixings-coming into fa16a8ae6a80aa27f61390ef5a20650273d2bc4e on master.


Make available via apt-get?

Hello,
Is it possible to make this available via apt-get to install it as a service?
If not, how do I install it on a Raspberry Pi running Raspbian as a service properly as mine is running in init.d but it uses some sort of default config file and ignores mine for some reason.

Any updates on this?

Take a look at #33. You are now able to generate you own packages with fpm. I can't provide you with a test package, because all of my raspberries are in use. But feel free to give me feedback!

@Jamesking56 did you test it? Everything okay?

No haven't had chance to test since my Raspberry Pi is in a different county than I am and it's not switched on lol

On 1 Apr 2015, at 2:33 pm, Jochen Breuer<EMAIL_ADDRESS>wrote:
@Jamesking56 did you test it? Everything okay?
—
Reply to this email directly or view it on GitHub.

@Jamesking56 Then I'd suggest to leave it open until everything is working reliably. :)

It would be great if these deb files that are generated could be stored in a repository like https://packagecloud.io

@spuder It is fairly easy to host your own repository with reprepro[1]. You can find some information about a deployment with it on my blog[2] under the headline: "Full Blown Deployment With reprepro".
[1] https://mirrorer.alioth.debian.org/
[2] http://brejoc.com/cup-recipe-for-django-python-deployment-part-3-deployment/


feat(examples): add task manager component

Feature or Problem

Related Issues

Release Information

Consumer Impact

Testing

Unit Test(s)

Acceptance or Integration

Manual Verification

Does this address part of #2037 ? 😮

It definitely could! I think the main problem here is that we need something that almost pings components on a daily cadence if we want  a consistent task runner (a provider/host integration), this is mostly only to do with tracking and creating new tasks to be done -- quite generic I think!


Refactor/content

Hello @leonorader ! How are you there?
Sorry, but since that COVID arrived Brazil I haven't been much time.
This PR is related to the issue #16, where we talked about using a pattern to make the Content a classic domain class.

@eurafa Nice work! Thanks a lot! :) I've also been busy lately, so sorry for the late response!
Thanks again :)
Hope you're well in Brazil, too :)


Causes world-loading deadlock when installed alongside Dragon Survival

Log demonstrating the problem on a minimal installation. (GeckoLib, Dragon Survival, ProjectE, Project Expansion).
It seems to be causing reflection errors- first crashing dragon survival, and then preventing the server from shutting down correctly, leaving the game to hang.

We are not mentioned in the error log. Report the issue to them.

I know it's not in the trace, but adding and removing this mod causes the crash or prevents it, even in very large packs with many other mods. this mod is definitely at fault.

If this is on our side, I'm not willing to look in to it.


Error: TypeError: unsupported operand type(s) for |: 'ModelMetaclass' and 'type'

Using the
from pyfa_converter import FormDepends

and get the error
TypeError: unsupported operand type(s) for |: 'ModelMetaclass' and 'type'

python: 3.9

Using the
from pyfa_converter import FormDepends

and get the error
TypeError: unsupported operand type(s) for |: 'ModelMetaclass' and 'type'

python: 3.9
https://github.com/dotX12/pyfa-converter/blob/master/pyfa_converter/depends.py

Need convert typehint A | B to Union[A, B]

if you have time to do it, i can do it tomorrow.

Fixed in https://github.com/dotX12/pyfa-converter/pull/12
Thx for joining the community!

Release: https://github.com/dotX12/pyfa-converter/releases/tag/<IP_ADDRESS>


Signals

Does reactphp use unix signals internally within it's event loop framework? If so which

We support all signals PHP support, documentation is available at: https://reactphp.org/event-loop/#addsignal

I believe this has been answered, so I'm closing this for now. Please come back with more details if this problem persists and we can reopen this :+1:


Updated password-alias naming to match host-alias

HostAlias takes the form host-alias-COMMAND. Updated PasswordAlias
to mimic. Updated property names too.

Hi @sekhardutta,
After merging your previous PasswordAlias updates, I noticed some inconsistencies with the HostAlias.
https://github.com/ibm-datapower/datapower-configuration-manager/blob/master/deploy.ant.xml#L760
Specifically...

The HostAlias name takes the form host-alias-COMMAND. I updated the two PasswordAlias commands as such.
The properties take a similar form of password-alias.name and password-alias.password.
Lastly, I'm also seeing that the host-alias-set commands can create or update the HostAlias object. Can the password-alias-update command also create or update a PasswordAlias? If so, we would want to remove the password-alias-create command or migrate the update functionality into the create

Hi nhmathis
Yes, your first two points make sense to make names sync. But the third point, we can't make it as a single task because the soma scripts inside the java code is different to perform create, update operations. In case of host alias a single soma script is used for both operations.
Please commit these name changes to master repo. Thank you very much for your support.
Regards
Chandra Sekhar Dutta


How to use GPU under Python

How to use GPU under Python ? Thanks.

thanks.

matcher = cv2.cuda.DescriptorMatcher_createBFMatcher(cv2.NORM_HAMMING)
AttributeError: 'module' object has no attribute 'DescriptorMatcher_createBFMatcher'
OpenCV 3.3.1

@Algabri try using OpenCV 4
https://docs.opencv.org/master/dd/dc5/classcv_1_1cuda_1_1DescriptorMatcher.html

Thanks, @filipemansano,  I see that with c++ only. What about python??

I installed OpenCV 4.2,  it  is already run on GPU but I did not observe any difference between CPU and GPU. The same speed (Frame per second), it is running at 30 fps for whole image with 50000 point, but when I use it with deep learning, it made dropping to fps to 6 instead of 23 fps because of matching with every object instead of one (if  deep learning only run is 23 fps and  if GMS-Feature-Matcher only run is 30 fps)


Update any mentions of "How to set up a free PostgreSQL database on Heroku" article

Heroku doesn't offer any free tier DBs any more so we should update the mentions to the article:

old link: https://dev.to/prisma/how-to-setup-a-free-postgresql-database-on-heroku-1dc1
new link: https://dev.to/prisma/set-up-a-free-postgresql-database-on-supabase-to-use-with-prisma-3pk6

Using a global search in the docs content for the old URL should quickly reveal all instances where the old article is mentioned.

Duplicate of https://github.com/prisma/docs/issues/4699 & completed 🙂


documentation -- guild remove failed and terminated runs

Should this be: guild runs rm -ET instead of guild runs -ET

Thank you! All fixed.


Added check for same uris in one batch and fixed ContentItem to Conce…

…pt relation bug

We really should have tests. I think your solution should work, but I am not super confident that simply dropping previous entities from is always correct.
Can you provide a test that fails without this change and passes with the change? This would be great to have. I have another idea for a fix, but would love to test it on an actual case that currently fails.

We really should have tests. I think your solution should work, but I am not super confident that simply dropping previous entities from is always correct.
Can you provide a test that fails without this change and passes with the change? This would be great to have. I have another idea for a fix, but would love to test it on an actual case that currently fails.

Working on a peertube test: #100
Postponed for now.


gosublime error

| GoSublime error: MarGo build failed
|                > This is possibly a bug or miss-configuration of your environment.
|                > For more help, please file an issue with the following build output
|                > at: https://github.com/DisposaBoy/GoSublime/issues/new
|                > or alternatively, you may send an email to<EMAIL_ADDRESS>|                >
|                >
|                > cmd: ['/usr/local/go/bin/go', 'build', '-tags', '', '-v', '-o', 'gosublime.margo_r16.07.09-1_go1.6.2.exe', 'disposa.blue/cmd/margo']
|                > stdout: |                >  |                >
|                > stderr: |                > ../../../../GoSublime/src/disposa.blue/cmd/margo_pkg/broker.go:4:2: cannot find package "bufio" in any of: |                > 	~/go/src/bufio (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/bufio (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/bufio |                > ../../../../GoSublime/src/disposa.blue/cmd/margo_pkg/broker.go:5:2: cannot find package "bytes" in any of: |                > 	~/go/src/bytes (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/bytes (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/bytes |                > ../../../../GoSublime/src/disposa.blue/cmd/margo_pkg/common.go:5:2: cannot find package "encoding/base64" in any of: |                > 	~/go/src/encoding/base64 (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/encoding/base64 (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/encoding/base64 |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/package_bin.go:4:2: cannot find package "encoding/binary" in any of: |                > 	~/go/src/encoding/binary (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/encoding/binary (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/encoding/binary |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/config.go:5:2: cannot find package "encoding/json" in any of: |                > 	~/go/src/encoding/json (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/encoding/json (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/encoding/json |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/package_text.go:5:2: cannot find package "errors" in any of: |                > 	~/go/src/errors (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/errors (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/errors |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/client.go:4:2: cannot find package "flag" in any of: |                > 	~/go/src/flag (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/flag (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/flag |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/autocompletecontext.go:5:2: cannot find package "fmt" in any of: |                > 	~/go/src/fmt (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/fmt (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/fmt |                > ../../../../GoSublime/src/disposa.blue/margo/meth/importpaths/importpaths.go:5:2: cannot find package "go/ast" in any of: |                > 	~/go/src/go/ast (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/go/ast (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/go/ast |                > ../../../../GoSublime/src/disposa.blue/margo/opts.go:4:2: cannot find package "go/build" in any of: |                > 	~/go/src/go/build (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/go/build (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/go/build |                > ../../../../GoSublime/src/disposa.blue/margo/meth/importpaths/importpaths.go:7:2: cannot find package "go/parser" in any of: |                > 	~/go/src/go/parser (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/go/parser (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/go/parser |                > ../../../../GoSublime/src/disposa.blue/cmd/margo_pkg/common.go:10:2: cannot find package "go/printer" in any of: |                > 	~/go/src/go/printer (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/go/printer (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/go/printer |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/autocompletefile.go:7:2: cannot find package "go/scanner" in any of: |                > 	~/go/src/go/scanner (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/go/scanner (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/go/scanner |                > ../../../../GoSublime/src/disposa.blue/margo/meth/importpaths/importpaths.go:8:2: cannot find package "go/token" in any of: |                > 	~/go/src/go/token (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/go/token (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/go/token |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/config.go:7:2: cannot find package "io" in any of: |                > 	~/go/src/io (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/io (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/io |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/client.go:7:2: cannot find package "io/ioutil" in any of: |                > 	~/go/src/io/ioutil (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/io/ioutil (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/io/ioutil |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/autocompletefile.go:9:2: cannot find package "log" in any of: |                > 	~/go/src/log (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/log (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/log |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/types/const.go:12:2: cannot find package "math/big" in any of: |                > 	~/go/src/math/big (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/math/big (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/math/big |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/server.go:8:2: cannot find package "net" in any of: |                > 	~/go/src/net (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/net (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/net |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/gocode.go:7:2: cannot find package "net/http" in any of: |                > 	~/go/src/net/http (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/net/http (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/net/http |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/gocode.go:8:2: cannot find package "net/http/pprof" in any of: |                > 	~/go/src/net/http/pprof (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/net/http/pprof (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/net/http/pprof |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/client.go:8:2: cannot find package "net/rpc" in any of: |                > 	~/go/src/net/rpc (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/net/rpc (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/net/rpc |                > ../../../../GoSublime/src/disposa.blue/cmd/margo_pkg/m_pkgdoc.go:8:2: cannot find package "net/url" in any of: |                > 	~/go/src/net/url (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/net/url (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/net/url |                > ../../../../GoSublime/src/disposa.blue/margo/meth/importpaths/importpaths.go:9:2: cannot find package "os" in any of: |                > 	~/go/src/os (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/os (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/os |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/declcache.go:11:2: cannot find package "os/exec" in any of: |                > 	~/go/src/os/exec (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/os/exec (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/os/exec |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/autocompletecontext.go:10:2: cannot find package "path" in any of: |                > 	~/go/src/path (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/path (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/path |                > ../../../../GoSublime/src/disposa.blue/margo/filter.go:4:2: cannot find package "path/filepath" in any of: |                > 	~/go/src/path/filepath (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/path/filepath (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/path/filepath |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/config.go:10:2: cannot find package "reflect" in any of: |                > 	~/go/src/reflect (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/reflect (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/reflect |                > ../../../../GoSublime/src/disposa.blue/cmd/margo_pkg/m_lint.go:9:2: cannot find package "regexp" in any of: |                > 	~/go/src/regexp (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/regexp (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/regexp |                > package disposa.blue/cmd/margo |                > 	imports runtime: cannot find package "runtime" in any of: |                > 	~/go/src/runtime (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/runtime (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/runtime |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/autocompletecontext.go:13:2: cannot find package "sort" in any of: |                > 	~/go/src/sort (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/sort (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/sort |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/client.go:11:2: cannot find package "strconv" in any of: |                > 	~/go/src/strconv (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/strconv (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/strconv |                > ../../../../GoSublime/src/disposa.blue/margo/meth/importpaths/importpaths.go:11:2: cannot find package "strings" in any of: |                > 	~/go/src/strings (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/strings (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/strings |                > ../../../../GoSublime/src/disposa.blue/margo/opts.go:5:2: cannot find package "sync" in any of: |                > 	~/go/src/sync (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/sync (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/sync |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/package_text.go:10:2: cannot find package "text/scanner" in any of: |                > 	~/go/src/text/scanner (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/text/scanner (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/text/scanner |                > ../../../../GoSublime/src/disposa.blue/margo/meth/importpaths/importpaths.go:13:2: cannot find package "time" in any of: |                > 	~/go/src/time (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/time (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/time |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/package_bin.go:9:2: cannot find package "unicode" in any of: |                > 	~/go/src/unicode (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/unicode (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/unicode |                > ../../../../GoSublime/src/disposa.blue/something-borrowed/gocode/package_bin.go:10:2: cannot find package "unicode/utf8" in any of: |                > 	~/go/src/unicode/utf8 (from $GOROOT) |                > 	~/.config/sublime-text-3/Packages/User/GoSublime/src/unicode/utf8 (from $GOPATH) |                > 	~/.config/sublime-text-3/Packages/GoSublime/src/unicode/utf8 |                >
|                > exception: None
|   install state: busy
| sublime.version: 3114
| sublime.channel: stable
|       about.ann: a16.07.09-1
|   about.version: r16.07.09-1
|         version: r16.07.09-1
|        platform: linux-x32
|            ~bin: ~/.config/sublime-text-3/Packages/User/GoSublime/linux-x32/bin
|       margo.exe: ~bin/gosublime.margo_r16.07.09-1_go1.6.2.exe (missing)
|          go.exe: /usr/local/go/bin/go (ok)
|      go.version: go1.6.2
|          GOROOT: ~/go
|          GOPATH: ~/work
|           GOBIN: (not set) (should usually be (not set))
|       set.shell: []
|       env.shell: /bin/bash
|       shell.cmd: ['/bin/bash', '-l', '-c', '${CMD}']

your GOROOT looks wrong. you probably shouldn't be setting it at all


SNI support for ingress/gateway with TLS termination

For ingress/gateway, if multiple domains and certificates are used we need to generate something like:
      - filter_chain_match:
            sni_domains: {{ $domain }}
          tls_context:
            common_tls_context:
              tls_certificates:
                - certificate_chain: { filename: "/etc/istio/ingress-certs/{{ $domain }}-tls.crt" }
                  private_key: { filename: "/etc/istio/ingress-certs/{{ $domain }}-tls.key" }
          filters:
          - name: envoy.http_connection_manager
          ...

Current code only generate a single filter-chain-match.

I see some code is in, but no unit tests.

Any news on this ?

The Istio ingress gateway supports SNI. Kube Ingress controller SNI is not supported.

The Kubernetes ingress documentation shows they support the SNI TLS extension. Is that different then what you guys are referring to here with the kube ingress controller? Can you help me understand why support isn't being added? Is it not needed? I'd really like to use Istio, but no SNI support is blocking us.
https://kubernetes.io/docs/concepts/services-networking/ingress/#types-of-ingress

What Andra and Shriram mean is that Istio supports SNI (this was added in 0.8), but SNI in Istio is not configurable via the Kubernetes Ingress API resource and we do not intent to extend our implementation of the Kubernetes Ingress API to implement SNI support. Instead, the only way that Istio supports configuring SNI is via Istio's Gateway API.
The experimental Istio command convert-networking-config can be used to help convert Kubernetes Ingress resources into their pair of Istio Gateway+VirtualService, to aid the transition from Kubernetes Ingress to Istio Gateway.

Sorry for the late reply, got tied up with DockerCon last week. Yes, the Gateway allows for multiple certificates. The config would look like:
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: my-gateway
spec:
  selector:
    app: my-ingress-gateway
  servers:
  - port:
      number: 443
      name: https
      protocol: HTTPS
    hosts:
    - foo.com
    tls:
      mode: SIMPLE
      serverCertificate: /etc/certs/foo/server.pem
      privateKey: /etc/certs/foo/privatekey.pem
  - port:
      number: 443
      name: https
      protocol: HTTPS
    hosts:
    - bar.com
    tls:
      mode: SIMPLE
      serverCertificate: /etc/certs/bar/server.pem
      privateKey: /etc/certs/bar/privatekey.pem

This effectively wires up two listeners in Envoy, both on port 443, that will attempt to match the request based on SNI to either foo.com or bar.com, and will serve /etc/certs/foo/server.pem and /etc/certs/bar/server.pem for requests with those two hosts respectively.
A pure wildcard host ("*") will not work with SNI as Envoy itself does not support that behavior (@rshriram keep me honest here please).
Finally note that with the current implementation, all Servers on the same port must use the same protocol (HTTPS in this case).

+1 for @dkhandeshi 's comment. This is still not working in Istio 1.10


Background Images not sharp enough

Need to load a higher resolution of the image as the background image as the current versions aren't sharp enough

Hi there,
I just installed this extension and have found the images to all be quite low res/ not sharp enough on my display (2560x1440 Dell U2715H), and noticeably different to the source image.

Hi @StuartMorrisAU, the images that are being loaded are 1500px in width which should be sufficient for the majority of users. What image resolution do you find to be acceptable on your display?


Remove @protected annotation on ImageProvider.obtainKey

Description
Most ImageProvider sub-types already override obtainKey without another @protected annotation, making them effectively un-protected. Since the behavior of this annotation changes depending on the type signature, it doesn't seem very stable - it is also an ignorable hint that provides no additional safety

Landed on red to unblock google3 roll


Text change in Favorite Events

Describe the chore
In my opinion, "Nothing planned ..yet" is not exactly related to Liked Events.
Text should be chnaged to something like "No Liked Events" which makes more sense.
Would you like to work on the issue?

[x] Yes

@iamareebjamal @liveHarshit what's your opinion?

You can add search option in extra. Please check Eventbrite likes section.

@somenath1435  Liked Events Fragment has been changed . Please check with current implementation. If find irrelevant , please close this issue


ExCloudinary

Hi sschneider1207:
How do we configure ExCloudinary to accept video stream uploads instead of images directly from my Phoenix application?

Is the video stream upload use a different endpoint then images?  If not I would guess you could just do an upload with the raw bytes, otherwise we'd need to add another function to talk to a new endpoint.


Redis EOF after a period of time - probably due to timeout

Hello,
While running in production an app which uses go-redis library, we observed that the first request to Redis after a longer period of inactivity fails. It seems that the connection "dies" if unused with err = EOF.
What is the suggested mechanism to re-connect transparently and to prevent failure for the failing initial request? Can the library auto-reconnect in case of failed connection?
The code is super-simple. It does a MGET command for several keys. Redis connection is initialized using:
func InitRedis(host string, db int64) {
    client = redis.NewClient(&redis.Options{
        Network:"tcp4",
        Addr: host,
        DB: db,
    })
}

//request to get
  v, err := client.MGet("cp:"+date, "ob:" + date).Result()
    if(err!=nil || err == redis.Nil){
        log.Println("Error while getting Redis keys: ", err)
        panic(err)
    }

Thanks,
Robert

Hi,
go-redis detects broken connection, removes it from the pool and replaces it with fresh connection. go-redis currently does not auth-retry failed operation, but this is going to be address in redis.v3. @dim already added auto-retry to the Redis Cluster client and I will port required changes to the plain client too.

I am using redis.v3 and getting the same EOF error from timed out connections on a non-clustered client. Is there a particular syntax I need to use to get this retry behavior?

Just wanted to follow up on the last comment. Looked through the lib and in the Options struct there was the following comment
	// The maximum number of retries before giving up.
	// Default is to not retry failed commands.
	MaxRetries int

So it looks like the solution to this is to make sure you are configuring this something like:
        client := redis.NewClient(&redis.Options{
		Addr:     u.Host,
		Password: p,
		DB:       0, // use default DB
		MaxRetries: 2,
	})

Do you use non-zero timeout setting on your redis-server? Then you should use IdleTimeout option smaller than timeout, e.g.:
client := redis.NewClient(&redis.Options{
    IdleTimeout: 5*time.Minute,
})

Thanks @vmihailenco - I am also using a timeout on the server and will adjust the client accordingly.

Cool, I believe you don't need retries then. E.g. I don't use retries and don't see EOF in production.


Token on Tonhub cannot display

I received dogs token but it did not display..at first it display like 2 minutes but after that it did not display anymore

This issue has been preview on the Pull Requests. To resolve,
Contact the dAppNode page to initiate a chat with the live agent on the chat button to get more information about your request via dAppNode
Thank you for posting @Teibok12

Men yangi token zarb qildim. Tasdiqlanmadan token bo'lib ko'rinyapti


cannot export from my vault because the path not found

I try to export kv from my local vault server, but I always get the error "no keys found using path [secret/metadata/webhook/] on Vault instance [http://localhost:8201], my key is on this path "http://localhost:8201/ui/vault/secrets/secret/show/webhook" and I trying to export it via command: "./medusa export secret/webhook --address="http://localhost:8201" --token="xxxxxxxxxxx"".
is my command wrong? please help me with this issue, thank you.

Solved, need to run this command: ./medusa export secret --address="http://localhost:8201/" --token="xxxxxxxxxxx" rather than the last command that I run. Because webhook don't have subfolders on it.

Solved, need to run this command: ./medusa export secret --address="http://localhost:8201/" --token="xxxxxxxxxxx" rather than the last command that I run. Because webhook don't have subfolders on it.


Decimal to gray code in C++

Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
Given a decimal number, convert it into its gray code in decimal form.
Example:
I/P : 7
O/P : 4
In binary, 7 is 111. The equivalent gray code of 111 in binary form is 100. If 100 is converted into decimal form, it is 4.
Checklist

[Yes] I've read the contribution guidelines.
[Yes] I've checked the issue list before deciding what to submit.
[Yes] I've edited the README.md and link to my code.

Related Issues or Pull Requests
#4050

@HarshCasper @bhav09 @gat786 Kindly review my PR. The repl.it link of my code<EMAIL_ADDRESS>


Support for fully custom :load_from for escripts

Hi, I'm trying to use a single rust function inside my elixir app. I followed the setup instructions according to mix rustler.new and successfully got it working under iex. Unfortunately, I was getting an error when doing the same for escript.build, which is when I found out that rustler uses priv directory which is not accessible to escripts. Luckily, I came across the load_from configuration option and tried it in my module like this:
use Rustler, otp_app: :fizzbuzz, crate: "fizzbuzz", load_from: {:fizzbuzz, "/Users/maheep/Downloads/native/libfizzbuzz"}
Unfortunately, all it does is append the path to Application.app_dir output. Here's the problematic line in rustler.ex:
load_path =
          otp_app
          |> Application.app_dir(path)
          |> to_charlist()

which I changed to:
load_path =
          path
          |> to_charlist()

Doing this change allows me to specify fully custom load_from paths and gets things working for me.
MY QUESTION: Is load_from the correct option to use in my case? If so, do I have any other alternative (I don't think its a good idea to mess with a dependency's code).
MY OS: macOS 13.4.1 Ventura

If I understand your question correctly, you are wondering if you should be able to use an absolute path for load_from because currently it only allows a relative path?

@evnu that is correct. And I also have the question that since I got absolute paths working by changing 2 lines in code, did I just find a bug or is there a reason as to why only relative paths are allowed?

did I just find a bug or is there a reason as to why only relative paths are allowed?

I think this might be a bug, load_from should IMO allow to load from any path. Now, I don't know if we should have a breaking change here, as users might already depend on the handling we have in place right now. So I'd propose that we fallback to Application.app_dir/2 if the path looks like a relative path:
absolute? = Path.absname(path) == path

load_path =
  if absolute? do
    to_charlist(path)
  else
    otp_path |> Application.app_dir(path) |> to_charlist()
  end

We could also add a separate option load_abspath which does not do this conversion. That might be a bit nicer with regards to documentation, as we could then document how load_path and load_abspath each retrieve the library.
@filmor thoughts?

I support having a separate option for the sake of backward compatibility and for simplifying things in code. Just check if the compiled artifact is present in absolute path, and proceed accordingly. 😄

Current state here: @filmor and I discussed a possible solution (simply allowing absolute paths) in #558. The solution has pros (simple) and cons (versioning of the library, deployment of the library, etc). @filmor proposed to implement @on_load manually, which is a workaround that works for the use case here. That means that a user cannot use Rustler directly, but replicate that logic and replace the parts that are required for loading the library.

I'm building an application which uses a library built on rustler (ex_git). Because of nix's network sandbox, one cannot rely on the elixir-driven compilation of the rust library.
When I tried using load_from to point at an absolute path of the built library, I was unfortunately met with a similar issue. I've worked around this for now by symlinking the library into place, but I figured I'd share another use case.
ex_git>   'Failed to load NIF library: \'/build/hex-source-ex_git-0.11.0/_build/prod/lib/ex_git/nix/store/0fkzv7r63zi4p08rpsx71wkbnfg0i44l-ex_git_rustler-0.11.0.so: cannot open shared object
 file: No such file or directory\''}}

The problem is that cargo was trying to download the dependencies for the library. If you have to pre-vendor the dependencies, it's just as easy to use nix to build the rust library first and provide the output to the resulting app.
I'm open to alternatives, but this does work.

```nix
  mixNixDeps = import ./mix.nix {
    inherit lib beamPackages;
    overrides = _: prev: {
      ex_git = let
        name = "ex_git";
        version = "0.11.0";
    src = beamPackages.fetchHex {
      pkg = "${name}";
      version = "${version}";
      sha256 = "1lri3xvslkz8m2f65jfkfmqf9b5jjr5r5r865hwlll5bm316s4ck";
    };

    exgitRustler = rustPlatform.buildRustPackage {
      pname = "ex_git_rustler";
      inherit version;

      nativeBuildInputs = [
        pkg-config
      ];

      buildInputs = [
        openssl
      ];

      src = "${src}/native/exgit";
      cargoHash = "sha256-H2dNNrrz+fc4h7YwLVkyumHTpb5Z3koZ2RwRY2OU3EY=";
    };
  in
    beamPackages.buildMix {
      inherit name version src;

      beamDeps = [prev.rustler];

      appConfigPath = ../config;

      postBuild = ''
        rm priv/native/libexgit.so
        ln -s ${exgitRustler}/lib/libexgit.so priv/native/libexgit.so
      '';
    };
};

};
</details>


ContentBlock initialize with text?

Hi! I'm inserting a custom block which I want to make editable. it works if I type text on it , just wondering if it's possible to set initial content and custom styles on it ?
return(
      <span>
          <EditorBlock {...@props}
              className="imageCaption"
              text="my initial content"
          />
      </span>
    )

best regards

Hi @michelson - sorry for the late response! Here's a simple JSFiddle that describes sort of what it seems like you want to do: https://jsfiddle.net/rh2x1oaz/
If you have further questions, I'd encourage you to join the Draft.js Slack channel and ask for help there (there will be more people available to help answer questions or give feedback).
I'm going to close this, but feel free to re-message or re-open if further questions or issues.


S02158. Amy- Update Dockerfile on Dev pipeline

WELCOME TO DEVOPS-EASY-LEARNING PULL REQUEST SYSTEM
Description of the change
Update Dockerfile on Dev pipeline
Checks and balances

[ ] Tests added and run
[ ] (External) Interfaces documented
[ ] Has security implications (describe below)

Type of change

[ ] Bug fix (non-breaking change that fixes an issue)
[x] New feature (non-breaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected)

Related stories, issues and pulls
S02158
Security considerations
none

good job

good job Amy

Just Checked


Refactor space with nested routes

 Refactor space to use nested routes https://next.router.vuejs.org/guide/essentials/nested-routes.html

@bonustrack ready for review.

@bonustrack this seems like the best solution for all cases. Now we can access space and proposal with or without key.

If we don't want to show the key in the URL after clicking on a proposal we can make that change on the router-link.

Some issue i found:

When i visit a space i get this url: /#/gitcoindao.eth/ but the url should be like this /#/gitcoindao.eth.
If you are on a proposal page and click to comeback on the space it will redirect to a blank page

Some issue i found:

When i visit a space i get this url: /#/gitcoindao.eth/ but the url should be like this /#/gitcoindao.eth.
If you are on a proposal page and click to comeback on the space it will redirect to a blank page

Can't find a clean solution for the way you want it. So I'd suggest you finish this PR

Some issue i found:

When i visit a space i get this url: /#/gitcoindao.eth/ but the url should be like this /#/gitcoindao.eth.
If you are on a proposal page and click to comeback on the space it will redirect to a blank page

Can't find a clean solution for the way you want it. So I'd suggest you finish this PR

Actually I can't find any solution for doing it like that. Something small always ends up breaking somewhere. IMO we should just do spaces with /spaceid on custom and snapshot.org

@harshmaur is looking into a solution.

Closed via https://github.com/snapshot-labs/snapshot/pull/646


Update 2024-06-26-community-meeting.mdx

Feature or Problem

Related Issues

Release Information

Consumer Impact

Testing

Unit Test(s)

Acceptance or Integration

Manual Verification

jk next week


MIEngine can't start after setting PATH

After loading an environment file via envFile (or presumably, also via setting PATH via "environment")
I have experienced this:
sh /tmp/Microsoft-MIEngine-Cmd-41jdiyf6.lf4
env: ‘sh’: No such file or directory
Which prevents the launcher from running the debugger (or doing anything useful)
The problem is that the environment file is intentionally removing normal PATH elements like /usr/bin/, etc...  to ensure that the environment that is being executed is pristine.
MIEngine/src/MICore/Transports/RunInTerminalTransport.cs
line 157
cmdArgs.Add("sh");
This I guess must be also a launcher setting
"cmdInterpreter.shellPath"  maybe ?

@Smit-tay On my machine, sh is located in /bin. Would prefacing that command with /bin fix the issue you are running into?

Just a quesiton:
Why does the path have to be hard-coded ?
Can it be provided via a variable which the user can set, with a default value of maybe /usr/bin/sh ?
Or, perhaps discovered via "which sh" or something ?

@Smit-tay The problem is that the command we build there is passed to VS Code. It sounds like the bug isn't with the envFile but actually with how VS Code is running that command. The envFile settings is only passed to set up the debuggee and shouldn't affect any of our running of scripts in this scenario.
Can you clarify if not setting envFile works for your scenario?

Why does the path have to be hard-coded ?
Can it be provided via a variable which the user can set, with a default value of maybe /usr/bin/sh ?
Or, perhaps discovered via "which sh" or something ?

We can make it more customizable in the future, but that would take more effort than I can do right now.

@WardenGnaw  to investigate providing an option for the shell path.

This is not restricted to envFile  using environment will cause the same problem - if PATH is modified to eliminate the path to sh
Now, this might seem like a stupid thing to do, but, actually, it's not that uncommon.
PATH might be set intentionally to only the binaries I am working on.

"environment" : [{"name":"PATH","value":"NOT_THE_PATH_/usr/bin/sh"}],

Changing this should not affect it, as those values are used to set the environment for the debuggee, and not the debugger. These calls to sh are used to set up the debugger.
The key/value pairs you add in the environment block in launch.json are then added to our launching gdb commands here and they are executed through gdb's MI interface.
I think what you are running into is a modified path on your machine that you used to launch VS Code itself. To worka round it, we can make the change to !#/usr/bin/env sh in the script (as you suggested) and to specify the full path of /bin/sh to the command calling the script.

Nevermind, I think you are right and theres actually a bug where we are passing the environment variables also to the RunInTerminalCommand which we shouldn't be.
https://github.com/microsoft/MIEngine/blob/2a2d61940a4307f8c4bcdde33058512436641816/src/OpenDebugAD7/AD7DebugSession.cs#L565

So, how do I get this - I am only running Linux - according to the readme this can only be built under Windows

You would need to wait for an update to the extension. @WardenGnaw Can you update this thread with when an update will happen?

Yep. We have a pending -insiders4 atm. Once that is published, I'll update MIEngine for the C/C++ extension for the next release.

This should be fixed now with 0.27.0-insiders5: https://github.com/microsoft/vscode-cpptools/releases/tag/0.27.0-insiders5

Well, I am still experiencing a problem.
I am running the insiders version:
Version 0.27.0-insiders5: March 26, 2019
Attempting to use envFile
"envFile": "${workspaceFolder}/build/environment_run_linux.env",
Contents of "${workspaceFolder}/build/environment_run_linux.env"
LD_LIBRARY_PATH=THIS_IS_A_TEST:THIS_IS_A_TEST
Launch the debugger with this setting also:
"internalConsoleOptions": "openOnSessionStart",
WIthin the DebugConsole window:
Execute debugger commands using "-exec ", for example "-exec info registers" will list registers in use (when GDB is the debugger)
-exec show env
SHELL=/bin/bash
IMSETTINGS_INTEGRATE_DESKTOP=yes
SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/1494,unix/unix:/tmp/.ICE-unix/1494
COLORTERM=truecolor
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
HISTCONTROL=ignoredups
TERM_PROGRAM_VERSION=1.43.2
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
HOSTNAME=lappy.fritz.box
HISTSIZE=1000
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
CINNAMON_VERSION=4.4.8
XMODIFIERS=@im=none
DESKTOP_SESSION=cinnamon
SSH_AGENT_PID=1699
NO_AT_BRIDGE=1
GREP_COLORS=sl=49;39:cx=49;39:mt=48;5;236;91;1:fn=40;92:ln=49;93:bn=49;92:se=49;39
XDG_SEAT=seat0
PWD=/home/jack/dev/build/
LOGNAME=jack
XDG_SESSION_DESKTOP=cinnamon
XDG_SESSION_TYPE=x11
XAUTHORITY=/run/lightdm/jack/xauthority
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/jack
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
GDM_LANG=en_US.UTF-8
HOME=/home/jack
LANG=en_US.UTF-8
LS_COLORS=rs=0:di=38;5;33:ln=38;5;51:mh=00:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=01;37;41:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;40:.tar=38;5;9:.tgz=38;5;9:.arc=38;5;9:.arj=38;5;9:.taz=38;5;9:.lha=38;5;9:.lz4=38;5;9:.lzh=38;5;9:.lzma=38;5;9:.tlz=38;5;9:.txz=38;5;9:.tzo=38;5;9:.t7z=38;5;9:.zip=38;5;9:.z=38;5;9:.dz=38;5;9:.gz=38;5;9:.lrz=38;5;9:.lz=38;5;9:.lzo=38;5;9:.xz=38;5;9:.zst=38;5;9:.tzst=38;5;9:.bz2=38;5;9:.bz=38;5;9:.tbz=38;5;9:.tbz2=38;5;9:.tz=38;5;9:.deb=38;5;9:.rpm=38;5;9:.jar=38;5;9:.war=38;5;9:.ear=38;5;9:.sar=38;5;9:.rar=38;5;9:.alz=38;5;9:.ace=38;5;9:.zoo=38;5;9:.cpio=38;5;9:.7z=38;5;9:.rz=38;5;9:.cab=38;5;9:.wim=38;5;9:.swm=38;5;9:.dwm=38;5;9:.esd=38;5;9:.jpg=38;5;13:.jpeg=38;5;13:.mjpg=38;5;13:.mjpeg=38;5;13:.gif=38;5;13:.bmp=38;5;13:.pbm=38;5;13:.pgm=38;5;13:.ppm=38;5;13:.tga=38;5;13:.xbm=38;5;13:.xpm=38;5;13:.tif=38;5;13:.tiff=38;5;13:.png=38;5;13:.svg=38;5;13:.svgz=38;5;13:.mng=38;5;13:.pcx=38;5;13:.mov=38;5;13:.mpg=38;5;13:.mpeg=38;5;13:.m2v=38;5;13:.mkv=38;5;13:.webm=38;5;13:.ogm=38;5;13:.mp4=38;5;13:.m4v=38;5;13:.mp4v=38;5;13:.vob=38;5;13:.qt=38;5;13:.nuv=38;5;13:.wmv=38;5;13:.asf=38;5;13:.rm=38;5;13:.rmvb=38;5;13:.flc=38;5;13:.avi=38;5;13:.fli=38;5;13:.flv=38;5;13:.gl=38;5;13:.dl=38;5;13:.xcf=38;5;13:.xwd=38;5;13:.yuv=38;5;13:.cgm=38;5;13:.emf=38;5;13:.ogv=38;5;13:.ogx=38;5;13:.aac=38;5;45:.au=38;5;45:.flac=38;5;45:.m4a=38;5;45:.mid=38;5;45:.midi=38;5;45:.mka=38;5;45:.mp3=38;5;45:.mpc=38;5;45:.ogg=38;5;45:.ra=38;5;45:.wav=38;5;45:.oga=38;5;45:.opus=38;5;45:.spx=38;5;45:*.xspf=38;5;45:
XDG_CURRENT_DESKTOP=X-Cinnamon
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
IMSETTINGS_MODULE=none
CHROME_DESKTOP=code-url-handler.desktop
GJS_DEBUG_OUTPUT=stderr
XDG_SESSION_CLASS=user
TERM=xterm-256color
GTK_OVERLAY_SCROLLING=0
LESSOPEN=||/usr/bin/lesspipe.sh %s
USER=jack
DISPLAY=:0
SHLVL=1
QT_IM_MODULE=xim
XDG_VTNR=1
XDG_SESSION_ID=2
XDG_RUNTIME_DIR=/run/user/1000
PATH=/home/jack/.local/bin:/home/jack/bin:/home/jack/.local/bin:/home/jack/bin:/home/jack/.local/bin:/home/jack/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/jack/my_bin_utils:/home/jack/my_bin_utils:/home/jack/my_bin_utils
GDMSESSION=cinnamon
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
MAIL=/var/spool/mail/jack
GIO_LAUNCHED_DESKTOP_FILE_PID=2153
GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/code.desktop
OLDPWD=/home/jack/dev/
TERM_PROGRAM=vscode
_=/usr/bin/gdb
LINES=11
COLUMNS=109
No indication of LD_LIBRARY_PATH being passed to gdb.

If I set LD_LIBRARY_PATH via
"environment": [{"name":"LD_LIBRARY_PATH",
"value": "THIS_IS_A_TEST:THIS_IS_A_TEST"}]
Then it is propogated to gdb correclty.

Looking at MIDebugEngine/Engine.Impl/DebuggedProcess.cs#L856
It's pretty clear this is abug "of ommission" - in that the environment is only being taken from the "environment" setting, and not also from "envFile"
It's important when this is fixed that those two settings are both processed.  IOW, I may choose to use both envFile and environment to create a complist list of environment variables required for my debugee.
In that case it's not entirely clear which should have precendence.  I think the default should be to stomp envFIle with environment.  IOW if envFile sets PATH=/a/path:/b/path, then environment sets PATH=/c/path, the end result is PATH=/c/path.
Normally this is is handled gracefuly with syntax like:  PATH="${PATH}:/path/to/bin"
In which case "environment" would be adding to "envFIle"

@WardenGnaw Please inveestigate this issue.

The envFile is parsed by the extension and not by MIEngine. If there is an issue with it, then the bug is within the extension.
Relevant code is in Extension/src/Debugger/ParsedEnvironmentFile.ts.

Closing. Continuing investigation via C/C++ extension issue


[Log] CLILogging.configure returns as early as possible

Check whether CLILogging already has been configured and return as early as possible, otherwise, calls like
self.log_level = self._determine_log_level(args)

is totally unnecessary and is merely a waste of time.

Log

Log