Link OAuth2 account by a fixed social profile identifier (eg. id) instead of email

According to the current design, the Auth process will use email to constrain whether to create a new account, but in a third party (github) we can modify the email address of the current account, at this time in the login / registration will be because the mailbox will be changed will create a new account and then the problem of data loss.  The unique identifier of this provider corresponds to the account number and not to the email address

The design below is the way we are currently using it:
create table users (
  id serial primary key,
  username citext not null unique check(username ~ '^[a-zA-Z]([a-zA-Z0-9][_]?)+$'),
  name text,
  avatar_url text check(avatar_url ~ '^https?://[^/]+'),
	is_admin boolean not null default false,
  created_at timestamptz not null default now(),
  updated_at timestamptz not null default now()
);

create table user_emails (
  id serial primary key,
  user_id int not null default current_user_id() references app_public.users on delete cascade,
  email citext not null check (email ~ '[^@]+@[^@]+\.[^@]+'),
  is_verified boolean not null default false,
  created_at timestamptz not null default now(),
  updated_at timestamptz not null default now(),
  unique(user_id, email)
);

create table user_phones (
  id serial primary key,
  user_id int not null default current_user_id() references app_public.users on delete cascade,
  phone citext not null ,
  is_verified boolean not null default false,
  created_at timestamptz not null default now(),
  updated_at timestamptz not null default now(),
  unique(user_id, phone)
);

create table  user_authentications (
  id serial primary key,
  user_id int not null default current_user_id() references app_public.users on delete cascade,
  service text not null,
  identifier text not null,
  details jsonb not null default '{}'::jsonb,
  created_at timestamptz not null default now(),
  updated_at timestamptz not null default now(),
  constraint uniq_user_authentications unique(service, identifier)
);

This can be authorized by username/email/phone + password， email/phone + passcode , multiple social connectors

Sample identities from a user who signed in with both WeChat and Facebook:
{
  "facebook": {
    "userId": "5110888888888888",
    "details": {
      "id": "5110888888888888",
      "name": "John Joe",
      "email"<EMAIL_ADDRESS>      "avatar": "https://example.com/avatar.png"
    }
  },
  "wechat": {
    "userId": "O8sU-6JWMMNZzuXo6-xaEjouyQZ8",
    "details": {
      "id": "O8sU-6JWMMNZzuXo6-xaEjouyQZ8",
      "name": "John Joe",
      "avatar": "https://example.com/avatar.png"
    }
  }
}

That's correct - currently, once the OAuth2 account change its email, we will "lost" the link with the PocketBase user and will create a new one.
In future versions, I'll consider adding a secondary table, similar to your example, that will store the relation between the OAuth2 account and the PocketBase user and in case the OAuth2 email change we'll update accordingly the PocketBase user email (the email sync need to happen because otherwise it will be a security issue if someone has access to the old email).

I think this adjustment should be prioritized, otherwise it will involve the problem of account migration in the later stage and will affect the contributions related to OAuth

@zzzhouuu The adjustment doesn't require changes in the OAuth2 provider interface and will be backwards compatible.
I will consider implementing it in v0.5 or v0.6 release.

@zzzhouuu This is now implemented in v0.6.0 release.

Looking at the referenced commit https://github.com/pocketbase/pocketbase/commit/f5ff7193a94a3a04942b7fa8e4a87f8fb9e443c8 and the described uses case I've still some challenges to understand how the linking process of an "signed in user" with a new OAuth provider which does not return the same email / no email works.
The referenced commit has only methods like "Delete, Find, List" but bot method to add a linked oauth provider to a user.
My understanding of the use case is as follows:
User signs up with email / password
User confirms email address
User signs in (response is auth token)
User links (authenticate) an oauth provider (different email or no email)
User signs out
User signs in with the linked oauth provider

Does this work? Is this implemented in the referenced commit and released in v0.6.0?
Thanks for your clarification!

@mbecker This issue and the related commit is not for that. The implemented solution is when the user decide to change their OAuth2 email after already authenticated in PocketBase, aka. the following flow:

user authenticate in PocketBase with an OAuth2 provider
we create a user account with the associated OAuth2 profile email and id
the user decides to change their OAuth2 profile email
next time when authenticating again in PocketBase instead of creating a new user account, we will link the previously created user by the OAuth2_id-user_id relation in the _externalAuths table.

Because the first linking (aka. user creation) is done via the OAuth2 profile id, we now supports providers that doesn't return an email address, like Twitter for example. Of course, if the user doesn't have an email we can't allow automatically linking multiple OAuth2 authentications to the same user account because each provider uses different ids.
If you want to manually link an OAuth2 authentication to an existing user account, you can create a models.ExternalAuth instance and save it.
rel := &models.ExternalAuth{
    UserId: "YOUR_USER_ID",
    Provider: "google",
    ProviderId: "YOUR_OAUTH2_PROVIDER_ID",
}

if err := app.Dao().SaveExternalAuth(rel); err != nil {
    return err
}

Hi @ganigeorgiev , thanks for the detailed description. Great that this use cases has added more or less the feature of linking additional OAuth 2.0 providers :-) I've thought about this the last days. Thanks for sharing the sample code to add manually an OAuth 2.0 provider. I would like to see some built-in methods (backend / client SDK) to link the OAuth 2.0 providers.
I think that the Client SDK methods must be extended as follows:
client.users.authViaOAuth2(clientName, code, codeVerifier, redirectUrl, bodyParams = {}, queryParams = {})
-> Add the token to the http request if the token exists in the auth store (I think this is already globally implemented for all http requests by you)

On the backend I think the checks in requesting the OAuth 2.0 access token and adding user model, oauth relation must be extended as well to check if the request includes a  token and if yes extract the user from the access token:
https://github.com/pocketbase/pocketbase/blob/b79a7982bf29c274036f3d0d226a45dd4e62cca1/forms/user_oauth2_login.go#L129
if TOKEN {
  user = EXTRACT_USER_FROM_TOKEN(TOKEN)
} else if rel != nil {
  rel, _ := form.config.Dao.FindExternalAuthByProvider(form.Provider, authData.Id)
  user, err = form.config.Dao.FindUserById(rel.UserId)
  if err != nil {
	return nil, authData, err
  }
} else if authData.Email != "" {
  // look for an existing user by the external user's email
  user, _ = form.config.Dao.FindUserByEmail(authData.Email)
}

Does this makes sense?

@mbecker Yes, that makes sense. I'll consider it when reworking the forms in #376, although it may not be expected by everyone and we'll have to document it properly or add an extra argument/config object to explicitely send the authentication header (currently it is excluded from the auth requests - https://github.com/pocketbase/js-sdk/blob/master/src/services/Users.ts#L132,  because there is server-side validation that allow the route only for "guests").


Mirroring cron operations - spread out timings - Improvement

Current Situation:
Currently in the gitea configuration section for cron mirroring there is a setting for schedule (@every 3hr, etc).
This tends to create clumps of significant CPU utilization around that timing.
Proposed Change:
Please consider adding the ability to specify a mirror task separation/idle time (likely expressed as seconds) to be used between checking each repository for mirroring updates.
This would allow gitea to yield CPU to other processes.
There may be another way to space-out/randomize gitea mirror actions that is better but achieves similar goals.

FWIW you can control the number of workers for specific queues if there are too many workers working on a specific type of task at certain times.

Thank you, minimizing max workers to 2 did the trick.


[lldb-toolbox] Add the ability to disassemble-to-file a specific function from a target without running the target.

The routine already supports dumping the assembly to file if we are at a
breakpoint using the current frame. This adds a -n option so one can without
running just dump the assembly to a file of a specific function in a binary.

IOW now one can just do:
lldb-with-tools -- $TARGET

@swift-ci smoke test and merge

@swift-ci smoke test linux platform

@swift-ci smoke test linux platform


Learn Kubernetes Basics button difficult to read when hovered

This is a Bug Report

Problem: On the home page of website I found that the Learn Kubernetes Basics button needs to be edited as when we hover upon it the words are not clearly visible.
Proposed Solution: We can make this button same as the buttons in other pages of the website like for example, under the documentation tab we have View Concepts and View Tutorial buttons.
Page to Update:
https://kubernetes.io/

I would like to work upon this issue if you assign it to me. Thankyou.

Hi @Sakhi29, Thank you for raising this issue. You can assign this issue to yourself by commenting 'assign' tag.

/assign

/retitle Learn Kubernetes Basics button difficult to read when hovered

/triage accepted
/priority important-longterm
Fixes are welcome.

/retitle Learn Kubernetes Basics button difficult to read when hovered

I have a few options for the title:

"Getting Started with Kubernetes Basics"
"Exploring the Fundamentals of Kubernetes"
"K8s Fundamentals"

Please review these suggestions. Thanks

Hi @Chaitra-Shetty, The title seems interesting; we can use 'Exploring the Fundamentals of Kubernetes' as the new title.

Waiting for suggestions from other members.

'Learn Kubernetes Basics' is simple and conveys the correct message as is imo

Let's leave the text as is, and fix the poor color contrast that happens when someone hovers over the button.

Hi @Chaitra-Shetty, The title seems interesting; we can use 'Exploring the Fundamentals of Kubernetes' as the new title.

@thisisharrsh Thank you

Untested, But a probable alternate fix
Try modifying layouts/index.md to wrap the  with a <button> like:
<button id="quickstartButton" class="button">{{ .LinkTitle }}</button>
css changes would not be necessary

It's been a month since this is waiting, Would any contributor like a take on this?
(I think this can be a good first issue)

Just one thing; it's handy to cover even older issues that we're prioritizing too. See https://github.com/orgs/kubernetes/projects/150


Add official Microsoft Azure SDK for C Arduino library.

From the library repo https://github.com/Azure/azure-sdk-for-c-arduino.
This new library maps to the new Azure SDK for C that is designed for
embedded development, published on
https://github.com/azure/azure-sdk-for-c.
This new azure-sdk-for-c-arduino library shall be prefered over the previous azure-iot-arduino
library and dependencies (azure-iot-arduino-utility,
azure-iot-arduino-protocol-http, azure-iot-arduino-protocol-mqtt,
azure-iot-arduino-socket-esp32-wifi).
For questions, please refer to maintainer of library.

@ArduinoBot

To: @ArduinoBot
Fixed issues as recommended.


[Feature/Developer] Frontend enable adding and deleting content to tables

Is your feature request related to a problem? Please describe.
Currently the forms in the frontend are not functional.
Describe the solution you'd like
Enable add and delete operations in the frontend.

ready


excel matrix and vektorinput

question gives it  timepoint wten we get the excel matrix and vektorinput ????

Hi! Not quite sure. It is in the todo list. It is not very difficult, but I will be too busy until Christmas. Maybe after New Year.


add to_epoch method in Event class: Transform Events into an array of Epoch

add to_epoch method in Event class: Transform Events into an array of Epoch

Coverage decreased (-0.02%) to 49.749% when pulling f667671090e6a1f27f94eb4c81b42c231c3b9a8e on jonathanduperrier:master into 1e8ddf9f9705cb655a093645827105e2e86f0a91 on NeuralEnsemble:master.

Coverage decreased (-0.02%) to 49.749% when pulling f667671090e6a1f27f94eb4c81b42c231c3b9a8e on jonathanduperrier:master into 1e8ddf9f9705cb655a093645827105e2e86f0a91 on NeuralEnsemble:master.

It looks as if you are generating epochs with starting at the times of the events, but having a duration corresponding to the time difference since the previous event. I would have rather expected epochs spanning the time between the events. Is this intended and under which conditions is it useful?
It would also help to add some documentation clarifying this as well as a unittest.
I am also not sure if a function like this should be a method of Events or rather should be available in an extended fashion as a general helper function. @apdavison: Any opinions on that?

@JuliaSprenger yes, I think the indexing is off by one.
We discussed in Lausanne the question of whether to make this a method or a helper function. There are arguments for both. In the end, I think having it as a method gives better discoverability - it is attached to the Event class, which I think makes it easier to find if you already have an Event object, compared to having to search through a potentially long list of helper functions. Of course we could have both, where the helper function calls the method or vice versa.
@jonathanduperrier I think the top priority now is to add some unit tests (in the file neo/test/coretest/test_event.py). The example given in #388 would be a good starting point.

Coverage increased (+0.05%) to 49.817% when pulling e9e13a067e67342c39e1e3812324f28a9500c8ad on jonathanduperrier:master into 1e8ddf9f9705cb655a093645827105e2e86f0a91 on NeuralEnsemble:master.

This looks also very strange to me.
I add in mind that to_epoch would be:
Epoch(time=event.times[:-1], durations=np.diff(event.times), labels=event.labels[:-1])

Here, in thisimplementation, the duration is with the previsous event. I don't get the use case.

I agree with @samuelgarcia, this should be the default behaviour of the function. However, do you think it would make sense to introduce the option to provide durations in case you don't want to cover the whole recording time with the epochs but only specific time windows after the events?
def to_epoch(durations=None):
    if durations is None:
        times = self.times[:-1]
        durations = np.diff(self.times)[:-1]
        labels = self.labels[:-1]
    else:
        times = self.times
        labels = self.labels
    return Epoch(time=times, durations=durations, labels=labels)

Hello @jonathanduperrier! Thanks for updating the PR.

Since this now has conflicts, I have updated @jonathanduperrier's code and made a new PR: #586


GH-3533 set checkout action version to v2 in all workflows

GitHub issue resolved: #3533
Briefly describe the changes proposed in this PR:

use action/checkout@v2 in all github action workflows

PR Author Checklist (see the contributor guidelines for more details):

[ ] my pull request is self-contained
[ ] I've added tests for the changes I made
[ ] I've applied code formatting (you can use mvn process-resources to format from the command line)
[ ] I've squashed my commits where necessary
[ ] every commit message starts with the issue number (GH-xxxx) followed by a meaningful description of the change

I've just noticed this additional check in our PR builds - "open an online workspace in Gitpod":

Anyone familiar with this or know why it would suddenly show up in our build workflow?


Build failing on linux mint

Running
stack build --test

in the main directory yields the following output:

src/Parser.hs
  Atom
  Num Negative
  Num Positive
  String
  Bool True
  Bool False
  Nil
  S-Expr: homogenous list
  S-Expr: homogenous list quoted
  S-Expr: heterogenous list
  S-Expr: heterogenous list quoted
  S-Expr: prim call: neg nums
  S-Expr: prim call: atoms
  S-Expr: nested list

Finished in 0.0029 seconds
14 examples, 0 failures

src/Eval.hs
  test/add.scm
  test/if_alt.scm
  test/let.scm
  test/eval_boolean.scm
  test/eval_boolean_ops.scm
  test/eval_lambda.scm
  test/test_quote.scm
  test/test_car.scm
  test/test_cdr.scm
  test/test_cadadr.scm
  test/test_gt.scm
  test/test_scope1.scm
  test/test_args.scm
  test/define.scm
  test/define_order.scm

Finished in 0.2299 seconds
15 examples, 0 failures

eval extra -- sandboxing
  begin/define
  eval args
  test/define_lambda.scm
  eval args
  foldl evals to something
  foldl call FAILED [1]
  fold FAILED [2]

Failures:

  test-hs/Spec.hs:134:
  1) eval extra -- sandboxing foldl call
       uncaught exception: LispException (Error Type Mismatch: numeric op Nil)

  test-hs/Spec.hs:134:
  2) eval extra -- sandboxing fold
       uncaught exception: LispException (Error Not a Function: (quote (quote (+))))

Randomized with seed<PHONE_NUMBER>

Finished in 0.0720 seconds
7 examples, 2 failures

Further, scheme -s test/eval_lambda.scm yields:
scheme: Error Not a Function: 5

and the code fails to correctly evaluate recursive structures (!), e.g. a factorial program in scheme will not  work.

Thanks for making a ticket, I'm working on it!

https://github.com/write-you-a-scheme-v2/scheme/commit/d0370eb317bbb10522910eac95a3a2296df295a3
Adds support for recursive functions.
@vmchale,  If you want a challenge, test/test_fix2.scm has a fix function that does not terminate: uncomment line 21 and comment out line 22. The solution might be a evalArg function in src/Eval.hs that passes instantiated lambda functions (Lambda data constructor) without evaluating them, or a scoping issue that is causing problems.

see reverse from defined in std lib, test/stdlib_mod.scm
Repl> (reverse '(1 2 3 4))
(1 1 1 1 1)

Great, thanks a bunch!


Automatically convert lonlat to xy when tiles=True and geo=True

Closes https://github.com/holoviz/hvplot/issues/1375
Will add tests next week if this logic is ok.
Basically if user sets geo=True without crs/projection, it does a pseudo-geo (i.e. perform projection and toggle off)

you assigned me as a reviewer but this is still marked as Draft

Will add tests next week if this logic is ok.

Wanted to first see if you're okay with it because of
            min_x = np.min(data[x])
            max_x = np.max(data[x])
            min_y = np.min(data[y])
            max_y = np.max(data[y])

seems to differ from what was discussed in https://github.com/holoviz/hvplot/issues/1375 (no warning, automatic conversion).

I believe it matches what Jim proposed:

I'd be ok with assuming lat,lon inputs with geo=True and projecting them using our own internal functions from HoloViews without having to bring in geoviews/cartopy/proj for that one common case.

Haha I love that there's both a self.data_source and self.source_data.
        # Validate DataSource
        self.data_source = data

        self.is_series = is_series(data)
        if self.is_series:
            data = data.to_frame()
        if is_intake(data):
            data = process_intake(data, use_dask or persist)
        # Pandas interface in HoloViews doesn't accept non-string columns.
        # The converter stores a reference to the source data to
        # update the `_dataset` property (of the hv object its __call__ method
        # returns) with a hv Dataset created from the source data, which
        # is done for optimizating some operations in HoloViews.
        data = _convert_col_names_to_str(data)

        self.source_data = data

Users who set tiles=True want a geo-plot by definition. We let them not set geo=True, and don't set it internally, as a way to avoid bringing in GeoViews. So we've already set a precedent there, and I think we should pursue in the same direction with checking the ranges and converting when just tiles=True is passed (so that's against what @jbednar said). For the small proportion of people that will want to look at that tiny area of the earth, they could disable it with projection=False.

I support this idea; it's a better default than having the user to figure out to use tiles, additionally need geo=True.

Wondering if I should rename x,y.

Separately, I think hover needs fixing, but I think it's better for it to be implemented in HoloViews; adapted from GeoViews https://github.com/holoviz/geoviews/blob/8a14f9c71298c86e1b364c18ac952bf310e002ac/geoviews/plotting/bokeh/init.py#L162

            from bokeh.models import HoverTool
            from bokeh.models import CustomJSHover

            hover = HoverTool()
            xdim = x if x in data else self.x
            ydim = y if y in data else self.y
            formatters, tooltips = dict(hover.formatters), []
            xhover = CustomJSHover(code=_hover_code % 0)
            yhover = CustomJSHover(code=_hover_code % 1)
            for name, formatter in hover.tooltips:
                customjs = None
                if formatter in (f'@{{{xdim}}}', '$x'):
                    dim = xdim
                    formatter = '$x'
                    customjs = xhover
                elif formatter in (f'@{{{ydim}}}', '$y'):
                    dim = ydim
                    formatter = '$y'
                    customjs = yhover
                if customjs:
                    key = formatter if formatter in ('$x', '$y') else dim
                    formatters[key] = customjs
                    formatter += '{custom}'
                tooltips.append((name, formatter))
            hover.tooltips = tooltips
            hover.formatters = formatters
            self._plot_opts['tools'] = [hover]

Maybe just use
https://github.com/holoviz/geoviews/blob/main/geoviews/plotting/bokeh/plot.py#L81-L84

I'm happy with the proposal to project only if tiles is True, not geo; this projection is explicitly about getting things in shape for Bokeh using Web Mercator, and not just generally when working with geo data (where the data can be left unprojected).


Errors on retrieving certain metadata types

I am trying to retrieve the following metadata types and I get errors:

CompanySettings: Unknown type:CompanySettings
SamlSsoConfig: Cannot use: SamlSsoConfig in this organization

Can anyone explain why?

Can you share your Apex code fragment making the request?

Same issue for me I try to query AddressSettings, when running the following snippet I get the following error:  System.CalloutException: Web service callout failed: WebService returned a SOAP Fault: INVALID_TYPE: Unknown type:AddressSettings faultcode=sf:INVALID_TYPE faultactor=
public static MetadataService.MetadataPort createService()
{
MetadataService.MetadataPort service = new MetadataService.MetadataPort();
service.SessionHeader = new MetadataService.SessionHeader_element();
service.SessionHeader.sessionId = UserInfo.getSessionId();
return service;
}
MetadataService.MetadataPort service = createService();
List<MetadataService.ListMetadataQuery> queries = new List<MetadataService.ListMetadataQuery>();
MetadataService.ListMetadataQuery querySettings = new MetadataService.ListMetadataQuery();
querySettings.type_x = 'AddressSettings';
queries.add(querySettings);
MetadataService.FileProperties[] fileProperties = service.listMetadata(queries, 38);

That looks ok to me, and it is a documented top level type, https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_addresssettings.htm?search_text=AddressSettings. Can you try using Developer Workbench tool to list the metadata types in your org? Maybe the feature is not enabled? Also check the MetadataService.cls is the latest, i know your giving 38 in the call, but sometimes the end point used has a bearing.

Ah ok, so... take a look at this... https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm. You need to use 'Settings' not 'AddressSettings' by the looks of it. Try this...
querySettings.type_x = 'Settings';

@jaspersardonicus please comment further if you are still having issues here.


ABCD track should be single blind

The ABCD track is single-blind, but if you select the ABCD track option it automatically hides author names.
Is there an easy way to fix this? Thanks!

Fixed by https://github.com/automl-conf/LatexTemplate/commit/5f21dbd948cc0197ebdc36b1e3f0c18ae9ebcf66


Pipeline didn't publish new version

Hm... did something went wrong after merging https://github.com/soywod/rfc2047-decoder/pull/32?
I can't see a new released package.

Hm... looks like that my tag isn't listed (v1.0.0)? https://github.com/soywod/rfc2047-decoder/tags

oh, I needed to push the tags as well with git push upstream --tags...

yay, it worked!

oh, I needed to push the tags as well with git push upstream --tags...

Yes, tags are not pushed by default.


fix(readme): fixed cdk plugin property for README

What does it Fix?

The property of CDK which README uses is wrong.

According to CDK docs, only policyvalidationbeta1 property exist.　There is no reference of validationPlugins

Motivation

If someone tries this plugin following the current state of README won't be able to use the plugin until they go and search CDK docs which is not nice from an experience point of view.

Verification

I have verified this in my blog https://dev.to/aws-builders/level-up-your-aws-cdk-game-shift-left-security-unveiled-5f54 and it works with the changes I have proposed in this PR.

The following information has also been verified by AWS team author of aws  blog and I have asked the authors to update the blog too.

@gabriel-cx
Please review

@jatinmehrotra , this is indeed very strange, it keeps failing, we will analyze this in order to see if there is something crashing the build step for PRs created via fork.
Meanwhile, do you think we can merge this PR  created from our side? We'd like to have this as your contribution! But for some reason the build step is failing every time you try. We will check this asap.

@gabriel-cx

We'd like to have this as your contribution! But for some reason the build step is failing every time you try. We will check this asap.

Thank you for considering this to be my contribution. I will wait until there is a clear conclusion on why the build step is failing.

Hi @jatinmehrotra, hope you are doing great!
I have replicated the changes on a fork of mine, and I was able to conclude what is happening. Both README.md and  API.md need to have the change. Please also check the empty lines at the end, projen seems to re-add the removed line at the end, and that triggers the fail on mutation.
If you want to test it locally you can run the same steps of the build.

install goreleaser: go install github.com/goreleaser/goreleaser@latest
update yarn deps: yarn install --check-files
run npx build: `npx projen build

source file: build.yaml
Let us know in case you need any help! 😀
PS: PR used to test #20

The latest commit failed due to the removal of line 97
On my side, goreleaser works as expected on Ubuntu 20.04 WSL. What platform are you using?

@cxMiguelSilva
I followed the steps you have outline. Thank you for the steps
However when I tried to test goreleaser is failing with the following error message due to which test cases are also failing
 Running bundle-kics
Kics version: v1.7.13
Error: spawnSync goreleaser ENOENT
    at Object.spawnSync (node:internal/child_process:1110:20)
    at spawnSync (node:child_process:871:24)
    at exec (/Users/jatinmehrotra/Desktop/kics-cdk-validator-plugin/src/utils.ts:6:25)
    at buildKics (/Users/jatinmehrotra/Desktop/kics-cdk-validator-plugin/projenrc/bundle-kics.ts:32:7)
    at main (/Users/jatinmehrotra/Desktop/kics-cdk-validator-plugin/projenrc/bundle-kics.ts:79:7)
    at Object.<anonymous> (/Users/jatinmehrotra/Desktop/kics-cdk-validator-plugin/projenrc/bundle-kics.ts:85:1)
    at Module._compile (node:internal/modules/cjs/loader:1254:14)
    at Module.m._compile (/Users/jatinmehrotra/Desktop/kics-cdk-validator-plugin/node_modules/ts-node/src/index.ts:1618:23)
    at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
    at Object.require.extensions.<computed> [as .ts] (/Users/jatinmehrotra/Desktop/kics-cdk-validator-plugin/node_modules/ts-node/src/index.ts:1621:12) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'spawnSync goreleaser',
  path: 'goreleaser',
  spawnargs: [
    'build',
    '--config',
    '/Users/jatinmehrotra/Desktop/kics-cdk-validator-plugin/projenrc/templates/.goreleaser.yml',
    '--clean'
  ]
}

final error message
👾 Task "build » test" failed when executing "jest --passWithNoTests --updateSnapshot" (cwd: /Users/jatinmehrotra/Desktop/kics-cdk-validator-plugin)
Also I observed the same about API.md and empty lines being deleted by vscode which I fixed in https://github.com/Checkmarx/kics-cdk-validator-plugin/pull/19/commits/30b2582269c54620c4dd5cfeb0e1cfce5ab2df88
Let me check the line 97 again.
I am using macos Darwin 13.4.1 (c)

Finally it passed !!!! ❤

@jatinmehrotra thank you very much!!!


⚠ Bofrost.de has degraded performance

In 20352cc, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1011 ms

Resolved: Bofrost.de performance has improved in 17806f1.


how to use  ethers::contract::encode_function_data

Please post your question as a discussion in Telegram: https://t.me/ethers_rs
Hi,
I would like to encode like how I did with ethers.js:
let codedData = iface.encodeFunctionData("function name", [
parameters
]);
I am confused with ethers::contract::encode_function_data.
There is only one sentence in the doc
Could you provide some sample codes.
many thanks

You might be looking for contract.encode
You can do something like this.
let arg1 = H160::from_str("eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee").unwrap();
let encoded = some_contract.encode("someFunc", [
    Token::Address(arg1)
]);

You can see reference to other args.
There might be better ways to do this as well, i'm a new rustacean.
If you dont have a contract instance you should be able to get the Function and call encode_input

how to use encode_function_data, i also meet this error .
here is my code
    // params to tuple     let u256_fee = U256::from(params.fee);     let u256_sqrt_price_limit_x96 = U256::from(params.sqrt_price_limit_x96);     let tokenize_arg = (         Token::Address(params.token_in),         Token::Address(params.token_out),         Token::Uint(u256_fee),         Token::Address(params.recipient),         Token::Uint(params.amount_in),         Token::Uint(params.amount_out_minimum),         Token::Uint(u256_sqrt_price_limit_x96),     );     let bytes = encode_function_data(&function, tokenize_arg).unwrap();     println!("bytes is {:?}", bytes);


expose nodeport on aws load balancer

when I tried to expose the nodeport service on aws loadbalancer healthcheck always fails
please note that I changed the port of the deployment and nodeport to 80 instead of 8010
apiVersion: networking.k8s.io/v1 kind: Ingress metadata:   namespace: sary-ns   name: ingress-django-postgres   annotations:     alb.ingress.kubernetes.io/scheme: internet-facing     alb.ingress.kubernetes.io/target-type: ip spec:   ingressClassName: alb   rules:     - http:         paths:         - path: /           pathType: Prefix           backend:             service:               name: django-cluster-ip-service               port:                   number: 80

after checking the problem came from the pod that can't connect to postgres
django.db.utils.OperationalError: fe_sendauth: no password supplied
I didn't changed any config
do you have any idea why application deployment can't connect to postgres ??


\t for delimeter produces \ and t instead of real tabs

stringify results[0], {delimiter: '\t', header: true}, (err, output) ->

Expected things like:
1   2   3

But I got:
1\t2\t3

Using \\t did not fix it. The actual fix was to replace the \t directly:
output.replace(/\\t/, '\t')

This does work together:
stringify results[0], {delimiter: '\u0009', header: true}, (err, output) ->

Add that to the docs?

i dont know how u get this result, both lines bellow print true inside a console:
expect = 'a\tb\tc\nd\te\tf\n'
stringify [['a','b','c'],['d','e','f']], delimiter: '\t', (err, data) -> console.log data is expect
stringify [['a','b','c'],['d','e','f']], delimiter: '\u0009', (err, data) -> console.log data is expect

I tried again and it seems like it works just fine. closing


Always Encoded

@scottf what does it mean?
Please advise and close if not relevant anymore.

Closing, can't remember


Added Leader in Array

Congratulations for your Open source contribution. Don't forget to add a star on this repo.. Happy hacking


How about make a plugin to install plugin automatically

Could you elaborate more on use case?

Make above procedure automatically;
The case in point is executing rush install-plugin rush-xxx-plugin, will do all the thing right in the picture

Sounds great! will work on it soon.


I am having a hard time tring to make this work. I keep getting Malformed multipart form response.

Can you share more details on install and implementation?

What device/browser are you testing on? I was using it on Chrome on a Mac Desktop. I noticed it doesn't work on an iPhone.

@coryshaw I got the same issue on a Mac M1 Apple using Chrome.

Same


Ban !!!!

Hi,
Anyone have a solution to not be ban ?
All my accounts are banned, day after day...
 Banned after level 21/22...
Every two days I update the bot from the "master".
Thx for the help

There are no solutions yet to this issue. If you use this bot, you will be banned in the following days. At the best of my knowledge, bot detection has not only to do regarding human behavior (walking speed, break, ...) but also regarding device data (sensors data, id) for which you have no control yet in your configuration.
The bot is in constant development, I advise you to follow its update (from the dev branch) until a solution is found (it will be a day to remember)... Until Niantic next move that is. :)

@supercourgette is right. There is something that gives tell to niantic filters that you are botting. I have spoofed an account and was not banned 20+ the moment that I botted it gets banned the next day. I would try to make a test account bring it up to 21 and see if you get banned within 10 days. If you get banned they detected you.

No need for a dowvote, this a logical question (a redundant one though). It is stated on the description page of the bot that the bot is to be used a your own risk. Maybe we could also add that, in it's current state, the bot WILL BE detected.

Please take conversation to slack server as per README - Issues are for bugs / feature requests only


'PredictionOperations' object has no attribute 'get_slot_prediction'

I'm getting the following error:
predictionResponse = clientRuntime.prediction.get_slot_prediction(app_id, "Production", predictionRequest)
AttributeError: 'PredictionOperations' object has no attribute 'get_slot_prediction'

I have no clue why, as the code is exactly as specified in the LUIS documentation, in the client libraries section.

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

ID: dcbc7152-8b7e-bb38-1b1c-13f449919eee
Version Independent ID: c520b585-73cf-9882-70ea-c76b7b087516
Content: Quickstart: Language Understanding (LUIS) SDK client libraries and REST API - Azure Cognitive Services
Content Source: articles/cognitive-services/LUIS/client-libraries-rest-api.md
Service: cognitive-services
Sub-service: language-understanding
GitHub Login: @aahill
Microsoft Alias: aahi

Thanks for the feedback! We are currently investigating and will update you shortly.

Hello,
The code works for me well.

Could you please use below code sample and make sure you have done the installation well?
pip install azure-cognitiveservices-language-luis
https://github.com/Azure-Samples/cognitive-services-quickstart-code/blob/master/python/LUIS/sdk-3x/authoring_and_predict.py
Please also make sure your code is in the same place as the reference package. Thanks.

We will now proceed to close this thread. If there are further questions regarding this matter, please respond here and @YutongTie-MSFT and we will gladly continue the discussion.


event.getModifierState() always returns false.

Electron version: 0.36.8
Operating system: Windows 10 Pro x64 Version 1151 Build 10586.104

The following code, conforming to DOM Level 3, is typically used to notify on the state of certain keyboard modifiers, including the current state of CapsLock, NumLock, and ScrollLock.
window.addEventListener('keydown', function(e){ console.log(e.getModifierState('CapsLock'))} );

More information from MDN Information
However, for all events, the function e.getModifierState() given any of the proper parameters, always returns false.
Uses: informing the user visually when the keyboard is in a capslock or numlock state for things such as number pad input and password input.
Other browsers this currently functions in as expected:
Internet Explorer 11.103.10586.0
Edge 25.10586.0.0
Firefox 44.0.2
Chrome 48.0.2564.109 m

event.getModifierState is implemented in Chrome 48 and Electron is still using Chrome 47, we will get this solved once Electron is upgraded to Chrome 48. You can watch https://github.com/atom/libchromiumcontent/pull/175 for the progress.


Vim9: unexpected error when iterating over values of dictionary

Describe the bug
In Vim9 script, an unexpected error might be given when we iterate over the values of a dictionary.
To Reproduce
Run this shell command:
vim -Nu NONE -S <(cat <<'EOF'
    vim9script
    def Func()
        for x: number in {a: 0}->values()
        endfor
    enddef
    defcompile
EOF
)

E1012 is given:
E1012: Type mismatch; expected number but got any

Expected behavior
Not sure, but I think no error should be given.
Environment

Vim version: 8.2 Included patches: 1-3107
OS: Ubuntu 20.04.2 LTS
Terminal: XTerm(353)

Additional context
The message tells us that Vim expected a number, while a value of type any was inferred.  But that's not an issue here:
vim9script
def Func()
    var n: number = Any()
enddef
def Any(): any
    return 1 + 2 == 3 ? 1.23 : 123
enddef
defcompile

no error

Notice that we've specified that n was meant to be a number, but we assign it a value of type any.  And yet Vim doesn't complain at compile time.  Why the difference?
Here is yet another snippet which seems inconsistent:
vim9script
def Func()
    var l: list<number> = {a: 0}->values()
enddef
defcompile

no error

Notice that we've specified that l was meant to be a list of numbers, but we assign it the output of values() which is probably inferred as list<any> (that would partially explain the original error).  And yet Vim doesn't complain at compile time.  Again, why the difference?

Even if this is working as intended, it means that we can't give any useful type for the iteration variable (outside any which is useless); maybe Vim should ignore this error at compile time, so that we get a more useful check at runtime?

As a workaround, we need to manually specify a more accurate type for the output of values():
vim9script
def Func()
    var d: dict<number> = {a: 0}
    var l: list<number> = d->values()
    for x: number in l
    endfor
enddef
defcompile


User and ip lockout

Allow username and IP to be mutually exclusive when performing lockouts.  This resolves an issue where you may have many users behind a single IP (common amongst our enterprise customers) where 1 user forgetting their password will lock out their peers.
The setting changes the lockout checks to evaluate if the IP failure limit and the username failure limit has been reached before issuing the lockout.
Any suggestions or comments are more than welcome!

Coverage increased (+0.09%) to 92.18% when pulling 319027c1e6474e89e22dbaa2cbc230a3c87084b0 on mrbaboon:UserAndIPLockout into a381060c1398c73d89e92a9525b146d276669342 on kencochrane:master.

Coverage increased (+0.09%) to 92.18% when pulling 319027c1e6474e89e22dbaa2cbc230a3c87084b0 on mrbaboon:UserAndIPLockout into a381060c1398c73d89e92a9525b146d276669342 on kencochrane:master.

Coverage increased (+0.09%) to 92.18% when pulling 319027c1e6474e89e22dbaa2cbc230a3c87084b0 on mrbaboon:UserAndIPLockout into a381060c1398c73d89e92a9525b146d276669342 on kencochrane:master.

Coverage increased (+0.09%) to 92.18% when pulling 319027c1e6474e89e22dbaa2cbc230a3c87084b0 on mrbaboon:UserAndIPLockout into a381060c1398c73d89e92a9525b146d276669342 on kencochrane:master.

Coverage increased (+0.09%) to 92.18% when pulling 319027c1e6474e89e22dbaa2cbc230a3c87084b0 on mrbaboon:UserAndIPLockout into a381060c1398c73d89e92a9525b146d276669342 on kencochrane:master.

Coverage increased (+0.09%) to 92.18% when pulling 319027c1e6474e89e22dbaa2cbc230a3c87084b0 on mrbaboon:UserAndIPLockout into a381060c1398c73d89e92a9525b146d276669342 on kencochrane:master.

Coverage increased (+0.09%) to 92.18% when pulling 319027c1e6474e89e22dbaa2cbc230a3c87084b0 on mrbaboon:UserAndIPLockout into a381060c1398c73d89e92a9525b146d276669342 on kencochrane:master.

@mrbaboon thank you, I'll take a look at this PR shortly.

LGTM
@marcusmartins @shin- let me know if it looks good to you.

LGTM

The code LGTM but we should add some docs on usage and behavior.

@marcusmartins I agree, oversight on my part.  I'll add the docs in later today or tomorrow then we can close it out.

Docs are added!

Coverage increased (+0.09%) to 92.18% when pulling 11cf1da57952c1fadb5b78455653ca5859aefe80 on mrbaboon:UserAndIPLockout into a381060c1398c73d89e92a9525b146d276669342 on kencochrane:master.

Coverage increased (+0.09%) to 92.18% when pulling 11cf1da57952c1fadb5b78455653ca5859aefe80 on mrbaboon:UserAndIPLockout into a381060c1398c73d89e92a9525b146d276669342 on kencochrane:master.

Coverage increased (+0.09%) to 92.18% when pulling 11cf1da57952c1fadb5b78455653ca5859aefe80 on mrbaboon:UserAndIPLockout into a381060c1398c73d89e92a9525b146d276669342 on kencochrane:master.

Ah yes, sorry, missed that in my diff, good catch!

THank you.


project proposal: Dragon Age lore

I am a fan of the dragon age saga and I remembered that last year I heard someone did the lore for an elders schools game by using the codex entries, so I thought it would be a good idea to use the codex entrees from the dragon age game or just one to compile and sort a list for that. i thought for the data we could find a complete codex list from and online source.

For reference, the Elder Scrolls project from last fall is here: http://morrowind.newtfire.org/

here is a list of the codex entries in dragon age inquisition
https://dragonage.fandom.com/wiki/Category:Dragon_Age:_Inquisition_codex_entries

Dragon age is one of those games I never got into, mostly because of elder scrolls, however, it would be pleasant to work with another game series that differs from that of the Kingdom Hearts project I worked on last semester. Possibly making charts of the different types of enemies, the number of bosses per game, repetition of characters and lines from said characters, etc. there is lots to do with this project idea!


Add CI for publishing React Native plugin

Adds CI for uploading the RN plugin to NPM and integrates that into the main "publish all packages" workflow.
⚠ Note that the iOS publishing CI is still external and that the RN plugin also requires publishing the respective Cocoapod. That means that while we can publish the RN plugin to NPM independently from the iOS workflow being run or not, for the plugin to actually function one also needs to run the iOS publishing workflow.
👉  We could (and probably should) of course also bring the iOS CI into the main repo to automate all of this this.
This PR also fixes an issue where the Android package dependency was hardcoded in the RN plugin. Now it is dynamically loaded from the RN plugin's package.json. This is also what we do for the Cocoapod dependency.

Did you have a chance to test? You can test the build, by temporarily changing the workflow to trigger on 'push'.

I tested by forking the repo, changing the package.json so that it would publish to @cnixbtc/react-native-breez-sdk, and running the workflow. It successfully succeeded. ✅


CodeChecker does not handle certain clang-binaries

While installing CodeChecker on a centos 7.8 system, I noticed that after a successful 'make package' the CodeChecker would fail with:
    if cfg_handler.version_info.vendor != "clang":
AttributeError: 'bool' object has no attribute 'vendor'

After quite a bit of debugging I found that ClangVersionInfoParser does not handle the case where "/usr/bin/clang --version" is not emitting something like "InstalledDir: /usr/bin".
E.g.:
$ clang --version
clang version 3.4.2 (tags/RELEASE_34/dot2-final)
Target: x86_64-redhat-linux-gnu
Thread model: posix
$

Maybe CodeChecker can, in this case, use the basepath of the clang-binary it invoked (the one which it invoked with --version).
Or maybe this:
$ python3
...
>>> import shutil
>>> shutil.which('ls')
'/usr/bin/ls'
>>>

@flok99 I created a patch which I think will solve your problem. Could you please try it out whether it works for you: #3186?


pyrealsense2.so cannot open shared object file : No such file or directory

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
D435

Firmware Version

Operating System & Version
Linux (Ubuntu 16.04)

Kernel Version (Linux Only)
4.14.13

Platform
NVIDIA Jetson

SDK Version
legacy / 2.0

Language
python

Segment

Issue Description
After establishing pyrealsense2 from the source,I put pyrealsense2.so and librealsense2.so together, but it cannot be executed successfully

I checked the python version in two ways, I am not sure which one I am using?

My understanding is that if Python 3 is installed then the RealSense Python wrapper tries to use that instead of Python 2.7, as described in point 2 of the official instructions for building the wrapper from source code.
https://github.com/IntelRealSense/librealsense/tree/master/wrappers/python#building-from-source

Then what is the reason why python3 has such an error?( cannot open shared object file : No such file or directory)

May I confirm that you have placed the files librealsense2.so and your exotically-named pyrealsense2.so file (e.g pyrealsense2.cpython-35m-arm-linux-gnueabihf.so) into the same folder as the one that your realsense_depth.py script is in?  That folder seems to be home/nvidia/librealsense/build

Yes like in the picture

As mentioned earlier, if you are using Python 3 then when you built the Python wrapper there should be a complex-named version of the pyrealsense2.so file such as pyrealsense2.cpython-35m-arm-linux-gnueabihf.so.  Are you able to find a file like this on your computer and place it in the above folder?

I'm sorry I didn't see a similar file

Okay, so let's assume the possibility that the exotic version of the filename does not get generated on Jetson installations and that pyrealsense2.so is the filename generated when the wrapper is built.
As the image in your first comment shows that you are already in the same home/nvidia/librealsense/build directory as the files when you launch the files, is there any difference to the outcome if you simply shorten the launch command to: python 'realsense_depth.py'
Does it also not work if you specify to launch it as a Python3 application with python3 'realsense_depth.py'

I tried to use python or python3 to execute, but the results are the same, maybe I should rebuild from the source

For building the Python wrapper on Jetson, I usually recommend building the librealsense SDK and Python together at the same time using instructions in the link below, which have worked consistently for Jetson boards.
https://github.com/IntelRealSense/librealsense/issues/6964#issuecomment-707501049

Ok i will try, thanks!

Hello, do you have an update about your case that you can provide, please?  Thanks!

Case closed due to no further comments received.


HTM-870: display allowed origins for WMS

Not sure if actually useful.

Not that useful after all.


Make project cleanup more resiliant

Implement a mechanism that retries when:

there are active builds; cleanup attempt is skipped (but retried) in this case due to the low odds of success
if any failures occur in cleanup when it is attempted

Will retry for approximately 34 minutes. The schedule change ensures that 4 attempts will be made per night (Pacific Time) to run cleanup, at 30 minute intervals. Therefore, there are no gaps in the schedule. I will provision the schedule change after PR is approved.
Submission Checklist
Please take the following actions before submitting this pull request.

Fork your PR branch from the Toolkit "develop" branch (not main)
Test all changes with pre-commit in a local branch #
Confirm that "make tests" passes all tests
Add or modify unit tests to cover code changes
Ensure that unit test coverage remains above 80%
Update all applicable documentation
Follow Cloud HPC Toolkit Contribution guidelines #

Just to write it out, the gap this opens up is now we will respect running builds. Something like PR validation could block cleanup. To offset this we are retrying, running 4x the number of times, and have better scheduling.
It seems like this will be a good tradeoff, practice will tell for sure, but I am happy to try this out.


[Feature request] Change title/descripter that appears in the Tab from host browser, i.e. currently is "Firefox"

Idea
sorry if this is possible already, I wasn't able to locate any documentation on it
basically, just looking for this option in order to differentiate between separate instances of this container running simultaneously

answer found in #174

There is currently no official way, but you can try as a hack to set the APP_NAME environment variable.

that worked! thank you

There is currently no official way, but you can try as a hack to set the APP_NAME environment variable.

that worked! thank you


x11rb-async: Use "tracing"

This commit makes x11rb-async use the tracing crate. The tracing that is done is modelled after what is done in x11rb, but this time it is not optional, but a required dependency.

I'll go ahead and merge this based on the "Looks good to me" above. Follow-up PR incoming.
(And the MSRV stuff in #821 annoys me currently...)


Add nested namespace handling for TS

Relates to #1673
Add nested namespace declaration handling for Typescript.

Coverage increased (+0.006%) to 97.745% when pulling 1c7c10fbaad995ee391e71d879063bed32550ca7 on julien1619:feature/fix-nested-ts-namespace into 92caa3594e0f8d7bf143dedba0c7c2b47b541f34 on benmosher:master.

Coverage increased (+0.006%) to 97.745% when pulling 1c7c10fbaad995ee391e71d879063bed32550ca7 on julien1619:feature/fix-nested-ts-namespace into 92caa3594e0f8d7bf143dedba0c7c2b47b541f34 on benmosher:master.

Coverage increased (+0.006%) to 97.745% when pulling 1c7c10fbaad995ee391e71d879063bed32550ca7 on julien1619:feature/fix-nested-ts-namespace into 92caa3594e0f8d7bf143dedba0c7c2b47b541f34 on benmosher:master.

Coverage increased (+0.006%) to 97.745% when pulling 1c7c10fbaad995ee391e71d879063bed32550ca7 on julien1619:feature/fix-nested-ts-namespace into 92caa3594e0f8d7bf143dedba0c7c2b47b541f34 on benmosher:master.

I have one more commit to add so please wait before merging. Thanks!

@julien1619 when this is ready for review, and tests are passing, please mark the PR as such :-) thanks!

I have one last thing to fix, it doesn't crash anymore but it fails to check properly an existing nested namespace (see the last commit with the test that is still failing).

Done!

No releases with this one?

@djejaquino nope, not yet. you get what you pay for :-) it will be released when the next release is ready, and when i have time to release it.

@ljharb I am sorry, did you find my question unpolite or something to come up with such roughness? It was a very simple question with no intention to demand something out of anyone.

@djejaquino i apologize that I came off as rough; in general, asking for a release (especially after a mere 4 days) is indeed impolite, since it's making demands on an unpaid maintainer's time. It's especially complex during a global pandemic and widespread police lawlessness.
I will get it released as soon as possible.

@ljharb again, I did not ask for a release, I asked if there is a release.
You do it at your time, I could not care less as I was just evaluating this plugin to maybe use it on a customer project.
Maybe it was a poor choice of words in one’s perspective, and ended up leading you thinking that way, but I am not really used to tiptoe around internet people.
While I appreciate the great job maintainers such as you do for the community, I guess that dealing with condescending people asking for free stuff could create an over sensitive subject for some, leading to misinterpretation.
Stay safe.

Apologies for being sensitive about it. In general, you can click on the merge commit, and see if it’s included in any git tags, indicating it’s in a release.

100% my fault not checking that. Thanks for pointing it out.


Characters escape when paginating search

I have an internal server and I am executing a search request, with the following URL
http://localhost:5252/search?collections=sentinel-2-l1c&intersects={%22type%22:%22MultiPolygon%22,%22coordinates%22:[[[[-0.99999991,40.00000005],[8.38190317E-8,40.00000005],[8.38190317E-8,39.00000005],[-0.99999991,39.00000005],[-0.99999991,40.00000005]]]],%22crs%22:{%22type%22:%22name%22,%22properties%22:{%22name%22:%22EPSG:0%22}}}&datetime=2022-08-01T00:00:00Z/2022-08-31T23:59:59.999999999Z

The search returns paginated requests. The "links" field is:
"links": [
    {
        "rel": "next",
        "type": "application/geo+json",
        "method": "GET",
        "href": "[http://localhost:5252/search?collections=sentinel-2-l1c&intersects={\"type\":\"MultiPolygon\",\"coordinates\":[[[[-0.99999991,40.00000005],[8.38190317E-8,40.00000005],[8.38190317E-8,39.00000005],[-0.99999991,39.00000005],[-0.99999991,40.00000005]]]],\"crs\":{\"type\":\"name\",\"properties\":{\"name\":\"EPSG:0\"}}}&datetime=2022-08-01T00:00:00Z/2022-08-31T23:59:59.999999999Z&token=next:58f1d6c4-8d35-3227-b86a-dcc6a3500e38](http://localhost:5252/search?collections=sentinel-2-l1c&intersects={%22type%22:%22MultiPolygon%22,%22coordinates%22:[[[[-0.99999991,40.00000005],[8.38190317E-8,40.00000005],[8.38190317E-8,39.00000005],[-0.99999991,39.00000005],[-0.99999991,40.00000005]]]],%22crs%22:{%22type%22:%22name%22,%22properties%22:{%22name%22:%22EPSG:0%22}}}&datetime=2022-08-01T00:00:00Z/2022-08-31T23:59:59.999999999Z&token=next:58f1d6c4-8d35-3227-b86a-dcc6a3500e38)"
    },
    {
        "rel": "root",
        "type": "application/json",
        "href": "http://localhost:5252/"
    },
    {
        "rel": "self",
        "type": "application/json",
        "href": "http://localhost:5252/search?collections=sentinel-2-l1c&intersects={%22type%22:%22MultiPolygon%22,%22coordinates%22:[[[[-0.99999991,40.00000005],[8.38190317E-8,40.00000005],[8.38190317E-8,39.00000005],[-0.99999991,39.00000005],[-0.99999991,40.00000005]]]],%22crs%22:{%22type%22:%22name%22,%22properties%22:{%22name%22:%22EPSG:0%22}}}&datetime=2022-08-01T00:00:00Z/2022-08-31T23:59:59.999999999Z"
    }
]

It can be seen that link "self" escape different characters than link "next" and "previous". In particular, "self" escapes the double quotes.
In addition, characters [ and ] are reserved according to https://developers.google.com/maps/url-encoding?hl=en, and they are not escaped in any case (I have doubts about if characters { and } should be escaped, despite seeming a good idea).
Thanks!

There was a similar issue in stac-fastapi-elasticsearch-opensearch (https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/215). It was solved by removing the unquote() call on the parameter string.


Performance enhancement in selecting data from tikv

I test the performance of tidb using sysbench in tencent cloud. And the deployment of tidb is listed in the following form.

component
hardware
number

tidb
8core, 16G SAS
1

pd.
8core, 16G SAS
1 (deployed with tidb server)

tikv
8core, 32G SSD
3

Workload: 32 tables in the database, 1000000 records in each tables.

I find that the cpu usage of _sendmsg is high.

Maybe some enhancement can be done.

this is IO block

/label component/performance


Update badges to org locations

Coverage remained the same when pulling aa78643962e40e712ea0c61d35798d2cc8825f49 on jni:mic-badges into d75bd2f67df5267539022ff9211f498d9a3eb31b on microscopium:mic-badges.


Merge techpriest's edits

VERY WIP, needs a lot of auditing. Also need the main mod file to be merged, still figuring that out.

But - looking much better. Dropped 600 lines of changes by just using a similar formatter?

How did we go from +1600/-900 to +2,710 −795? :)
Also, how come zero comments have any feedback/replies on them?

How did we go from +1600/-900 to +2,710 −795? :) Also, how come zero comments have any feedback/replies on them?

This draft will disappear when I get around to splitting up the changes. We went up so high because I missed over half the actual changes techpriest made.

@meelock whats the status on this one? I take it you'll ping me or request another review when you're done with your things?
Do make sure that VayraTags file is not in the code you plan on merging.

@meelock so, do we close this or what?

I apologize, I need to close this and split the changes, but I'm not even sure I got all of them. I might just pr some of the minor changes later next week. School started again, and as I was not feeling up for the changes this summer, this PR is kinda in limbo.

I apologize, I need to close this and split the changes, but I'm not even sure I got all of them. I might just pr some of the minor changes later next week. School started again, and as I was not feeling up for the changes this summer, this PR is kinda in limbo.

well, sad to hear that but in that case, i suggest it'd be best for it to get closed and restarted from scratch.
you fork a copy, sync to your local branch and when you get things working on your end submit a new PR which will go through the same review process like this one. do try to take the current review comments as "most likely still applicable to the future PR" but I really wanna clean up any VayraMerged-related outstanding PRs out of the way.


No way to differentiate between HEAD and GET requests

Description of the bug
In the controller, there is no way to add a method for drogon::HttpMethod::Head, neither to know that a drogon::Get method was called from a HEAD request.
To Reproduce
Example:
class DrogonController : public drogon::HttpController<DrogonController, false> {
    METHOD_LIST_BEGIN
    ADD_METHOD_TO(DrogonController::doGet, "/", drogon::Get);
    ADD_METHOD_TO(DrogonController::doHead, "/", drogon::Head);
    METHOD_LIST_END
    void doGet(const drogon::HttpRequestPtr& request, std::function<void(const drogon::HttpResponsePtr&)>&&);
    void doHead(const drogon::HttpRequestPtr& request, std::function<void(const drogon::HttpResponsePtr&)>&&);
}

The doGet() method is systematically called, whether the request method is GET or HEAD, and the request->method() is also always drogon::Get
It is therefore impossible to know if a GET or HEAD request was done.
Expected behavior:
Be able do differentiate between them, to avoid the overhead of generating a body that is then dropped.
Proposed solution:
Either:

handle drogon::Head separately, so that doHead() is called in this example, or
leave the drogon processing as-is, since a Head is basically a Get without body, but have the original method be preserved in request->method() (so drogon::Head for a HEAD request)

Desktop:

OS: Windows
"Browser": PostMan
Drogon Version: 1.8.1

Well, I found in HttpServer.cc the following:
        bool isHeadMethod = (req->method() == Head);
        if (isHeadMethod)
        {
            req->setMethod(Get);
        }

and then a lots of references to isHeadMethod, probably to drop the body.
I have no idea of the implications of removing this setMethod(Get).
Perhaps that the safest solution would be to add an extra property in HttpRequestImpl.h:
class HttpRequestImpl : public HttpRequest
{
    bool isHead() const { return head_; }
    void setMethod(const HttpMethod method) override
    {
        method_ = method;
        head_ |= (method == Head);
    }
private:
    bool head_{ false };

I made a proposal in PR #1743


CMake & vcpkg error in compilation

CMake Error at G:/vcpkg/installed/x64-windows/share/cppmicroservices/cmake/CppMicroServicesTargets.cmake:78 (message):
   The imported target "usResourceCompiler" references the file
      "G:/vcpkg/installed/x64-windows/share/tools/cppmicroservices/usResourceCompiler3.exe"
   but this file does not exist.  Possible reasons include:
   * The file was deleted, renamed, or moved to another location.
   * An install or uninstall procedure did not complete successfully.
   * The installation package was faulty and contained
      "G:/vcpkg/installed/x64-windows/share/cppmicroservices/cmake/CppMicroServicesTargets.cmake"
   but not all the files it references.
 Call Stack (most recent call first):
   G:/vcpkg/installed/x64-windows/share/cppmicroservices/cmake/CppMicroServicesConfig.cmake:68 (include)
   Libs/AppUtil/CMakeLists.txt:20 (find_package)

CMake Warning at CMake/ctkMacroBuildPlugin.cmake:70 (message):
4>    Discouraged mismatch of plug-in project name [CTK_AppUtil] and top-level
4>    directory name [G:/programming/cpp/CTK/Libs/AppUtil].
4>  Call Stack (most recent call first):
4>    Libs/AppUtil/CMakeLists.txt:17 (ctkMacroBuildPlugin)
4>
4>
4>  CMake Error at G:/vcpkg/installed/x64-windows/share/cppmicroservices/cmake/CppMicroServicesTargets.cmake:78 (message):
4>    The imported target "usResourceCompiler" references the file
4>
4>       "G:/vcpkg/installed/x64-windows/share/tools/cppmicroservices/usResourceCompiler3.exe"
4>
4>    but this file does not exist.  Possible reasons include:
4>
4>    * The file was deleted, renamed, or moved to another location.
4>
4>    * An install or uninstall procedure did not complete successfully.
4>
4>    * The installation package was faulty and contained
4>
4>       "G:/vcpkg/installed/x64-windows/share/cppmicroservices/cmake/CppMicroServicesTargets.cmake"
4>
4>    but not all the files it references.
4>
4>  Call Stack (most recent call first):
4>    G:/vcpkg/installed/x64-windows/share/cppmicroservices/cmake/CppMicroServicesConfig.cmake:68 (include)
4>    Libs/mitk/CMakeLists.txt:7 (find_package)

Connection https://github.com/CppMicroServices/CppMicroServices/issues/506


fix: move alert to main thread

Closes issue #49
Tested on iPhone 6s with no biometric data set.
iOS Version: 14.6

lgtm


FileMiddleware and 404 responses

Currently the FileMiddleware runs whenever the router throws a 404 HTTPError. It does not run if a Response is returned whose status is 404.
Should we consider a returned 404 responses as a reason to kick off the FileMiddleware? On one hand a returned response could be considered as already handled and therefore we shouldn't kick off the FileMiddleware. On the other people have been caught out by this.
Options:

Treat 404 responses the same as errors.
Add an option to treat 404 responses the same as errors.
Improve documentation.

@tib

Oh, interesting question! I'd vote for an option here, but think that this type of option is inherently so undiscoverable I don't think it'll be used in practice.

I would also like to have on the option to pick the desired behavior, plus improved documentation of course. :)


Tx fee estimate edge case when Tx value approach wallet value

Context

When calculating a transaction fee, if the amount to pay is set to the same value as the wallet holds (in a single address in this test case) or close to it, the TX fee is about as large as the wallets value.  This likely has no functional impact as it looks like these TXs should fail anyway due to insufficient fee ADA.  But in case it impacts something somewhere else, just FYI.

Network discrimination for the send to address is not tested for when calculating fees.  This might be by design and not an issue.  Just FYI

Information
-

Version
2020.6.5 (git revision: 5290acf902da32e1e541b5dc227629c9a300f1be)

Platform
Linux

Installation
Nix build

Steps to Reproduce

Check the wallet balance

$ cardano-wallet-shelley wallet get $WALLETID
...
        "total": {
            "quantity": 99627083,
            "unit": "lovelace"
        },
        "available": {
            "quantity": 99627083,
            "unit": "lovelace"
        }
...

Estimate fees by CLI or API:

# Set the payment about ~0.13 ADA lower than the wallet value; get a large estimated fee
#
$ cardano-wallet-shelley transaction fees $WALLETID --payment 99500000@$SEND_TO
Ok.
{
    "estimated_min": {
        "quantity": 99665281,
        "unit": "lovelace"
    },
    "estimated_max": {
        "quantity": 99665281,
        "unit": "lovelace"
    }
}

# Set the payment about ~1.13 ADA lower than the wallet value; get an accurate fee
#
$ cardano-wallet-shelley transaction fees $WALLETID --payment 98500000@$SEND_TO
Ok.
{
    "estimated_min": {
        "quantity": 168141,
        "unit": "lovelace"
    },
    "estimated_max": {
        "quantity": 168141,
        "unit": "lovelace"
    }
}

Perhaps not an issue, the network discriminator of the send to address doesn't appear to be checked during fee estimates.  Repeat one of the above fee estimates, this time flipping the second digit of the address from a 1 to a 0 or visa-versa.  The command completes the same way, successfully, despite one of those addresses not being valid on the network.

$ cardano-wallet-shelley transaction fees $WALLETID \
  --payment 99500000@$SEND_TO_WITH_MODIFIED_SECOND_DIGIT
Ok.
{
    "estimated_min": {
        "quantity": 99665281,
        "unit": "lovelace"
    },
    "estimated_max": {
        "quantity": 99665281,
        "unit": "lovelace"
    }
}

Indeed, I am able to reproduce it for both: shelley and byron wallet. The boundary value (on Shelley testnet) seems to be 165281 lovelace.
I.e.
Where value is the amount for which you want to estimate fee:
If (value <= wallet_balance - 165281) then :+1:
if (value > wallet_balance - 165281) then :-1:
For instance:
wallet balance = 5 000 000

Estimate fee for 5000000−165281 = 4834719
result: 165281 lovelace (estimated_min and estimated_max)

Estimate fee for 5000000−165280 = 4834720
result: 5000001 lovelace (estimated_min and estimated_max)

lgtm


getRemovedIndices returns empty Int vector

I want to call getRemovedIndices() to get the index of removed points:
from pclpy import pcl
import numpy as np
arr = np.random.randn(30, 3).astype(np.float32)
cloud = pcl.PointCloud.PointXYZ.from_array(arr)
cloud_filtered = pcl.PointCloud.PointXYZ()
pas = pcl.filters.PassThrough.PointXYZ()
pas.setInputCloud(cloud)
pas.setFilterFieldName("z")
pas.setFilterLimits(0, 1)
pas.filter(cloud_filtered)
print(pas.getRemovedIndices())

but the result is Int[].

It seems the problem is with the filter method when given a point cloud as parameter.
If you give an Int vector to the filter method, it works:
# this is the same as before
from pclpy import pcl
import numpy as np
arr = np.random.randn(30, 3).astype(np.float32)
cloud = pcl.PointCloud.PointXYZ.from_array(arr)
cloud_filtered = pcl.PointCloud.PointXYZ()
pas = pcl.filters.PassThrough.PointXYZ()
pas.setInputCloud(cloud)
pas.setFilterFieldName("z")
pas.setFilterLimits(0, 1)

# passing a pcl.vectors.Int() to filter() is a workaround...
indices = pcl.vectors.Int()
pas.filter(indices)
print(indices)

But the filter function should work with a point cloud, so this is a bug.

Ok, I figured it out. It's a simple PCL flag that wasn't set: extract_removed_indices=True
from pclpy import pcl
import numpy as np
arr = np.random.randn(30, 3).astype(np.float32)
cloud = pcl.PointCloud.PointXYZ.from_array(arr)
cloud_filtered = pcl.PointCloud.PointXYZ()
pas = pcl.filters.PassThrough.PointXYZ(extract_removed_indices=True)  # only this line changed
pas.setInputCloud(cloud)
pas.setFilterFieldName("z")
pas.setFilterLimits(0, 1)
pas.filter(cloud_filtered)
print(pas.getRemovedIndices())

Also, you could do the same thing using numpy logic, but keep in mind this should be slightly slower:
from pclpy import pcl
import numpy as np
arr = np.random.randn(30, 3).astype(np.float32)
cloud = pcl.PointCloud.PointXYZ(arr)
xyz = cloud.xyz

indices = np.where(np.logical_and(xyz[:, 2] > 0, xyz[:, 2] < 1))[0]
print(indices)

# and create a new cloud if necessary
cloud_filtered = pcl.PointCloud.PointXYZ(xyz[indices])


[FR] CocoaPods Support

Hi,
Love the library and excited to start using it.  However, I'm unable to install it - I'm not sure if this is the right place to ask.
I am using Cocoapods for my dependencies and am trying to figure out a way to install swift-currency using pods.  However, I sense it's not supported on this library (could be wrong!)
I've tried the following with no luck:
pod 'swift-currency', :git => 'https://github.com/peek-travel/swift-currency', :tag => '0.6.0'

Is there anything I need to do to get this working?  Is there another solution to get this working with Cocoapods?
Thanks

Hi! This is definitely the place to ask - right now we don't support CocoaPods, only Swift Package Manager.
It's something we should support, I'll update this issue to make it a feature request

Thanks Mordil (and thanks for getting back to me so quickly!).  That would be excellent if it's supported as would love to use the library but don't want to change from cocoapods at this point.

This should be available as of 0.6.1, give it a try and let me know if you run into issues!

That's awesome - thanks Mordil! Thanks for getting this done so quickly!


Possibility to show HTML/PHP as a tile

Is it possible to point directly at an HTML or PHP page such as HamClock or WeeWX to get real time data on the dashboard?

This is already in the To Do list, along with the separate rotate timer for each tile (now all tiles rotate every 30 s)

Do you now regret starting this “simple” project that has become a job?
On Mon, Jul 8, 2024 at 11:46 AM Pablo @.***> wrote:

Hi Steve,
I've also noticed minor issues like this after removing the refresh meta
tag and the javascript page refresh.For example, my Hamclock image hasn't
been updated since 50 minutes ago.
The caching prevention mechanism I put in place consists in adding a
random string added at the end of the URL as a parameter. It works very
well with the majority of the image sources, however, it fails for these
sources like you mentioned in your previous email that already have a bunch
of parameters already on the URL. I'm trapping this issue in the code and
removing the variable I added and trying again to load the image. This
works but the image sometimes doesn't get refreshed unless the entire page
is reloaded. This is why I was a little bit skeptical about removing the
whole page refresh.
Now going back to the topic of the issue of this thread. Yesterday spent
few hours working on a new code to load mini-websites on the tiles like in
iFrames tags. I haven't finished yet this this experiment. More to come.
Pablo - VA3HDL
—
Reply to this email directly, view it on GitHub
https://github.com/VA3HDL/hamdashboard/issues/12#issuecomment-2214485619,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A7TZ55THJ4WO6PHDCIXBNELZLKX5ZAVCNFSM6AAAAABJ65XP4WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMJUGQ4DKNRRHE
.
You are receiving this because you commented.Message ID:
@.***>

Not at all. On the contrary I feel I made a contribution to the community for the ones that found a valuable addition to their shacks. I received very good feedback from many and that keeps me going.
Thanks for your help.

Hmmmm.......  The  graphical weather PHP image mentioned above is not refreshing with, "" in the HTML.

I believe because the time on the chart is embedded on the links you used...
https://forecast.weather.gov/meteograms/Plotter.php?lat=28.3874&lon=-80.6048&wfo=MLB&zcode=FLZ747&gset=18&gdiff=3&unit=0&tinfo=**EY5**&ahour=0&pcmd=11101111110000000000000000000000000000000000000000000000000&lg=en&indu=1!1!1!&dd=&bw=&hrspan=48&pqpfhr=6&psnwhr=6
https://forecast.weather.gov/meteograms/Plotter.php?lat=28.3893&lon=-80.6088&wfo=MLB&zcode=FLZ447&gset=18&gdiff=3&unit=0&tinfo=**EY6**&ahour=0&pcmd=1111111111&lg=en&indu=1!1!1!&dd=3&bw=0&hrspan=48
https://forecast.weather.gov/meteograms/Plotter.php?lat=28.3893&lon=-80.6088&wfo=MLB&zcode=FLZ447&gset=18&gdiff=3&unit=0&tinfo=**EY7**&ahour=0&pcmd=1111111111&lg=en&indu=1!1!1!&dd=3&bw=0&hrspan=48
the part in bold is the hour of the chart

Hit - https://forecast.weather.gov/meteograms/Plotter.php?lat=28.3893&lon=-80.6088&wfo=MLB&zcode=FLZ447&gset=18&gdiff=3&unit=0&tinfo=EY6&ahour=0&pcmd=1111111111&lg=en&indu=1!1!1!&dd=3&bw=0&hrspan=48
Then wait until the top of the hour and refresh.  The X axis time-line changes by one hour where the first labeled hour is the next hour.  I don't recall what values I had to change so it shows the 'next' hour labeled minus two hours.   The 'hrspan' is the number of hours to display.


no deploy

Describe the bug
no deploy also says ;There was an error processing your request
Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-3u1rs7
Steps to reproduce
you can already see
Expected behavior

Screen Recording / Screenshot
No response
Platform
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 129
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 78780669,
  "usedJSHeapSize": 72167425,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Username = ardakaano
Chat ID = 055169cbfd31

Additional context
Error:
There was an error processing your request

we'll track this in https://github.com/stackblitz/bolt.new/issues/46


ThreadGuard for parallel testing

Hi,
does Selenide use the ThreadGuard feature of Selenium? (https://www.selenium.dev/documentation/webdriver/support_features/thread_guard/)
If not does it make sense to implement it for WebDriver and/or remoteWebDriver?

@redhell No, we don't use ThreadGuard in Selenide. Thank you for sharing, I didn't even know about this feature. :)
But we probably don't need ThreadGuard much. Selenide holds browsers in ThreadLocal variable, so users are guaranteed to get different browsers in different tests (until they override default Selenide behaviour with methods setWebDriver() etc.).


User-facing technical documentation

We need to create more technical user-facing documentation that shows users how to add new notebooks, request packages for the kernel, and create new CyberGIS Compute models/GeoEDF connectors or processors.
This will be planned for the next release in time for the Summer School 2024.

Following the CI meeting today and Anand's suggestion, I plan on adding more user-facing documentation for CVMFS. This will mainly relate to how CVMFS works, which kernels to use for your notebook, and what packages are included in each kernel.
We'll want to put this somewhere on the I-GUIDE site with the other user-facing documentation that we have, or have the site link back to the documentation.

Maybe also provide a way for a user to request changes to a kernel by letting them open a GitHub issue.


Bump Celeborn version

Description
Celeborn has already released v0.3.1-incubating, v0.3.2-incubating and v0.4.0-incubating. The released versions support Gluten. The version of Celeborn in Gluten is 0.3.1-incubating, which could be bumped the released versions.

@kerwin-zk, did you work on upgrading the version of Celeborn? If not, I will take this upgrade of Celeborn. cc @ulysses-you.

Better to let Gluten compatible with both celeborn 0.3.x and 0.4.x.
cc @pan3793 @zzcclp

Given there is no patched version on Celeborn 0.4 serials yet and 0.3 is the most stable version for production cases, I'm +1 for making Gluten compatible with both Celeborn 0.3 and 0.4

use maven profile to specify the compile version of the celeborn for 0.3.x or 0.4.x, lgtm.

@kerwin-zk, did you work on upgrading the version of Celeborn? If not, I will take this upgrade of Celeborn. cc @ulysses-you.

@SteNicholas  This is already under design.

I will submit a pr later.


Without trimap ?

I understand this was probably a project for your personal use, but I found this approach for background removal much different from other better known ones like Segmentation, etc. and wanted to give it a try. Is eval/running it only possible if we have a Trimap and can I not just use any of my normal images to remove its background (I dont have trimaps for them).

for your pre-trained model, would there be any detriment (or have you tried) using an automated tri-map generation algo? https://ieeexplore.ieee.org/document/6694178


Create a campaign

Regarding #122
Thank you @webface for asking such a lazy question. I'm new to PHP and I had the same problem and you took the time to find the answer and post it on the issue so other people (like me) could use it. You really had an open source community action.
Thank you @drewm for creating this lib, but you have to be nice to the people who use your library and have questions. I manage libraries with 15 thousand stars and more than 1 thousand weekly downloads and I know sometimes a lot of issues are overwhelming, but remember:
You should always treat your users really well because without them YOUR LIBRARY IS USELESS

Actually, without users my library would be just as useful for my purposes, I'd just not have random entitled strangers having a go at me.
Your message is everything that's bad about open source. Why is it not okay that I make a repo public in case it's useful for someone? Why am I then accountable to nurse every PHP beginner through their development problems? That's not my job. I don't know what logic you're applying that makes you believe I'm morally responsible to help with your questions or even to be nice when you waste my time by raising a bogus issue against the software.
If it wouldn't then break the projects of hundreds of thousands reasonable users, I'd just take this thing offline for the amount of unwarranted abuse it gets me. I certainly will think twice before sharing anything in the future.

@drewm I'm sorry if that's what you think about the Open Source community.
I don't think you are entitled to anything and I agree that you don't need to spend your time on helping every single user that opens an issue, but you owe everybody respect just because we are all human beings and we should respect each other.
If you really wanted to save time with those issues, after @webface posted the answer you could have thanked him and asked him for a pull request with this tutorial on the README, so you and hundreds of thousands of users could easily implement this new functionality.
The Open Source community is all about everybody collaborating to create better tools and products. It's a win-win situation.
If you don't wanna work on this project anymore, you could find someone else that would love to take it over. In the end of the day, you have a good tool and it's definitely not worth it taking it down.


writing settings can cause usb devices to malfunction

affects pcb rev A3 and firmware 1.5
affects Microsoft Wheel Mouse Optical 1.1A (045E:0040)

writing settings has a >20% chance of causing malfunction
red led goes dim, mouse spews reports until disconnected

probably due to suspending interrupts and pausing the other core when writing to flash

same failure if you replace Settings::write impl with just noInterrupts() + sleep_ms(5) + interrupts()

workaround in firmware 2.0: settings are now saved when you close the menu, and you can hold Shift to reboot the adapter after saving (Shift+Enter).


Added mixin flattening for gradients

:clap: According to the tests the borders around the select boxes are slightly different, but that's pretty inconsequential.  Otherwise everything is coming up as identical.
It does look like Patternfly added something called "blank_slate" which will need to be pulled in at some point.
Great patch; thanks!


install arguments for initial setup

This bug-tracker is monitored by developers and other technical types.  We like detail!  So please use this form and tell us, concisely but precisely, what's up.  Please fill out ALL THE FIELDS!  Issues with missing or incomplete issue templates will be closed.
If you have a feature request, please post to the UserVoice.
If this is a console issue (a problem with layout, rendering, colors, etc.), please post to the console issue tracker.
Important: Do not open GitHub issues for Windows crashes (BSODs) or security issues.  Please direct all Windows crashes and security issues to<EMAIL_ADDRESS> Ideally, please configure your machine to capture minidumps, repro the issue, and send the minidump from "C:\Windows\minidump".
Please fill out the below information:

Your Windows build number:  17763.107

What you're doing and what's happening:  server setup for WSL

What's wrong / what should be happening instead: no agruments for automated install, requires user interaction for setting "new unix username"

Strace of the failing command, if applicable:  NA

For WSL launch issues, please [collect detailed logs]: NA

See our contributing instructions for assistance.

.exe install --root

C:\WSL\Ubuntu1604>ubuntu.exe install --root
Installing, this may take a few minutes...
Installation Failed!
Error: 0x8007007e
Press any key to continue...

Looks like you don't have the optional component installed.

it looks like the 'install --root' args aren't working for the current 1604 package, I get the following error '"invalid command line arg 'install'".  I did get it to work with the 1804 package.

This does the trick.
ubuntu1804.exe install --root
ubuntu1804.exe run adduser user --gecos "First,Last,RoomNumber,WorkPhone,HomePhone" --disabled-password'
ubuntu1804.exe run echo 'user:P@ssw0rd' | sudo chpasswd
ubuntu1804.exe run usermod -aG sudo user
ubuntu1804.exe config --default-user user


Ctrl + C not working in insert mode on Windows

Greetings,
Was happily using this plugin on my mac but need to use on windows going forward.
Unfortunately ctrl + c / ctrl + v are not working as expected in insert mode.
I followed the advice in the below threads to no avail.
https://github.com/vscode-neovim/vscode-neovim/issues/939 &&
https://github.com/vscode-neovim/vscode-neovim/issues/440
Do any windows users have any suggestions? This is what my Keyboard shortcuts looks like, and the relevant settings for the extension.

Thank you so much 😭 Deleting that setting fixed my issue 🙇


changed os.rename to shutil.move because of invalid cross-device link…

Task os.rename. Similar to this error: http://stackoverflow.com/questions/11578443/trigger-io-errno-18-cross-device-link

Thanks! Good call.


[Sema] Don't suggest adding 'as' in a pattern matching context where it will do no good.

Ideally we'd provide a more clever diagnostic or fixits here (see some of the chat in SR-6204), but it's a corner of Swift where The Right Thing isn't very obvious, so I eventually decided to be content with just avoiding the wrong diagnostic.
Resolves SR-6204.

@swift-ci Please smoke test

Is there a way to detect this earlier so we can prevent the fix from being suggested in the first place?  CSApply is always too late to fail a solution set like this.

@CodaFi Not sure what the advantage would be of that.  If there are disjunctions which solve things completely, this solution-with-fixit will get a lower score, and if not, this is still the closest solution there is, we just can't spell out 'as' in this situation to fix it.

Not sure what the advantage would be of that.

You can fail the solution set if you can locate back up to a pattern when matchTypes wants to suggest this fix.  Then, even if you have disjunctions (which should not happen here), you will fall into CSDiag rather than CSSApply.

@CodaFi That's exactly what this does. It makes ConstraintSystem::applySolutionFix() fail, which makes applySolution() fail, which causes us to go into CSDiag to diagnoseFailureForExpr().
The pre-existing comment at the top of this method is
/// \brief Apply the specified Fix # to this solution, producing a fixit hint
/// diagnostic for it and returning true.  If the fixit hint turned out to be
/// bogus, this returns false and doesn't emit anything.

We're in exactly the situation where the fixit hint turns out to be bogus.

Maybe the solution here is that all of applySolutionFixes should move to CSDiag, since it is, after all, producing diagnoses. :)

What I’m saying is this is a phase-ordering problem.  By the time we drop into CSApply the idea is that failing to apply should be an exceptional circumstance - eventually something that never happens.  So currently, of course, we have loops back to CSDiag when that does happen.  I’d much prefer we fail earlier in the solver when trying to suggest the fix in the first place because clearly that’s what’s wrong.

Apologies for the delay in getting back to this. Looked into this further...
@CodaFi I understand where you are coming from, but given the way the compiler is currently constructed, this is the correct place to put this check. The solver fails the first time exactly as you'd like it to. Then in salvage() we turn on recording fixes in order to get a diagnosis. We record that a forced downcast would have solved the constraint. And then in applySolution() we never proceed if any Fixes exist - either we produce a custom diagnostic from the Fix or (because of my change what now happens in this case) we fall into diagnoseFailureForExpr().
You could get to the control flow you'd prefer by moving all of applySolutionFixes() out of applySolution() and into salvage() itself in the check for finding a series of fixes that worked. However, there are several other paths into solveForExpression() that don't involve applySolution() afterwards where the results could change -- it's beyond the scope of this PR to check into all those alternative control flows. If you did check that they are okay and make the move, you'd be rearranging things on a higher level to better phase-ordering, but this code would remain where it is and remain correct (except that as I mentioned above you might want to move the whole thing into CSDiag).
Retesting to make sure things haven't changed out from under this PR, and then I intend to merge as is.
@swift-ci Please smoke test


netty http HttpObjectAggregator handler not support no body response for example http head request

Expected behavior
Actual behavior
HttpResponseDecoder decode only one message(response line and header) ,pass to HttpObjectAggregator , HttpObjectAggregator process as start message and wait content message
but no body,so HttpObjectAggregator can not do finishAggregation, so  HttpObjectAggregator out list
size is 0 ,can not fire to my handler
Steps to reproduce
Minimal yet complete reproducer code (or URL to code)
Netty version
netty-4.1.9
JVM version (e.g. java -version)
OS version (e.g. uname -a)

Just use the HttpClientCodec and it will be handled correctly.

thanks

Hey @normanmaurer, can you elaborate on what you mean by using the HttpClientCodec with the HttpObjectAggregator? Both handlers are in the channel pipeline and the same problem arises. The HttpObectAggregator will throw the exception when it sees the header

@hamdiallam You place the HttpClientCodec before the HttpObjectAggregator in the channel pipeline. The HttpObjectAggregator javadocs has an example.

Having the same issue with netty 4.1.94.Final and a client-side HTTP HEAD request with a netty pipeline that uses
 pipeline.addLast(new HttpClientCodec());
 pipeline.addLast(new` HttpObjectAggregator(8192);

The HttpObjectAggregator throws TooLongHttpContentException even for the HEAD requests. I also found no information about HttpClientCodec in the javadoc of HttpObjectAggregator. I'm not quite sure but I thought that this code worked properly in earlier netty versions. Is there a way in the newer versions to use HttpObjectAggregator with HEAD requests and ignore the content-length?

@pylight please open a new issue with a reproducer

FYI: I've looked into creating a reproducer today but it seems that most public websites (wanted to use something like "github.com:443" as server endpoint) don't send the Content-Length header in case of HEAD requests or they send "Content-Length: 0".
Besides chunked transfer ending is often used in which case there's no Content-Length header in the response as well.
See also this related stackoverflow discussion where it is stated that the header MAY be omitted for HEAD responses:
https://stackoverflow.com/questions/3854842/content-length-header-with-head-requests
So I decided to change the server on my side as well to not include the header for HEAD responses. That's sufficient to not experience this issue anymore.


Figure out a solution for pip install.

Pip 1.5 does not process dependency links by default anymore(pypa/pip#1428), and MyHDL on pip is too old.

MyHDL 0.9 should be on pypi soon.