[TextInput][iOS] Added new prop "clearButtonTintColor"

Added new property clearButtonTintColor for TextInput that allows to set color of the button

@sahrens would you mind taking a look at this pull request? It's been a while since the last commit was reviewed.

@sahrens would you mind taking a look at this pull request? It's been a while since the last commit was reviewed.

@sahrens I've updated it. Take a look

FYI tests seem to get broken, see CI reports

I'm reluctant to accept this, just because the use case seems so specific that I doubt anybody else will ever need it.
You could implement this property as a native plugin by moving your changes to RCTTextField.m and RCTTextFieldManager.m into an objective C category (I can provide an example, if it's not obvious how to do that).
It's a bit more awkward on the JS side - you'd probably have to create a new component that wraps TextInput and declares the new prop (e.g. TintedCancelButtonTextInput).

@AaaChiuuu would you mind taking a look at this pull request? It's been a while since the last commit was reviewed.

@xxsnakerxx I see you've recently updated the PR, what do you think about the comment from Nick above?

I'm reluctant to accept this, just because the use case seems so specific that I doubt anybody else will ever need it.

You could implement this property as a native plugin by moving your changes to RCTTextField.m and RCTTextFieldManager.m into an objective C category (I can provide an example, if it's not obvious how to do that).

I think it would be best if you could release this as a plugin, see https://js.coach/
I'll close this PR based on the comments from Nick above, thanks for understanding and hope you'll continue contributing to React Native.

Ok, NP, I understand...

I'm not sure how the use case is "specific"? I'm already somebody else that needs this. Any time you have a dark input you need this. So many apps are based on black backgrounds.
The commits include what I assume would be an extra objective c library to add--that additional step is poor DX for a feature that is expected. The clear button is essentially feature incomplete without this. Setting the tint color of a button that already exists in the standard TextInput widget makes nothing but sense--or why have a clearButtonMode?

@faceyspacey

The clear button is essentially feature incomplete without this. Setting the tint color of a button that already exists in the standard TextInput widget makes nothing but sense--or why have a clearButtonMode?

But that's exactly the point - this feature doesn't exist in the standard iOS UITextField control. If this was simply exposing a "clearButtonTintColor" property of the underlying control (as the clearButtonMode property is doing) then it would be no-brainer, but there is no such property - the solution here involves walking the view hierarchy to find a private subview that contains the clear button.
It's a fragile technique that might break if Apple changes the view hierachy in an iOS update, and it's not a feature that Apple thinks is important enough to expose in the standard control. I think it's appropriate for us to expose every standard feature of the control, but there are an infinite possible number of nonstandard features, so we need to use some kind of criteria beyond "someone might need it" to decide which of those we support.
The principle I'm applying here is that simple things should be simple, and complex things should be possible. Exposing this feature in a native app is complex but possible - if that's true in RN as well then I think that's acceptable.

based on the implementation tradeoffs, i agree. that sucks.

👋  Any way to do this in 2024?


Modify the way to identify Rule Configuration in Config Center

Fixes #3817 .

./run ci

Pull Request Test Coverage Report for Build 1247

7 of 8 (87.5%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 67.553%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

sharding-orchestration/sharding-orchestration-core/src/main/java/org/apache/shardingsphere/orchestration/internal/registry/config/service/ConfigurationService.java
7
8
87.5%

Totals

Change from base Build 634:
0.3%

Covered Lines:
11280

Relevant Lines:
16698

💛  - Coveralls


Feat(Cookies): Added support for cookies in load data function ⚡

Vikatan requested a cookie-based recommendation from the server side.
Solution:
Added support for cookies in load data function, used req.cookies, and passing inside the load data.
Ticket - https://github.com/quintype/ace-planning/issues/470

Also please add documentation here https://developers.quintype.com/malibu/tutorial/creating-a-page.html


Issue 13 create new event form

Change Summary
[Briefly summarise the changes that you made. Just high-level stuff]

add event form page (front end)
create API for event form (back end)

Change Form
Fill this up (NA if not available). If a certain criteria is not met, can you please give a reason.

[x] The pull request title has an issue number
[ ] The change works by "Smoke testing" or quick testing
[ ] The change has tests
[ ] The change has documentation

Other Information
[Is there anything in particular in the review that I should be aware of?]

[ ] pending select component. Wait for issue 27 merged into the main branch.

Could you give some more detail about this PR? The description should be filled out according to the template.

Could you give some more detail about this PR? The description should be filled out according to the template.

Sorry for missing information. I update the change summary (we add an event form page (front end) and create API for the event form (back end)). Thanks


Need to remove the scope and requestURI paramaters from the POST /funds-confirmation-validation

Description:
According to the open banking current implementations and we have identified that for the moment we have no potential usage for the scope and requestURI parameters in the Fund Confirmation validation API [1].
We have gone through the POST  /funds-confirmation-validation API and observed that we are able to validate funds-confirmation consent successfully even without the scope and requestURI parameters
Therefore please remove these parameters from the payload[2].
[1] https://github.com/wso2/financial-open-banking/blob/master/artifacts/consent-mgt/ob-uk/components/com.wso2.finance.open.banking.uk.consent.mgt/src/main/java/com/wso2/finance/open/banking/uk/consent/validation/model/FundsConfirmationConsentValidationRequest.java
[2]https://docs.wso2.com/display/OB130/Funds+Confirmation+Consent+API#FundsConfirmationConsentAPI-Validatefundsconfirmationconsent

Removed the scope and requestURI parameters from the sample request given in the following docs:

130 UK COF Validate funds confirmation consent
140 UK COF Validate funds confirmation consent

Please verify and close the issue.


Major module update

Great work but it seem to be outdated ;)
I'll try to dedicate some time to work on it

Great! Yes, I don't have an Apple watch anymore so I stopped creating stuff for the watch.
Just make pull requests and I'll merge them :)
And don't hesitate to ask any question regarding the project! Thanks for your time.


Assert functions do not constraint type when they are guarded by a truthy expression.

TypeScript Version:  3.8.3

Search Terms:: Assert Function
Code
function assertString(actual: any): asserts actual is string {}
function expectString(value: string) { }
let devMode: {} = {};

// This works as expected
const x: string|number = '' as any;
assertString(x);
expectString(x); // x is string!

// This fails
const y: string | number = '' as any;
// Expecting TS to correctly infer that `devMode` is always truthy and
// hence the`assertString` sholud always execute therefore its
// type assertion should hold.
devMode && assertString(y);
expectString(y); // y is string|number hence it fails

Expected behavior:
Assert functions should be assumed to always execute when they are guarded by an expression which is truthy.
Actual behavior:
Any sort of guard expression (even if know to be truthy) prevents the assert function from applying its constraint.
Playground Link:
Playground
Related Issues:

Assertion functions cannot be used to narrow discriminated union types · Issue #37241 · microsoft/TypeScript
Assertion functions don't work when defined as methods · Issue #36931 · microsoft/TypeScript

We don't trust the results of our own truthiness analysis for these situations because there are legitimate situations where a falsy value might inhabit a truthy position. We also believe that code like x && y is written because x is possibly falsy (otherwise why would you do it...?). It seems like you intend to strip this out later, so I'd recommend just using some other approach.


chore: add queries to list and delete users with invalid emails

The unit test that is failing is presumably to prevent mutative queries from being present as an admin query. Not sure if just ignoring it for now is valid, if not I can temporarily disable it or add some sort of filtering for specifically-allowed queries if this is a pattern we want to adopt more in the future.

Since we don't plan to merge this work to the main branch, I believe it's fine to ignore the unit test error, as it doesn't block us from temporarily deploying to production (which I'm doing now). Excellent idea making it two queries to be able to preview the affected users before running.

All set with this! Delete query has been run on production. Closing without merging.

This should now be all set. I threw in a LIMIT 50 on the delete query due to hitting some timeouts.


Simplify penalties and make them harder to trigger

This aims to reduce the number of false positive cases we have been encountering in Copay while still providing a way to defend against malicious copayers.

ACK, good changes.


webpack resolver import/no-unresolved issue with npm@2

I have a project that uses webpack resolve alias like so, webpack.config.js:
  ...
  alias: {
    'src': path.join(__dirname, './src'
  }

and in .eslintrc:
  ...
  "rules": {
    "import/no-unresolved": 1
  },
  "settings": {
    "import/resolver": {
      "webpack": {
        "config": "webpack.config.js"
      }
    }
  }

when I npm install with npm 2 (2.14.7), I will get import/no-unresolved problems reported.
when I npm install with npm 3 (3.10.9), I will NOT get import/no-unresolved problems reported.
I set up a example project, https://github.com/anglee/minimal-webpack, here are the exact steps to reproduce:
using npm@2
$ git clone https://github.com/anglee/minimal-webpack
$ cd $_
$ npm --version
2.14.7
$ npm install
$ ./node_modules/eslint/bin/eslint.js src/App.js
# see import/no-unresolved problems being reported

while with npm@3
$ git clone https://github.com/anglee/minimal-webpack
$ cd $_
$ npm --version
3.10.9
$ npm install
$ ./node_modules/eslint/bin/eslint.js src/App.js
# no eslint issues

the Node version doesn't seem to matter, I tested the combinations of both node 6 and 4 with npm 2 and npm 3.
I also noticed that if I configure by specifying 'eslint-import-resolver-webpack' instead 'webpack' in eslintrc, ie.
...
  "rules": {
    "import/no-unresolved": 1
  },
  "settings": {
    "import/resolver": {
      "eslint-import-resolver-webpack": { // !!
        "config": "webpack.config.js"
      }
    }
  }

then the npm@3 installed project still works fine, but npm@2 installed project will report, in addition to other import/no-unresolved problem:
  1:1   warning  Resolve error: unable to load resolver "eslint-import-resolver-webpack"  import/no-unresolved

can you please suggest what to solve the undesired behavior with npm2?

Do you have eslint-revolver-webpack as a top level dep?

Do you mean eslint-import-resolver-webpack? yes, https://github.com/anglee/minimal-webpack/blob/master/package.json#L21

hmm. nothing immediately obvious, other than: IIRC the config file path is expected to be relative to the working directory from which you run ESLint, not relative to the eslintrc. If you'd like to configure it that way, you could use path.join(__dirname, "webpack.config.js").
I'm not sure if that has any bearing on what you've observed, though.

I encountered a similar issue when running linting on node v4.6.1 with npm 2.15.9.
The following error:
  1:1   error  Resolve error: unable to load resolver "node"                           import/no-absolute-path
  1:1   error  Resolve error: unable to load resolver "node"                           import/no-unresolved
  1:1   error  Resolve error: unable to load resolver "node"                           import/no-extraneous-dependencies
  1:1   error  Resolve error: unable to load resolver "node"                           import/no-duplicates
  1:1   error  Resolve error: unable to load resolver "node"                           import/extensions
  1:1   error  Resolve error: unable to load resolver "node"                           import/no-named-as-default-member
  1:1   error  Resolve error: unable to load resolver "node"                           import/no-named-as-default

was resolved after I had to manually run npm install --save-dev<EMAIL_ADDRESS>I did not have to do this on node 6.x/npm 3.x where it automatically installed the module just fine.
Next, I still had errors with the webpack resolver, 0.7.0:
  2:1   error  'actions' should be listed in the project's dependencies. Run 'npm i -S actions' to add it  import/no-extraneous-dependencies
  2:34  error  Unable to resolve path to module 'actions/notifications'                                    import/no-unresolved
  2:34  error  Missing file extension for "actions/notifications"                                          import/extensions

which I tracked down to a missing dependency for has in eslint-import-resolver-webpack/index.js:12. Presumably, we can fix that problem by adding has as a dependency in the package.json.
Hope that helps!

Also, it might be better if requireResolver() in utils/resolve.js throws an error when it can't require a module like eslint-import-resolver-webpack.

Actually, it looks like eslint-module-utils is also missing a dependency on eslint-import-resolver-node when it tries to require it, it can't find it unless its installed at the root level. Simply put, even though it is an explicit dependency of eslint-plugin-import, eslint-module-utils can't call require on it since is stored in a separate node_modules directory with NPM 2

Given that npm 2 doesn't even really work anymore, I think this can be closed.


Value written in start mileage / end mileage are not removable

There's something wrong with these two number fields - I can't remove value from them with delete or backspace. I can't remove digits, I can only add new ones. The only way of decreasing the value is to use the "arrow down" button, on the right side of the input box.

That seems strange and I couldn't reproduce it. What browser is it?

Firefox v60 (quantum)

https://stackoverflow.com/questions/49263039/backspace-not-working-in-firefox-in-input-field
That's funny.
It looks like firefox can't do this

Ok, this example works just fine. Since it's a quick fix I will do this in #361.


Bug: repo checker does not work on profiles with numbers

Describe the bug
The isOnRepo page checker got a false on this page:
https://github.com/a0m0rajab/VizeUygulamalari/
Steps to reproduce

go to the page
test the url matcher we have on the page
you got a false.

Browsers
Chrome
Additional context (Is this in dev or production?)
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Contributing Docs

[ ] I agree to follow this project's Contribution Docs

This is related to: #177

The isOnRepo check will be added by #177. It currently does not exist in the beta branch. So this isn't an issue but something that has to be worked on before the PR is merged.

This is related to the isOnGitHub  page, which was added before and it's been on beta, but it seems like the code was not used at all, but we have the tests on it. It's not related to new written functions.
https://github.com/open-sauced/ai/blob/98d068124a0c2e5e27a06b634b805a1711d9c255/src/utils/urlMatchers.ts#L35-L39

The beta branch does have a isGitHubRepoPage()  but not a isOnGithub function which is what this issue is about.

There seems to be a confusion here. What function is causing the issue? The one you linked is the isOnGithubRepoPage function and not the isOnGithub function you're referring to.

The issue happened with isGithubRepoPage, I changed the description text.
If you check the PR files: https://github.com/open-sauced/ai/pull/177/files
You can see that the isOnGitHub has nevvr been used. (yes, I will have to remove that later)

The issue is the URL you tested has a front slash at the end which is why it returns false. The regular expression could be tweaked to accept and optional front slash at the end of the URL.
export const isGithubRepoPage = (url: string) => {
-     const githubRepoPattern = /github\.com\/[^/]+\/[^/]+$/;
+     const githubRepoPattern = /github\.com\/[^/]+\/[^/]+\/?$/;
     return githubRepoPattern.test(url);
 };

Fron the JS console in devtools.
> const githubRepoPattern = /github\.com\/[^/]+\/[^/]+\/?$/;
< undefined
> githubRepoPattern.test('https://github.com/a0m0rajab/VizeUygulamalari/')
< true
> githubRepoPattern.test('https://github.com/a0m0rajab/VizeUygulamalari')
<true

As well, add a test for checking if it passes with the ending front end slash.

Thanks for the detailed analysis!

gonna go @nickytonline 's suggestion. removing the dollar sign takes care of the issue.
i do have another question though. Should that button to add to LinkedIn projects be available on all repo pages?
even if the user doesn't own that particular repo? its even available on the pull request and issues pages.
even on my github settings page.
what solution could we make for that?

uhh, facing issue with a test. apparently removing the dollar sign didn't work neither did the other solution.

What's the issue you're running into? You'll need to modify one of the tests from what I can tell since we no longer need to match until the end of the input.
- expect(isGithubRepoPage('https://www.github.com/username/repo/')).toBe(false)
+ expect(isGithubRepoPage('https://www.github.com/username/repo/')).toBe(true)

sorry for being unavailable. i don't have my laptop with me right now. I'll get to this tomorrow


Graceful handling of malformed RequestData Issue #120

When sending a request with empty JSON data we get JSONDecodeError with wsgi_client and AttributeError with async_client.
In the first case body is parsed into empty string, body.decode works fine but json.loads(decoded_body) fails.
In the second case body is parsed into None and we end up with AttributeError on body.decode().
Likewise, sending malformed data results in unhandled JSONDecodeError for both clients.
PR handles those cases to result in 400 response code and appropriate error message. Covered by tests.
https://github.com/encode/apistar/issues/120

Good stuff, yup. I'd rather that we don't have exception subclasses for this, but instead just create a general BadRequest for 400 errors. (Similar to the ValidationError class) We'll then pass explicit arguments to it.

Shall we perhaps use BadRequest where we previously used ValidationError and have only 1 exception with status 400?

Good stuff, thanks!


ReverseEnginer: Add support for custom datatypes and default values

I tried to reverse engineer the AdventureWorks 2008 database and got errors on custom datatype is SQL Server during reverse enginneer.
"Could not find type mapping for column 'Person.AddressType.Name' with data type 'Name'. Skipping column."
Reverse engineering also failed to create default value on Decimal datatype:
"For column Purchasing.ShipMethod.ShipBase unable to convert default value ((0.00)) into type System.Decimal. Will not generate code setting a default value for the property ShipBase on entity type ShipMethod."
This did work in EF6 and should also work in EF7!

@lajones - if a custom type is just an alias for a built-in type (i.e. it's a "user-defined data type" on SQL Server) then we should be able to scaffold it right? We just use the type mapper to get the CLR type for the property based on the underlying built-in type... and then specify the user-defined data type using the Fluent API.
CREATE TYPE [dbo].[Name] FROM [varchar](max) NOT NULL

@rowanmiller @natemcmaster  - re aliased data types - if they are well-known and only ever mean the same thing on different instances of SQL Server (e.g. Name always means varchar(max)) then it would be easy to hard-code them into the type mapper. But if we need to run a query to look up the underlying data types for aliased data-types on that particular instance then I would need to look into how that metadata works.
Re the decimal value - that's a bug - that looks like a perfectly well-defined decimal default value to me. I should investigate why the code is not picking it up.

These types are typically defined in a database / domain  specific manner as User Defined Data Types,
Example from AdventureWorks:

AccountNumber 	: NVARCHAR(15)
Flag			: BIT, NOT NULL
Name			: NVARCHAR(50)
OrderNumber	: NVARCHAR(25)
Phone			: NVRACHAR(25)

In my opinion EF should be able to map these directly to the actual type - not as an alias in the type mapping.

@lajones
The issue with default value is locale/globalization.
This fails:
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("nb-NO");
Convert.ChangeType("0.00", typeof(Decimal));

You must use the overload that specifies an IFormatProvider to make sure that the proper format is used.
In many cultures the decimal separator is "," and not "."

@jonnybee Cool. Thanks for debugging.
@rowanmiller Do we support UDTs at runtime?

@lajones - Need to distinguish between "User-Defined Types" and "User-Defined Data Types". The former we do not support, but the latter should just work since they are only aliases for built-in types that we already support. I think we just need to pull back some extra metadata to find out what they underlying type is.

@rowanmiller Yep - that was what I thought - but my reading of "should be able to map these directly to the actual type" from @jonnybee above is that he wants User-Defined Types - so sorry Johnny I don't think we'll be generating properties with e.g. fluent API saying entity.Property(e => e.SomeColumn).HasColumnType("user_defined_type") any time soon. However User-Defined Data Types producing e.g. entity.Property(e => e.SomeColumn).HasColumnType("underlying_system_type") might work. I'll look into what would be necessary. Have assigned it to me.

No. I do not expect to have mapping to the custom type but rather the actual underlying system type.

OK. Then just User-Defined Data Types. Will look into it.

@lajones @jonnybee it actually does work already. Obviously there is no way to specify the user-defined data types in the model and have EF create them for you. You can however specify them if you are mapping to an existing database... or it actually even works if EF is creating the schema for you and you already have the type defined in your database (or you modify your migration to create it for you using the Sql method).
I.e. this works
using Microsoft.Data.Entity;
using Microsoft.Data.Entity.Infrastructure;
using Microsoft.Data.Entity.Storage;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var db = new MyContext())
            {
                db.Database.EnsureDeleted();
                var creator = db.GetService<IRelationalDatabaseCreator>();
                creator.Create();
                db.Database.ExecuteSqlCommand("CREATE TYPE [dbo].[Name] FROM [nvarchar](max) NOT NULL");
                creator.CreateTables();

                db.People.Add(new Person { Name = "Bob" });
                db.SaveChanges();
            }
        }
    }

    public class Person
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }

    public class MyContext : DbContext
    {
        public DbSet<Person> People { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=People;Trusted_Connection=True;");
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<Person>().Property(p => p.Name).HasColumnType("Name");
        }
    }
}

BTW from the code listing above, here is the SQL issued from CreateTables()
CREATE TABLE [Person] (
    [Id] int NOT NULL IDENTITY,
    [Name] Name,
    CONSTRAINT [PK_Person] PRIMARY KEY ([Id])
);

Since there are really two distinct issues being discussed here, I'm making this one about the datatypes and opened https://github.com/aspnet/EntityFramework/issues/3941 to deal with the default value issue

@rowanmiller Interesting. So if the above code ...HasColumnType("Name") works, would you like Scaffolding to generate such code, or to generate as if the data type were the underlying system type?

@rowanmiller And how should scaffolding handle other constraints such as nullable/not nullable, length and precision on a UDDT?

length/precision/etc. are all implied by the data type. Given the scaffolded code would explicitly map to the user-defined data type I don't think there is any need to specify those as well (since they are just hints that are used to help the database pick a type and are ignored when you specify an explicit data type).
At least in SQL Server, it looks like nullability is handled the same as any other column and is separate from the data type you select - so that would be the same as all other columns.

@lajones we should generate the code that maps to the user-defined data type.

Checked in with commit 701f32e.

One more comment -  If you Try to map  Property to  boolean  and  database  column has  Custom BITTYPE(int) type.  The read  part is giving exception -  Invalid cast.
CREATE TYPE [dbo].[Name] FROM nvarchar NOT NULL
CREATE TYPE [dbo].[BITTYPE] FROM int NOT NULL
CREATE TABLE [dbo].[Person](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [dbo].[Name] NULL,
[IsValid] [dbo].[BITTYPE] NULL,
CONSTRAINT [PK_Person1] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

@josetonyin That seems like a different issue to me - so please raise another one. Please include the full definition of the TABLE including the columns, the model you are mapping to that, the query you are performing and the stack trace you see as a result. Thanks.


Show progress while downloading archive

Show progress while downloading archive

Sometimes on situations like slow network speeds or when download got stuck, it is difficult to interpret whats happening. showing a progress will help.
I am not sure whether to add ext. dependencies, hence added simple progress.
If it is okay to use ext. libraries. there are options like node-progress, cli-progress etc. I will replace the progress with it.

friendly ping @bpasero @eamodio

Apologies, I implemented this while housekeeping before I saw your PR.
It is not as pretty as yours, but functional

Apologies, I implemented this while housekeeping before I saw your PR.
It is not as pretty as yours, but functional


Search results incomplete

I can't find searching or browsing the same movies that I can find in my android or Sony TV Netflix. Even adding them to my list I can't see them. Some of those I can find if I change profile, but some are beyond my reach.

from my test works as always
but the results will change if:

You do not use same profile
You use an profile with age restrictions
You use a profile that have another language

if your device is always on 24/7 try in expert settings execute "Clear cache in memory"
otherwise i need a reproducible case

HI,
I will clear the cache, but I restart it once a day. Why the results should
be different in the firs case: different profile, same language, no age
restriction?
Thanks a lot,
Rafael
Em qui., 28 de mai. de 2020 às 03:34, Stefano Gottardo <
<EMAIL_ADDRESS>escreveu:

from my test works as always
but the results will change if:

You do not use same profile
You use an profile with age restrictions
You use a profile that have another language

if your device is always on 24/7 try in expert settings execute "Clear
cache in memory"
otherwise i need a reproducible case
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/CastagnaIT/plugin.video.netflix/issues/670#issuecomment-635136288,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA6LEMZHKIWVUYZHNR53ASTRTYAWVANCNFSM4NMSCU7A
.

Closed due to inactivity


fully_qualified_strict_types does not work with phpdoc

First of all i know it's not a bug or really an issue, but i would like to have it as a feature request.
Reason for that, is currently using this fixer, leaves code base in inconsistent state.
If i use fully_qualified_strict_types to transforms imported FQCN parameters and return types in function arguments to short version, i would also expect that if it can also transforms for the types that are mentioned within Phpdoc.
When reporting an issue (bug) please provide the following information:
The PHP version you are using ($ php -v):
=> 7.1.16
PHP CS Fixer version you are using ($ php-cs-fixer -V):
=> 2.10.0
If applicable, please provide minimum samples of PHP code (as plain text, not screenshots):

before running PHP CS Fixer (no changes):

/** @param \This\Is\Param\Namespace\User $x **/
public function beforePhpCsFixer(\This\Is\Param\Namespace\User $x, string $y): void
{
    // function body
}

with unexpected changes applied when running PHP CS Fixer:

/** @param \This\Is\Param\Namespace\User $x **/
public function beforePhpCsFixer(User $x, string $y): void
{
    // function body
}

with the changes you expected instead:

/** @param User $x **/
public function beforePhpCsFixer(User $x, string $y): void
{
    // function body
}

Thank you!

👍 for this feature. Btw, you have \This\Is\Param\Namespace\Use instead of \This\Is\Param\Namespace\User 😉

Updated it!

Just as a thought: should it be an option (but enabled by default)? I know people who prefer docs to always be FQCN even while code might use short version.

Definitely should be an option, the default behaviour of a fixer shouldn't be changed in minor releases.

Definitely should be an option

shouldn't be changed in minor

That thus depends on which version you target 😉 but I agree.
However, (in the case this feature gets built) enabling by default for next major, 👍 or 👎?

Thank you @ntzm and @dmvdbrugge for supporting my request.

Hello guys,
I opened PR that should address this thread as it add support for PHPDoc for the fully_qualified_strict_types fixer. Feel free to check it and add some comments, so there is a chance that it gets merged.
https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/5620

Thanks @Jadro007 after 2.5 years, i even forgot about this report :)


Adding Digital Ocean Deployment using Terraform

This PR introduces a new Terraform configuration that enables users to easily deploy a private AnythingLLM instance on DigitalOcean.

The 🐐 returns with another deployment PR. Thank you 🙏
Ping me in Discord for the Contributor role if you are in there - for sure earned it doing this stuff, IaC is such a headache sometimes.


Update lit-gpt reference

📚 Documentation
docs/source-fabric/examples/index.rst:45:    :button_link: https://github.com/Lightning-AI/lit-gpt/blob/main/pretrain/openwebtext.py

this needs to go or be updated
cc @borda

What is the problem here, as it is still a valid link...

That file will disappear very soon


Cleaning gridlines before rendering to fix gridline bug when reloading

Description

Adding cleaning logic to the grid lines in all bar charts
Motivation and Context

Fixes https://github.com/eventbrite/britecharts/issues/487
How Has This Been Tested?

Tested manually, ran tests
Types of changes

[ ] Refactor (changes the way we code something without changing its functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Created https://github.com/eventbrite/britecharts/issues/538 regarding this


[libSyntax] Fix a crash that happened when parsing an invalid type

When parsing an invalid type like [Stri?ng], the syntax parser would crash because it was trying to build an OptionalType but the second entry on the stack was no TypeSyntax but a TokenSyntax.
Fix this by checking if the second next node on the parsing stack is a TypeSyntax and if not, just push the nodes back onto the stack so that they can later be gathered into an unknown node.

@swift-ci Please smoke test


[amazon-rds-mysql] Update 8.0 and 5.7 EOL date

Dates from https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Concepts.VersionMgmt.html.

Trivial change, merging without review.


jruby install artifact url fails, times out, then skips to a different url

I'm not sure if this is clearly an rbenv issue or not. I tried installing jruby using rbenv by running
$ rbenv install jruby-<IP_ADDRESS>
Downloading jruby-bin-<IP_ADDRESS>.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/60598a465883ab4c933f805de4a7f280052bddc793b95735465619c03ca43f35

And it got stuck at that line. I checked network transfer in Activity Monitor to see if its really transferring data, it was not. Finally, after a very long time, ~15 to 20 mins — from what it felt, didn't actually measure, it times out and switches to a different URL. jruby from the second URL installs fine.
error: failed to download jruby-<IP_ADDRESS>.tar.gz
-> https://s3.amazonaws.com/jruby.org/downloads/<IP_ADDRESS>/jruby-bin-<IP_ADDRESS>.tar.gz
Installing jruby-<IP_ADDRESS>...
Installed jruby-<IP_ADDRESS> to /Users/detj/.rbenv/versions/jruby-<IP_ADDRESS>

So, is this really anything to do with rbenv, or should I report this bug to jruby ?
Also, it would be great, if someone could throw some light on who's actually managing the CloudFront account and how the fallback mechanism in rbenv install works.

Anyone has any insight on this?

Sorry for the late reply. The CloudFront mirror is ours and is managed by Basecamp, where Sam who created this project works. This sounds like it was a network glitch regarding the mirror. You could report this issue in the ruby-build project, which handles these downloads and installation, but since no other people are reporting this, I think this would be just an intermittent error. If this keeps biting you, please open an issue there!

Got that! Thanks @mislav


Use a package manager to handle JS dependencies

It's getting tough to handle all the different versions of the various JS libs. Additionally, since the tool is packaged as an extension and possibly use in organisations with stringent firewall rules, CDNs are not the answer.
The tool should use bower, npm or some alternative to handle external JS/CSS dependencies.

The tool now uses Bower for dependency management.


ERA5 precipitation seems off in Notebooks

Precipitation is extremely small in ERA5, with streamflow values essentially always tapering off to 0. Linear_transform has been set correctly, perhaps a problem with the hourly-->daily transform? Is precip being summed or averaged?

I know that with ERA5-land, precipitation is summed over hours and reset back to zero after 12 AM every day. This isn't the case for ERA5 precipitation. For more info: https://confluence.ecmwf.int/display/CKB/ERA5%3A+data+documentation

On the point of instantaneous or accumulated variables: https://confluence.ecmwf.int/display/CKB/ERA5%3A+data+documentation#ERA5:datadocumentation-Meanratesandaccumulations

Thanks, I see that ERA5 has hourly precip that must be summed, but I am wondering if that is the way Raven handles hourly to daily precip because the streamflow values are way too low with ERA5 vs the others, like an order of magnitude or more lower. @julemai  any thoughts?

I am guessing ERA is in UTC time. Is there a time shift used for the NetCDF variables? And maybe a unit conversion? Raven does take in subdaily inputs and automatically aggregates them to the simulation time step.
I could have a look tomorrow. Could you direct me to the specific notebook and outputs that are different?

Yes I am pretty sure we use the time shift for ERA5. Actually I was wondering how Raven agregates precipitation, for example ERA5 precipitation is cumulative over 24h (so it's a 24-step cumsum function that resets to 0 each midnight) and ERA5 is actual precip per hour. So I am guessing one of the two will crash if Raven doesn't know which it is being fed!
Problem with notebooks is that the ones used to compare ERA5 and NRCAN were updated and/or a dependency was updated and now they're not working anymore, but there's an issue open for that. I'll try and setup another independent experiment in the meantime to test this.

Raven has an option to deaccumulate forcings but it would expect that it accumulates for the whole time series and not only from midnight to midnight.

Let me know when there is a branch I can checkout and look into.

I am getting closer to this. I will likely dig deeper into this tomorrow. I might just properly implement add_offset and scale_factor into Raven. It is definitely a missing feature.

Fixed!
rv.py:
return ":LinearTransform {:.15f} {:.15f}".format(slope * sf, offset * slope + intercept)

instead of
return ":LinearTransform {:g} {:g}".format(slope * sf, offset * slope + intercept)

is doing the magic

Good catch !


make: makefile should go get linters

Closes #45

LGTM!
Tim's on vacation, ETA next week, I'd wait for his review :)

The builtin Mac OS make is GNU Make 3.81 which does not support .ONESHELL
It was introduced in GNU make 3.82 https://lists.gnu.org/archive/html/make-alpha/2010-07/msg00025.html
And hence, we can not use .ONESHELL without installing separate updated make. So, I dropped it.

This is a very good point!

At this point I'll just merge it. We're just playing review-ping pong at this point.
I don't think it's important to differentiate between tool and project dependencies in terms of downloading them. You'll need all of them either way. Verifying is probably more important in CI than locally, so I'll leave the verify goal in there, but not link it to anything.


[UPSTREAM]: Upstream the  changes in PR #804

https://github.com/intel/intel-xpu-backend-for-triton/pull/804

A simple decouple code change.
The PR to the public Triton is under review.
https://github.com/openai/triton/pull/3746

The PR has been merged to the public Triton.


M3-5610: Storybook for Radios

Description

Updates Storybook for the Radio component
Now uses mdx
Fixed padding on radio causing ripple to be a non-square size
Use makeStyles() in the<Radio /> component
Removed the error and warning variant

How to test

Check for regressions with <Radio />
View all Radio stories in Storybook (yarn storybook)

🔎 Preview
https://m3-5610-update-story-for-radio.manager-ec2.pages.dev/
Args Notes
It would be nice if Storybook automatically knew all of the types we generally extend in our own components (in this case all ButtonProps) so we don't have to manually populate the args. Seems like we're not the only ones having this issue. Typescript isn't inferring all prop types, so our args table is not completely populated with all possible props form MUI that can be used on the component 😕
This fix did not seem to work on my initial attempt
https://github.com/storybookjs/storybook/issues/12558
https://github.com/reactjs/react-docgen/issues/416
https://github.com/storybookjs/storybook/tree/next/addons/docs/react#typescript-props-with-react-docgen

🔎 Preview
https://m3-5610-update-story-for-radio.manager-ec2.pages.dev/


User/alexlam/42500021 dev 20230222

Creating a weekly build pipeline to automate regular running of static analysis (specifically binary analysis, as we are already running source analysis in all other build pipeline runs).
Most business logic in ProjectReunion-BuildFoundation.yml is extracted into new file WindowsAppSDK-BuildFoundation-job.yml, to be shared with new file WindowsAppSDK-Weekly.yml which is the entry point of the new weekly pipeline.
WindowsAppSDK-Weekly.yml is nearly the same as the refactored ProjectReunion-BuildFoundation.yml, other than that the former enables binary analysis by default, and the way they are being triggered.

The business logic in WindowsAppSDK-BuildFoundation-job.yml is nearly identical to that used to be in ProjectReunion-BuildFoundation.yml, except:
Upload of symbols to the public server is skipped (to avoid authentication failure, which might be fixed in future if needed) when running from WindowsAppSDK-Weekly.yml, because this step does not seem to contribute to the current goal of running static analysis.
PreFast in the set of Binary Analysis to be run is currently skipped, due to known bug 43206167.

How built:

will trigger buddy build.

How tested:

The following sample (all default) run of the new pipeline shows that binary analysis produced meaningful results, while PREFast is not being run:
https://dev.azure.com/microsoft/ProjectReunion/_build/results?buildId=65219026&view=results
The following sample (all default) run of the existing pipeline TransportPackage-Foundation-PR shows that binary analysis was not run, as usual:
https://dev.azure.com/microsoft/ProjectReunion/_build/results?buildId=65215433&view=results

A microsoft employee must use /azp run to validate using the pipelines below.
WARNING:
Comments made by azure-pipelines bot maybe inaccurate.
Please see pipeline link to verify that the build is being ran.
For status checks on the develop branch, please use TransportPackage-Foundation-PR
(https://microsoft.visualstudio.com/ProjectReunion/_build?definitionId=81063&_a=summary)
and run the build against your PR branch with the default parameters.
For status checks on the main branch, please use microsoft.ProjectReunion
(https://dev.azure.com/ms/ProjectReunion/_build?definitionId=391&_a=summary)
and run the build against your PR branch with the default parameters.

/azp run

/azp run

Please update the name build/WindowsAppSDK-Weekly.yml to build/ProjectReunion-BuildFoundation-Weekly.yml or something similar.
Original name implies we're building WindowsAppSDK as a whole

/azp run


Build error

Hi,
I am quite new to programming but i came accross EOS and I wanted to how it work etc. I am trying to build the code using the instructions in README file:
Using the WASM compiler to perform a full build of the project

The WASM_LLVM_CONFIG environment variable is used to find our recently built WASM compiler. This is needed to compile the example contracts insde eos/contracts folder and their respective tests.

git clone https://github.com/eosio/eos --recursive
mkdir -p eos/build && cd eos/build
WASM_LLVM_CONFIG=~/wasm-compiler/llvm/bin/llvm-config cmake ..
make -j4

But I am getting following error:

In file included from /home/marcin/eos/libraries/fc/include/fc/safe.hpp:2:0,
                 from /home/marcin/eos/libraries/fc/include/fc/io/raw_fwd.hpp:6,
                 from /home/marcin/eos/libraries/fc/include/fc/crypto/sha256.hpp:5,
                 from /home/marcin/eos/libraries/fc/include/fc/crypto/elliptic.hpp:4,
                 from /home/marcin/eos/libraries/fc/src/crypto/elliptic_common.cpp:2:
/home/marcin/eos/libraries/fc/src/crypto/elliptic_common.cpp: In function ‘fc::ecc::private_key_secret fc::ecc::detail::_get_curve_order()’:
/home/marcin/eos/libraries/fc/src/crypto/elliptic_common.cpp:88:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             FC_ASSERT( BN_num_bytes( order ) == bin.data_size() );
                                              ^
/home/marcin/eos/libraries/fc/include/fc/exception/exception.hpp:325:30: note: in definition of macro ‘FC_EXPAND_MACRO’
 #define FC_EXPAND_MACRO( x ) x
                              ^
/home/marcin/eos/libraries/fc/include/fc/exception/exception.hpp:332:11: note: in expansion of macro ‘UNLIKELY’
       if( UNLIKELY(!(TEST)) ) \
           ^
/home/marcin/eos/libraries/fc/src/crypto/elliptic_common.cpp:88:13: note: in expansion of macro ‘FC_ASSERT’
             FC_ASSERT( BN_num_bytes( order ) == bin.data_size() );
             ^
/home/marcin/eos/libraries/fc/src/crypto/elliptic_common.cpp:89:72: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             FC_ASSERT( BN_bn2bin( order, (unsigned char*) bin.data() ) == bin.data_size() );
                                                                        ^
/home/marcin/eos/libraries/fc/include/fc/exception/exception.hpp:325:30: note: in definition of macro ‘FC_EXPAND_MACRO’
 #define FC_EXPAND_MACRO( x ) x
                              ^
/home/marcin/eos/libraries/fc/include/fc/exception/exception.hpp:332:11: note: in expansion of macro ‘UNLIKELY’
       if( UNLIKELY(!(TEST)) ) \
           ^
/home/marcin/eos/libraries/fc/src/crypto/elliptic_common.cpp:89:13: note: in expansion of macro ‘FC_ASSERT’
             FC_ASSERT( BN_bn2bin( order, (unsigned char*) bin.data() ) == bin.data_size() );
             ^
/home/marcin/eos/libraries/fc/src/crypto/elliptic_common.cpp: In function ‘fc::ecc::private_key_secret fc::ecc::detail::_get_half_curve_order()’:
/home/marcin/eos/libraries/fc/src/crypto/elliptic_common.cpp:107:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             FC_ASSERT( BN_num_bytes( order ) == bin.data_size() );
                                              ^
/home/marcin/eos/libraries/fc/include/fc/exception/exception.hpp:325:30: note: in definition of macro ‘FC_EXPAND_MACRO’
 #define FC_EXPAND_MACRO( x ) x
                              ^
/home/marcin/eos/libraries/fc/include/fc/exception/exception.hpp:332:11: note: in expansion of macro ‘UNLIKELY’
       if( UNLIKELY(!(TEST)) ) \
           ^
/home/marcin/eos/libraries/fc/src/crypto/elliptic_common.cpp:107:13: note: in expansion of macro ‘FC_ASSERT’
             FC_ASSERT( BN_num_bytes( order ) == bin.data_size() );
             ^
/home/marcin/eos/libraries/fc/src/crypto/elliptic_common.cpp:108:72: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             FC_ASSERT( BN_bn2bin( order, (unsigned char*) bin.data() ) == bin.data_size() );
                                                                        ^
/home/marcin/eos/libraries/fc/include/fc/exception/exception.hpp:325:30: note: in definition of macro ‘FC_EXPAND_MACRO’
 #define FC_EXPAND_MACRO( x ) x
                              ^
/home/marcin/eos/libraries/fc/include/fc/exception/exception.hpp:332:11: note: in expansion of macro ‘UNLIKELY’
       if( UNLIKELY(!(TEST)) ) \
           ^
/home/marcin/eos/libraries/fc/src/crypto/elliptic_common.cpp:108:13: note: in expansion of macro ‘FC_ASSERT’
             FC_ASSERT( BN_bn2bin( order, (unsigned char*) bin.data() ) == bin.data_size() );
             ^
[ 53%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/network/ip.cpp.o
[ 53%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/network/url.cpp.o
[ 53%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/compress/smaz.cpp.o
[ 54%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/compress/zlib.cpp.o
[ 54%] Linking CXX static library libfc.a
[ 54%] Built target fc
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

I think i installed the dependencies correctly. Any idea what could be wrong?

@marcinch18 which OS are you using?

Linux Mint 18.1.

What is the best os to use Ubuntu 15.10 ?

@marcinch18 Here is a guid to install on Ubuntu: https://steemit.com/eoskorea/@clayop/eos-build-guide-on-ubunbu

Cheers mate. I will give it a go.

resolved:
see my update:
http://www.jianshu.com/p/f26ee4cf1d4a

Guide is spot on. It build successfully now i need to figure out how to execute my first contract. Thanks


Change Management Behavoir for Repositories

Currently when I include the class by enabling manage_repo, the epel Repo gets defined even when manage_epel is set to false. This collides with the following: https://forge.puppet.com/modules/puppet/epel

Currently params like manage_epel always manage the repository resource and manage_* enable or disable the repo. Rework to manage the resources and NOT to enable/disable repos.

Currently params like manage_epel always manage the repository resource and manage_* enable or disable the repo. Rework to manage the resources and NOT to enable/disable repos.

@fionera if you like you can test branch fix/manage-repos-6

@fionera if you like you can test branch fix/manage-repos-6

I currently have it set to my fork but since you took the same approach it should be fine :) Thank you

I currently have it set to my fork but since you took the same approach it should be fine :) Thank you

Ok, of course I did more. Especially the same for the other supported plattforms.
I will perform acceptence tests and build a release tomorrow or maybe later today.

Ok, of course I did more. Especially the same for the other supported plattforms.
I will perform acceptence tests and build a release tomorrow or maybe later today.

Thank you very much

Thank you very much


Water areas emerging from the sea are not displayed

Water areas emerging  from the sea are not showing; most of them are bordered by coastlines but do not appear on the map. This seems to be a data issue, or it would be good to also check the map styles. It appears this occurs in many places.
https://www.openhistoricalmap.org/#map=8/-0.818/-49.463&layers=O&date=1924-03-25&daterange=1824-01-01,2024-12-31

https://www.openhistoricalmap.org/#map=8/-33.911/-58.197&layers=O&date=1924-03-25&daterange=1824-01-01,2024-12-31

https://www.openhistoricalmap.org/#map=10/51.6248/3.9159&layers=O&date=1924-03-25&daterange=1824-01-01,2024-12-31

Similar issues, https://github.com/OpenHistoricalMap/issues/issues/708#issuecomment-1971703702

I have been adding some water bodies around Brazil, using OSM data as a basis. I think we can create a task in TM to ask the community for help, or at least we can work on the most important lakes and deltas that are missing.


Update test example

Please merge after https://github.com/pfnet-research/chainer-chemistry/pull/171
Each test example script is separated in this PR.
Also, cpu/gpu can be configured as a argument of shell script.

Codecov Report

Merging #188 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #188   +/-   ##
=======================================
  Coverage   76.64%   76.64%
=======================================
  Files          87       87
  Lines        3712     3712
=======================================
  Hits         2845     2845
  Misses        867      867

updated

I confirmed test script runs without error.


Interactions, Slash-Commands, and Buttons

Pull Request Etiquette

[x] I have checked the PRs for upcoming features/bug fixes.
[x] I have read the contributing guidelines.

Changes

[x] Internal code
[x] Library interface (affecting end-user code)
[ ] Documentation
[ ] Other: _____

Closes Issue: NaN
Description
This pull request adds support for Slash Commands and webhook execution.
Example: SlashBotExample
How can I test a preview of this?
Add this branch as a dependency through jitpack: How?
The snapshot would be com.github.dv8fromtheworld:jda:commit from jitpack. (replace commit with the latest commit hash in this PR)
In order to create guild commands you need the applications.commands scope authorized for that guild. So instead of scope=bot in your authorization URL, you must have scope=bot+applications.commands.
It is highly recommended to use guild-specific slash commands for testing as they can be updated a lot more frequently than global commands. Create a test guild and invite your bot with the aforementioned scopes, then use Guild#updateCommands.
What is possible?
TODO

[x] SlashCommandEvent and InteractionCreateEvent
[x] Creating Commands (global/guild)
[x] Deleting Commands (global/guild)
[x] Editing Commands (global/guild)
[x] Ephemeral messages
[x] Interaction webhooks
[x] Application Command Create/Update/Delete events
[ ] Slash Command Permissions
[x] Components aka Buttons
[x] Example (See SlashBotExample)
[ ] Documentation
[x] Checks
[ ] Outgoing Webhook support (interactions through webservers)

This is still in very early stages and needs a lot more polishing, just posting this to show some progress. I'm still very busy with other projects besides JDA for another month or so.

This is still in very early stages and needs a lot more polishing, just posting this to show some progress. I'm still very busy with other projects besides JDA for another month or so.

Here is my current testing code in kotlin which abuses MethodHandles to provide a simpler implementation:
// This is just a helper class to allow using method names as commands
open class CommandManager : EventListener {
    private val lookup = MethodHandles.lookup()
    private val methods = mutableMapOf<String, MethodHandle>()
    private val type = MethodType.methodType(Void.TYPE, SlashCommandEvent::class.java)

    override fun onEvent(event: GenericEvent) {
        if (event !is SlashCommandEvent)
            return

        try {
            val name = event.name.toLowerCase()
            val method = methods.computeIfAbsent(name) {
                lookup.findVirtual(this.javaClass, name, type)
            }

            method.invokeWithArguments(this, event)
        } catch (ignored: NoSuchMethodException) {}
    }
}

class Moderation : CommandManager() {
    fun ping(event: SlashCommandEvent) { // function name = command name
        event.thread.editOriginal("Test followup 1").setEphemeral(true).queue()
        event.thread.editOriginal("Test followup 2").setEphemeral(true).queue()
        event.thread.editOriginal("Test followup 3").setEphemeral(true).queue()
        event.thread.editOriginal("Test followup 4").setEphemeral(true).queue()
        event.thread.editOriginal("Test followup 5").setEphemeral(true).queue()
        event.thread.editOriginal("Test followup 6").setEphemeral(true).queue() // This is actually rate limited (major parameter is the APPLICATION ID here, pretty insane imo)
        event.reply("Test reply").setEphemeral(true).queue() // You can queue up followups before even acknowledging the command! They just execute after, so there is no need for callbacks!
    }

    fun kick(event: SlashCommandEvent) {
        val userOption = event.getOptionsByName("user").first()
        // Can be resolved to either user
        event.reply("This would kick ${userOption.asUser?.asTag}! [Button to accept would be here]").setEphemeral(true).queue()

        // Or to member! It will just be null if the user isn't a member of the server...
        userOption.asMember?.kick()?.queue {
            event.thread.sendMessage("User was kicked successfully!").setEphemeral(true).queue() // This will send *after* the previous callback completes
        }
    }
}

As you can see, the callbacks are not necessary anymore due to the way I delay followup calls with the new TriggerRestAction that can be triggered later.

I'm adding interaction_token as a new major parameter. The follow-up webhook endpoints use the interaction id internally to identify the rate limit bucket. This id is not present in the endpoint itself so we use the token instead.
In order to keep logs clean, I use String#hashCode to calculate a relatively unique integer instead. Since these tokens are not generated by user input they can use the simple hash function provided by String#hashCode rather than a more expensive cryptographic alternative. The raw interaction_token is a very long string that would make the logs unreadable and fill them with useless information. In my testing, that token had up to 212 characters. (>.>)
Justification: discord/discord-api-docs#2701

Buttons are now available on all guilds: https://support.discord.com/hc/en-us/articles/1500012250861-Bots-Buttons

The message builder constructor currently does not copy the action rows. Is this intended?

also can't seem clear the embed when editing via deferEdit

The correct way is doing setEmbeds(Collections.emptyList()). If that doesn't work, it's still a discord bug at this time.

The complete documentation can be viewed on jitpack: https://javadoc.jitpack.io/com/github/dv8fromtheworld/jda/1b8f559/javadoc/index.html

I've implemented support for command permissions in the most recent commit. I call them CommandPrivilege here to avoid confusion with the similar named Permission system used for roles and overwrites.
I haven't really tested the implementation of this much since I think permissions are bad and annoying to use, but if you find any issues please let me know!

It appears the button gets removed if you do Message#editMessage(MessageEmbed) but not if you do Message#editMessage(Message)
Considering content persists in editMessage(MessageEmbed) I would assume that buttons do (and you can't add buttons to MessageEmbed)
/* - Button is kept in this code
final Message sent = e.getChannel().sendMessage(new MessageBuilder()
    .setContent("123")
    .setActionRows(ActionRow.of(
        Button.primary("test", "Testing 123")
    ))
    .build()
).complete();

sent.editMessage(new MessageBuilder(sent).setContent("456").build()).complete();
 */

// Button is removed in this code
final Message sending = new MessageBuilder()
    .setContent("content")
    .setEmbed(new EmbedBuilder().setDescription("123").build())
    .setActionRows(ActionRow.of(
        Button.primary("test", "Testing 123")
    ))
    .build();
final Message sent = e.getChannel().sendMessage(sending).complete();

sent.editMessage(new EmbedBuilder().setDescription("456").build()).complete();

e.reply("did it remove the button?").queue();

@WalshyDev should be fixed in a2ad487

Confirmed it's fixed, appreciate the quick patch :+1:

Can we overload the OptionData constructor to include the requirement parameter to help cut down on clutter when using varargs?
public OptionData(@Nonnull OptionType type, @Nonnull String name, @Nonnull String description, @Nonnull boolean isRequired)    {
       Checks.notNull(type, "Type");
       Checks.notEmpty(name, "Name");
       Checks.notEmpty(description, "Description");
       Checks.notLonger(name, 32, "Name");
       Checks.notLonger(description, 100, "Description");
       Checks.matches(name, Checks.ALPHANUMERIC_WITH_DASH, "Name");
       Checks.isLowercase(name, "Name");
       this.type = type;
       this.name = name;
       this.description = description;
       this.isRequired = isRequired;
       if (type.canSupportChoices())  choices = new LinkedHashMap<>();
}

Hello, the Command class are not mapping groups, subcommands and options correctly, this is my testing code:
jda.upsertCommand(
    CommandData("test", "A test command")
        .addSubcommands(
            SubcommandData("testsubcommand", "A test subcommand")
                .addOption(OptionType.STRING, "text", "A text option")
        )
).complete()

for(command in jda.retrieveCommands().complete()) {
    println("Command: ${command.name}")
    for(subCommandGroup in command.subcommandGroups) {
        println("|--> SubCommandGroup: ${subCommandGroup.name}")
        for(subCommand in subCommandGroup.subcommands) {
            println("     |--> SubCommand: ${subCommand.name}")
            for(subOption in subCommand.options) {
                println("           |--> Option: ${subOption.name} | TYPE=${subOption.type}")
            }
        }
    }
    for(subCommand in command.subcommands) {
        println("|--> SubCommand: ${subCommand.name}")
        for(subOption in subCommand.options) {
            println("     |--> Option: ${subOption.name} | TYPE=${subOption.type}")
        }
    }
    for(option in command.options) {
        println("|--> Option: ${option.name} | TYPE=${option.type}")
    }
}

This is the printed message:
Command: test
|--> SubCommandGroup: testsubcommand
     |--> SubCommand: text
|--> SubCommand: testsubcommand
     |--> Option: text | TYPE=STRING
|--> Option: testsubcommand | TYPE=SUB_COMMAND

Probably the expected message would be:
Command: test
|--> SubCommand: testsubcommand
     |--> Option: text | TYPE=STRING

@Wirlie should be fixed in 757de9b

Is there any info on component type 3 (drop-down)?

Selection menus (type 3) are currently in private beta and will not be part of this pull request.

Some notes from my testing:

Only 10 privileges may be added (at a time?). Got a BASE_TYPE_MAX_LENGTH must be 10 or fewer in length.
APPLICATION_COMMAND_PERMISSIONS_UPDATE still seems to be unhandled
I could not, for the life of me, get CommandPrivilege.enableUser(String userId) to work. Added my User ID and still couldn't run the command. Added a role I had and it worked fine.
Can we get a way to clear commands in a Guild? It's undocumented, but if you PUT api/v8/applications/{applicationId}/guilds/{guildId}/commands it clears all commands.

Can we get a way to clear commands in a Guild? It's undocumented, but if you PUT api/v8/applications/{applicationId}/guilds/{guildId}/commands with a body of [] it clears all commands.

I think this is possible when queueing an empty CommandUpdateAction

I could not, for the life of me, get CommandPrivilege.enableUser(String userId) to work. Added my User ID and still couldn't run the command. Added a role I had and it worked fine.

Works fine for me:
    val guild = jda.getGuildById(guildId)
    guild.upsertCommand("test", "Disabled?")
           .setDefaultEnabled(false)
           .flatMap {
               guild.updateCommandPrivileges(it.id, listOf(enableUser(86699011792191488)))
           }
           .queue()

APPLICATION_COMMAND_PERMISSIONS_UPDATE still seems to be unhandled

That event seems to be undocumented so I won't support it.

I could not, for the life of me, get CommandPrivilege.enableUser(String userId) to work. Added my User ID and still couldn't run the command. Added a role I had and it worked fine.

Works fine for me:
    val guild = jda.getGuildById(guildId)!!
    guild.upsertCommand("test", "Disabled?")
           .setDefaultEnabled(false)
           .flatMap {
               guild.updateCommandPrivileges(it.id, listOf(enableUser(86699011792191488)))
           }
           .queue()

Is it possible to send this along with the command data so we can chain it?

The following code produces an exception.
guild.upsertCommand(
        CommandData("test", "A test command")
            .setDefaultEnabled(false)
    )
    .flatMap {
        it.delete()
    }
    .queue()

09:53:48.704 ForkJoinPool.commonPool-worker-3   RestAction      ERROR  Encountered error while processing success consumer
java.lang.IllegalArgumentException: Error Compiling Route: [applications/{application_id}/guilds/{guild_id}/commands/{command_id}], incorrect amount of parameters provided.Expected: 3, Provided: 2
	at net.dv8tion.jda.internal.requests.Route.compile(Route.java:336)
	at net.dv8tion.jda.api.interactions.commands.Command.delete(Command.java:103)
	at me.duncte123.eduard.listeners.Listener$onEvent$1.apply(Listener.kt:61)
	at me.duncte123.eduard.listeners.Listener$onEvent$1.apply(Listener.kt:33)
	at net.dv8tion.jda.internal.requests.restaction.operator.FlatMapRestAction.supply(FlatMapRestAction.java:44)
	at net.dv8tion.jda.internal.requests.restaction.operator.FlatMapRestAction.lambda$queue$0(FlatMapRestAction.java:54)
	at net.dv8tion.jda.api.requests.Request.lambda$onSuccess$0(Request.java:95)
	at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1429)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1016)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1665)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1598)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

Is it possible to send this along with the command data so we can chain it?

No.

Could you add OptionData#addOptionData or something similar?
Otherwise setting an option data with the type of SUB_COMMAND would be completely useless

Otherwise setting an option data with the type of SUB_COMMAND would be completely useless

That is intentional, you should use addSubcommands instead.

I can't seem to be able to remove the action row from a message. If I want to remove all buttons, whilst editing my message, how would I go about doing that?

You should use setActionsRows(Collections.emptyList()) @cbyrneee

You should use setActionsRows(Collections.emptyList()) @cbyrneee

Awesome that works, thank you for the response!


Support small resolutions

Describe the bug
On small screen resolutions, the winutils window opens too high up which puts the title bar off screen.
To Reproduce

Go to System > Display in Settings.
Decrease Display resolution. (Mine is 1366 x 768)
Launch winutil

Expected behavior
Because the window is responsive and does scale, the best option would be to start it maximized (at least on small screens).
Another option would be to clamp the starting position to prevent it from going off-screen.

Screenshots

Added fix


Notifications for PIM for Groups

I have the eligable owner role on tenant root group scope.
If someone activates an Azure resource role I receive a notification as it is documented for 'When a role activation request is completed' under section 'Notifications for Azure resource roles':
Notifications for Azure resource roles
Privileged Identity Management sends emails to Owners and User Access Administrators when the following events occur for Azure resource roles:

When a role assignment is pending approval
When a role is assigned
When a role is soon to expire
When a role is eligible to extend
When a role is being renewed by an end user
When a role activation request is completed

However for PIM group as an eligable Owner of the tenant root group I do not get any notifications when someone else activates the member of owner role despite the documentation:
Notifications for PIM for Groups
Privileged Identity Management sends emails to Owners only when the following events occur for PIM for Groups assignments:

When an Owner or Member role assignment is pending approval
When an Owner or Member role is assigned
When an Owner or Member role is soon to expire
When an Owner or Member role is eligible to extend
When an Owner or Member role is being renewed by an end user
When an Owner or Member role activation request is completed

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

ID: f5a932ce-6046-f6a9-9b85-188c8530174c
Version Independent ID: 196cb921-fbf8-6819-e0e2-8cd03fda4505
Content: Email notifications in Privileged Identity Management (PIM) - Microsoft Entra ID Governance
Content Source: docs/id-governance/privileged-identity-management/pim-email-notifications.md
Service: entra-id-governance
Sub-service: privileged-identity-management
GitHub Login: @barclayn
Microsoft Alias: barclayn

@neok-g
Thanks for your feedback! We will investigate and update as appropriate.

@neok-g
Thank you for bringing this to our attention.
I've delegated this to content author @barclayn, who will review it and offer their insightful opinions.

@barclayn
Please review it, and update document as appropriate.

@neok-g Thank you for your feedback. We have created a work item to investigate and address. #please-close


[Silent Launch] Release automation: push to PyPI on release

Completed in #160 and subsequent PRs.


Publish to Maven Central

Gradle instructions: https://central.sonatype.org/publish/publish-gradle/
Requires #4 (Registration) to be complete

We've arrived! https://search.maven.org/artifact/so.dang.cool/z


refactor prompts to be in separate txt files, add replacement parser

Create a replacement parser; this will a. give us a (hopefully better!) format to try, and b. let us see what logic between parsers/streamers can be abstracted.
TODO:

[x] Abstract most of streaming between blockparser and replacementparser to make it much easier to create new parsers
[x] Create tests for replacementparser
[x] Create model error handling and error tests for replacementparser
[x] Resolve added TODO's

Almost completely done! Only things left to do are add error handling for the new replacement parser, add tests for the replacement parser, and thoroughly QA everything. Below I've listed both the changes in actual functionality and a couple of things I don't like about my refactoring that maybe somebody else has some thoughts on.
Changes to functionality:
If the model messes up a change in the middle of it's response (messing up json or not giving line numbers for example), instead of only throwing out that one and keeping the ones both before and after it, we now only keep the changes before that one. I've never seen the model make a mistake like that before, so I think it's all ok, and would be too much work to keep this in.
We no longer print the entire contents of the file when the model deletes it; I can easily undo this, but I think this looks a lot cleaner. Let me know what you think!
Things about my code refactoring that I don't like:
The way I pass information to _add_code_block; since the subparsers have to both return information before the model finishes the code block (for streaming), and have to add the completed code block after the model finishes streaming it, it's a bit weird; in order to reduce the amount of duplicated parsing code you have to write per new parser, I pass both the DisplayInformation and FileEdit to _add_code_block, so the parser can use any information those have. Right now, the parser just pulls the starting and ending line from DisplayInformation, which feels weird to me, but I'm not sure of a better way to do it.
The rename map; whenever the model tries to edit a file it renamed earlier, we want to map that edit to the file it was renamed from (but hasn't actually renamed yet). When we're processing the special lines containing the filename, we have to also get the file lines for the DisplayInformation so that we can display the change as it streams; however, getting the file lines with the rename map is messy. Right now, I pass the rename map to the subparser, and the subparsers just call a function in the superclass to get the file names using the rename map; I don't like this, but I couldn't figure out a better way to do it.

One more thing I'm wondering about is how we want the user to select the parser; do we even want them to be able to select it? I think it's good that we can easily switch between them in the code to determine which one is best, but I don't think the user should have to care what parser is being used.

One more thing I'm wondering about is how we want the user to select the parser; do we even want them to be able to select it? I think it's good that we can easily switch between them in the code to determine which one is best, but I don't think the user should have to care what parser is being used.

I think the config is a good place to put settings we want to be able easily change but most users shouldn't care about

I think the config is a good place to put settings we want to be able easily change but most users shouldn't care about

You're right, the config would be perfect. Thanks!

Looks good at a high level, I'm interested to see you iterated on the format / prompt to see how good it can be!

I like the direction. This isn't working for me right now though. When I run with the block format I always get "Error: Model output malformed edits" and when I run the replacement format with the prompt "replace all instances of the word mentat with test" on the Readme it doesn't replace the line. It duplicates it with the replacement in the first line. The second one is possibly gpt failing not Mentat per se, not sure. But the prompt was working with the block format earlier.

Your last commit fixed the "malformed edits" problem. Now both edit formats are inserting instead of replacing for me.

Your last commit fixed the "malformed edits" problem. Now both edit formats are inserting instead of replacing for me.

Is it still bugged, or is it a model problem? I thought I fixed all the bugs in my last commit, but I definitely might've missed some

Your last commit fixed the "malformed edits" problem. Now both edit formats are inserting instead of replacing for me.

Is it still bugged, or is it a model problem? I thought I fixed all the bugs in my last commit, but I definitely might've missed some

It must have been a gpt fluke. It's working now for both formats. Thanks!

(close was a misclick, sorry)

Some tests now fail if the user sets a format in their config. I'm not sure what the best fix is. Maybe we should have the ConfigManager detect if it's in a test environment and not load the user config like you did in this pr?

Hmm, I agree the user config shouldn't be loaded in a test environment; rather than changing the actual config manager, how about we just mock the user config in tests? We can still test things using the project and default config, but there shouldn't be any reason to need to test something using the user config specifically so I would be fine with always mocking that in tests.

Looks good!
I wonder if the prompts should be split into shared and non-shared parts?

I think it's too much work for too little gain, not to mention that we probably want the prompts to be individually tweaked.

I do think if we want to adopt the replacement format as our default we'll have to handle filenames with ' ', + and -. Maybe with quotes. But it seems premature to optimize right now

I agree with @jakethekoenig, before making it the default parser (if it performs well enough) lets think more carefully about issues like spaces, +, -, etc


HTTP client: Support for expect-continue (Expect: 100-continue)

Self-quoting from our server-side implementation: https://github.com/reactphp/http/issues/109#issuecomment-278958298

Thanks for filing this ticket and sparking the discussion about our expect-continue feature (Expect: 100-continue) :+1:
First things first, here's how this works in the first place:

This feature is specified as part of HTTP/1.1: https://tools.ietf.org/html/rfc7231#section-5.1.1
Clients MAY implement this feature but are not required to do so
Severs MAY implement this feature but are not required to do so
If the client includes a Expect: 100-continue header, the server MAY return an intermediary HTTP/1.1 100 Continue response after receiving the request headers, which causes the client to start transmitting the actual message body
If the client includes a Expect: 100-continue header, the server MAY reject the request with any "normal" error response message, which means the client never has to transmit the message body at all
Clients MUST support servers that do not implement this feature. This usually adds a few seconds of delay where the client waits for the intermediary HTTP/1.1 100 Continue response
Many common clients actually implement this feature when sending large requests only (usually a few KiB or MiB)

This means that it makes sense to automatically use this for certain requests, but we should probably provide an option to turn this off.

I still think that this feature makes perfect sense :+1: However, there are currently no immediate plans to build this from my end (no demand at the moment and more important outstanding issues currently), so I'm closing this for now.
We welcome contributions, reach out if you want to support this project :+1:


Model name not preserved when opening .bim file

Does Tabular Editor table note of the model name when importing .bim files?
I opened a .bim file and deployed to AAS and it renamed the model to "model"
Repro:

Open an existing .bim file that had been created in Visual Studio
Add a table column
Deploy to AAS
Scripted out the deployed model and noted it was missing the database.model.name property altogether (which I guess names the model "model")
opened the .bim again in Tabular model and noted that the model is called "model", not what it was called in Visual Studio
Manually set the model name property to the correct model name in Tabular Editor and redeploy and everything works again.

Lesson learnt: there's no reason to rename the model in the first place. Just leave the model named the default:  "Model"!!

I checked the original source code and the model name wasn't there either! It turns out it was in the solution configuration. Anyway I've set he model name in the .bim file now so it should no longer be a problem.


Design Changes 19.2.2022

These are very necessary:

Make search bar consistent with the rest of the interface.
Make search bar take entire page width

When making these changes, commit to the beta branch for in-depth testing.

These changes are being postponed, we are now focusing on the changes and bug fixes that kccuber is writing and committing.

unlocked

Sovled by #19 I think


Mention bicep and terraform as prereqs

Mention bicep and terraform as prereqs in CONTRIBUTING.md

Thanks for helping keep this up to date, Wei!


fix: unable to navigate by prefetch on A/B test target paths

Codecov Report

Merging #144 (5401d21) into main (3c2a3e6) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main      #144   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         4
  Lines           79        80    +1
  Branches        36        34    -2
=========================================
+ Hits            79        80    +1

Impacted Files
Coverage Δ

src/middleware.ts
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Add date, time, and date-time validators as well as Carthage support

This PR adds:

Validators for date, time, and date-time. These validators for the RFC 3339 standard.
Carthage support

I'm not sure that the formats used here for date-time, date, time match what is specified in the relevant specifications. Could you please enable the tests for these formats so we can see what the test suite will say. Just need to remove the lines in the relevant "excluding" block for each validator and then the test suite will verify them from https://github.com/json-schema-org/JSON-Schema-Test-Suite/blob/master/tests/draft2019-09/optional/format/date-time.json and co:
https://github.com/kylef/JSONSchema.swift/blob/master/Tests/JSONSchemaTests/JSONSchemaCases.swift#L103-L104 https://github.com/kylef/JSONSchema.swift/blob/master/Tests/JSONSchemaTests/JSONSchemaCases.swift#L114
https://github.com/kylef/JSONSchema.swift/blob/master/Tests/JSONSchemaTests/JSONSchemaCases.swift#L137-L138 https://github.com/kylef/JSONSchema.swift/blob/master/Tests/JSONSchemaTests/JSONSchemaCases.swift#L149


Injective Asset Updates Automated

Scope

Created this issue to restart a convo as a follow-up to a previous PR. The outcome of the closed PR was that Injective agreed to automate the addition of token metadata to your chain/injective/assets.json file. The automation script will live within injective's open-source injective-ts repo.

Sandbox environment

forked injective-ts and added the script, which can be found here
forked cosmostation/chainlist and ran the automation script from injective-ts, which opened a test PR to the forked cosmostation/chainlist repo

Limitations of the script

script will not replace any existing assets in the chain/injective/assets.json except for adding a coingeckoId if not present. Otherwise, the script ONLY appends new assets to chain/injective/assets.json
cant guarantee the origin_chain will always have a value since we don't always have this on our end. Please check this when reviewing each PR to cosmostation, if it's a required field
can't get origin_type as we do not store that info in injective-ts hardcoded assets list
please check if decimals and coingeckoId are included on the new assets added in the PR to cosmostation, as we need those for defillama calc. else, please add if possible
cannot get image property
script does not yet support the additional ibc or bridge token type properties of an asset for now as I'm trying to keep it simple. If needed, please add manually for now

Todo

please review the example PR and see if the file changes are formatted properly enough. I understand y'all may have to add additional properties on these automated PR's, but I hope it's at least better than having to do them all from scratch. Also, the first PR we make using this approach will obviously have many assets to add, like in example PR. But, all subsequent PR's should be much easier
After the script is deemed to be producing adequate metadata for you guys, I will move the script over to our canonical injective-ts repo and use it to create a PR to the canonical cosmostation/chainlist repo
happy to hear any thoughts or improvements y'all may have

Thank you for providing the follow-up on the Automation script to make the PR process easier.
Our development team has read the Issue opened on the chainlist and we are a bit skeptical about using the Automcaiton script because by looking at the limitation, script itself does not ensure to include all of the data that requires for us to operate products and services.
Therefore, even with the automated processes, human verification is still required, making it necessary for us to regularly undertake this take. So, we would still like to ask the team to submit the PR on the assets that the team would like to add. For the urgent ones, like last time, please inform us through the telegram so that we can work on it as quickly as possible.


[3598] Add additional_dttp_data field to trainees

Context
We have some data that comes in from DTTP but isn't currently supported with our functionality. e.g. TRNs that have state info in them rather than TRNs or initiatives that we don't recognise as initiatives.
To enable us to proceed with the imports without losing this we should store these things in a column that has a flexible schema. If we need them in the future we can make proper columns for them.
Changes proposed in this pull request

Add additional_dttp_data jsonb field into the trainees table

Guidance to review

Checkout the branch and run migration, see no errors
Check the naming is correct i.e. no spelling error
Check trainees table additional_dttp_data field looks as expected

Important business

Does this PR introduce any PII fields that need to be overwritten or deleted in db/scripts/sanitise.sql?
Does this PR change the database schema? If so, have you updated the config/analytics.yml file and considered whether you need to send 'import_entity' events?

 [S] Add additional_data field to trainees

Does this PR introduce any PII fields that need to be overwritten or deleted in db/scripts/sanitise.sql?

I think we should be adding this field to the sanitise script, since there is a significant chance of it containing some sort of PII, eg TRN.

@archferns good spot, I'll have a look at doing this - in sanitise.sql would you suggest the additional_dttp_data should be set to null or something else?
Also should I update the config/analytics.yml with this field?

@HettieS null is probably the safest value.
I don't think we need to change the config/analytics.yml at the moment :+1:


Feature mobile emulator run browser

Added capability to run the test cases on mobile emulator of browser. This code introduced 2 new system properties
1. mobileEmulator
2. customMobileEmulator
mobileEmulator --> if we set this system property then the test cases will run in mobile emulator of browser. e.g -DcustomMobileEmulator=true
along with this property, user also needs to set the desired deviceName as system property. e.g -DdeviceName="iPhone 12 Pro"
Example --> mvn clean verify -Dtags=@test -DmobileEmulator=true -DdeviceName="iPad Mini". This will open chrome browser with given mobile emulator.
customMobileEmulator -->  Sometime user wants to run the test cases of customize configuration such as width=300 and hight=900.
So if we want to run the test cases on custom configuration then run following command
mvn clean verify -Dtags=@test -DmobileEmulator=true -DcustomMobileEmulator=true -Dwidth=300 -Dheight=900

Confirmations needed:
Since the framework already pulls up Chrome as mobile browser if -Ddevice=android and safari if -Ddevice=iphone.
Does the above capability fulfills this PR or is the scope different from this capability?

@Naumansh  -Ddevice=android will run the test cases on connected android device.
I am trying to achieve something different. e.g Mobile view of a website inside the chrome browser.
Sharing the screenshot to give better visual.

Make sense.
One question: We already have parameter "-DbrowserMode" which is used to set a browser to incognito etc. Is it possible to use this parameter instead of mobileEmulator. We can use it like -DbrowserMode=mobile. Probably its also residing in EnvironmentFactory to be called in.
This is suggested since it will place our capability within existing param.
Also we need to add this info in README.md under "Other Options" --> "Browser Mode"

Okay… let me see it.
On Sun, 5 Feb 2023 at 9:32 PM, Nauman Shahid @.***>
wrote:

Make sense.
One question: We already have parameter "-DbrowserMode" which is used to
set a browser to incognito etc. Is it possible to use this parameter
instead of mobileEmulator. We can use it like -DbrowserMode=mobile.
Probably its also residing in EnvironmentFactory to be called in.
This is suggested since it will place our capability within existing param.
Also we need to add this info in README.md under "Other Options" -->
"Browser Mode"
—
Reply to this email directly, view it on GitHub
https://github.com/testing-blaze/testingblazeframework/pull/74#issuecomment-1418085489,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADJK4LMVFM5GQH7OX4GVBTDWV7FJDANCNFSM6AAAAAAURJNUZA
.
You are receiving this because you authored the thread.Message ID:
@.***>

@Naumansh  I have updated the PR as per our discussing and used existing system property i.e browserMode to run the test cases in mobile view in browser.


kafka data join a dimension table give wrong aggregation result

I have a test about mockStream kafka data and join a dimension table but the aggregation result is wrong :
set streamName="streamExample";
connect jdbc where
driver="com.mysql.jdbc.Driver"
and url="jdbc:mysql://<IP_ADDRESS>:3306/test"
and user="---"
and password="---"
as mysql1;
set data='''
{"key":"yes","value":"no","topic":"test","partition":0,"offset":0,"timestamp":"2008-01-24 18:01:01.001","timestampType":0}
{"key":"yes","value":"no","topic":"test","partition":0,"offset":1,"timestamp":"2008-01-24 18:01:01.002","timestampType":0}
{"key":"yes","value":"no","topic":"test","partition":0,"offset":2,"timestamp":"2008-01-24 18:01:01.003","timestampType":0}
{"key":"yes","value":"no","topic":"test","partition":0,"offset":3,"timestamp":"2008-01-24 18:01:01.003","timestampType":0}
{"key":"yes","value":"no","topic":"test","partition":0,"offset":4,"timestamp":"2008-01-24 18:01:01.003","timestampType":0}
{"key":"yes","value":"no","topic":"test","partition":0,"offset":5,"timestamp":"2008-01-24 18:01:01.003","timestampType":0}
''';
set dim='''
{"key":"yes","value1":"ks"}
''';
load jsonStr.data as kafka1;
load jsonStr.dim as dim;
-- convert table as stream source
load mockStream.kafka1 options
stepSizeRange="0-3"
as newkafkatable2;
select dim.value1 as k, count(newkafkatable2.value) as c from newkafkatable2 left join dim on dim.key = cast(newkafkatable2.key as string) group by k as table22;
-- save the data to mysql.
save append table22
as streamJDBC.mysql1.test1
options mode="Complete"
and driver-statement-0="create table if not exists test.test1(k TEXT,c BIGINT)"
and statement-0="insert into test.test1(k,c) values(?,?)"
and duration="3"
and checkpointLocation="/tmp/cpl4";
I think the result write to mysql should be :
ks  6
but I got :
ks 19

sorry , I found maybe thereis some cached value cause the wrong result .


pcnscfg.exe usage

Documentation on this page should include examples for using pcnscfg.exe.

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

ID: 743703aa-1f15-472a-d5f3-972cfd19f324
Version Independent ID: ad1e4184-0c88-f18b-1fa9-67fe3767d988
Content: Deploy the password change notification service
Content Source: MIMDocs/deploying-mim-password-change-notification-service-on-domain-controller.md
Product: microsoft-identity-manager
GitHub Login: @billmath
Microsoft Alias: billmath

The following issue is being closed due to the age. If this is still an issue, please re-submit this. Thank you.
#please-close


[release-0.24] Upgrade to latest dependencies

bumping webhooks -dprotaso
/cc knative-sandbox/networking-wg-leads
/assign knative-sandbox/networking-wg-leads
Produced by: knative-sandbox/knobots/actions/update-deps
Details:
bumping knative.dev/pkg dd0db4b...953af01:
  > 953af01 [release-0.24] allow unknown metadata fields (# 2255)
  > 03e7ca5 Drop redundant pointers and decoders (# 2260)
bumping knative.dev/networking 53f45d6...4ee76ca:
  > 4ee76ca upgrade to latest dependencies (# 500)

noop


Allow empty files

Currently, this logic:
https://github.com/akuleshov7/ktoml/blob/cc6e05a5af8c93443a962e84807205b3204db9fd/ktoml-core/src/commonMain/kotlin/com/akuleshov7/ktoml/decoders/TomlMainDecoder.kt#L180-L183
forbids the parsing of empty files.
First, consider the official TOML ABNF: https://github.com/toml-lang/toml/blob/1.0.0/toml.abnf. This format definition allows an empty file through a single expression consisting of white space (ws) of zero characters (*wschar).
Second, as far as this library is concerned, if all my properties have default values then an empty parse should return the default instance.
@Serializable
data class Foo(val name: String = "Jake")

val expected = Foo()
val actual = Toml.decodeFromString(Foo.serializer(), "")
assert(expected == actual)

I have a real-world use where all of my top-level properties have sane defaults bound in the model and all of my supported tables are optional (and thus have null defaults in the model). Currently this fails to parse because of this check.

Hi @JakeWharton , thank you for this good note, sounds reasonable. We can workaround and let the work with empty toml files. will try to take it into the nearest release.

Haha, we even have a test for empty toml:
class EmptyTomlTest {
    @Test
    fun emptyToml() {
        assertFailsWith<InternalDecodingException> {
            Toml().decodeFromString<Config>(
                """

                """.trimIndent()
            )
        }

        assertFailsWith<InternalDecodingException> {
            Toml().decodeFromString(
                "".trimIndent()
            )
        }
    }
}

@JakeWharton that was easy 😄  https://github.com/akuleshov7/ktoml/pull/95


Asus B85-Plus : "4GB decoding" feather failed

System

Motherboard: Asus B85-Plus
BIOS Version: Both 2304 and 2305 tried
GPU: RX 5700
[ √ ] CSM is turned off
[ √ ] 4G decoding is enabled
[ √ ] UEFIPatch is applied (see README for more information)

Description
Describe the issue here.
In Asus's bios, it uses "Memory Remap" as the "4GB decoding" in other motherboard.
Manual:
https://dlcdnets.asus.com/pub/ASUS/mb/LGA1150/B85-PLUS/E7928_B85-PLUS.pdf
In the 2.6.4 section, and it is enabled always, even you reset the bios.
As the wiki,
I inserted both the "NvmExpressDxe_5.ffs" and "ReBarDxe.ffs" to the 2304 or 2305 bios (extracted with UEFITool 0.28.0) ,
patched with UEFIPatch (but it seems only the "PciBus | Remove <16GB BAR size limit (Ivy Bridge/Haswell)" patched),
i have got that my Pci Bus range ends at 000DFFF, when i try to patch the DSDT, but there is no CreateQWordField in my "DSDT.dsl", so this is different to the wikis,
finally i flash the "unmodded DSDT bios" with AFUWINx64 (with /GAN) and it succeced, but it seems the "Above 4G decoding" didn't work, even in the original asus bios,
i am not sure if it is a bug to this motherboard's bios.

and now the GPU-Z says like this

@AbraxasVi Memory Remap and 4G Decoding aren't the same thing.
I'm sure it is possible to enable 4G decode through assembly patching and DSDT edits but it's going to take alot of effort to do

Interesting, I can find "Above 4G Decoding" string to token '0x0F97' in the bios file with AMIBCP v4.53.
But it is unable to find this string in the "Setup Configuation", it's even not a hidden option.
I'm not good at DSDT modification, so I choose to wait someone to take it down😀

Feedback
Using ReBarState.exe to set 1GB BAR size.

Duplicate of #14


Temporarily set node.testing to true by default

As we are preparing the TestNet release, we still have a few usability
improvements needed for users to be able to run a node smoothly.
Anything in the configuration file will be off-putting, especially with Docker,
as a volume / mount is needed. Additionally, the CoinNet Genesis block is broken
anyways, and needs to be re-done, so for the time being, TestNet is the default.

2022-02-08 13:03:08,769 Warn [agora.consensus.protocol.Nominator] - collectBlockSignature: INVALID Block signature received for slot 1 from node 0x0666c4d505b55b6840fbb669ec08a1849e699d5a30ba246989b65ea71292f8ac9a3d7126ca9061313d3225d6e3[2414](https://github.com/bosagora/agora/runs/5109003330?check_suite_focus=true#step:11:2414)6f37cdc5dab51facbbc3beead6854e89a4
2022-02-08 13:03:08,774 Info [boa1xzval2a3cdxv28n6slr62wlczslk3juvk7cu05qt3z55ty2rlfqfc6egsh2] - Accepted preimage: { utxo: 0x2b1f...7495, hash: 0x2031...8b62, height: { value: 7 } }
2022-02-08 13:03:08,790 Info [boa1xzval2a3cdxv28n6slr62wlczslk3juvk7cu05qt3z55ty2rlfqfc6egsh2] - Accepted preimage: { utxo: 0x94b7...7177, hash: 0xf053...7de2, height: { value: 7 } }
2022-02-08 13:03:08,793 Info [boa1xzval2a3cdxv28n6slr62wlczslk3juvk7cu05qt3z55ty2rlfqfc6egsh2] - Accepted preimage: { utxo: 0x6bce...116a, hash: 0xfde1...c929, height: { value: 7 } }
2022-02-08 13:03:08,811 Info [boa1xzval2a3cdxv28n6slr62wlczslk3juvk7cu05qt3z55ty2rlfqfc6egsh2] - Accepted preimage: { utxo: 0x0666...89a4, hash: 0x9462...e3c6, height: { value: 7 } }
2022-02-08 13:03:08,813 Warn [agora.consensus.protocol.Nominator] - collectBlockSignature: INVALID Block signature received for slot 1 from node 0x0666c4d505b55b6840fbb669ec08a1849e699d5a30ba246989b65ea71292f8ac9a3d7126ca9061313d3225d6e324146f37cdc5dab51facbbc3beead6854e89a4
2022-02-08 13:03:08,868 Error [agora.consensus.state.Ledger] - Block#1: Signature's `s` mismatch: Expected **SCALAR**, got **SCALAR**
2022-02-08 13:03:09,01 Error [agora.consensus.state.Ledger] - Block#1: Signature's `s` mismatch: Expected **SCALAR**, got **SCALAR**

Something is fishy

It finally passed once!


Copy a pion SDP to clipboard

To reduce manual steps when running the example

Some tests are failing (not related to the PR changes):
=== RUN   TestPeerConnection_Renegotiation_Simulcast/Disable_Transceiver
pc ERROR: 2021/11/01 09:09:00 Incoming unhandled RTP ssrc(0), OnTrack will not be fired. no trackStreams found for RID: a
pc ERROR: 2021/11/01 09:09:00 Incoming unhandled RTP ssrc(2), OnTrack will not be fired. no trackStreams found for RID: c
pc ERROR: 2021/11/01 09:09:00 Incoming unhandled RTP ssrc(1), OnTrack will not be fired. no trackStreams found for RID: b
    peerconnection_renegotiation_test.go:1073:
        	Error Trace:	peerconnection_renegotiation_test.go:1073
        	            				peerconnection_renegotiation_test.go:1109
        	Error:      	Expected nil, but got: &errors.errorString{s:"EOF"}
        	Test:       	TestPeerConnection_Renegotiation_Simulcast/Disable_Transceiver
    peerconnection_renegotiation_test.go:1073:
        	Error Trace:	peerconnection_renegotiation_test.go:1073
        	            				peerconnection_renegotiation_test.go:1109
        	Error:      	Expected nil, but got: &errors.errorString{s:"EOF"}
        	Test:       	TestPeerConnection_Renegotiation_Simulcast/Disable_Transceiver
    peerconnection_renegotiation_test.go:1073:
        	Error Trace:	peerconnection_renegotiation_test.go:1073
        	            				peerconnection_renegotiation_test.go:1109
        	Error:      	Expected nil, but got: &errors.errorString{s:"EOF"}
        	Test:       	TestPeerConnection_Renegotiation_Simulcast/Disable_Transceiver
=== RUN   TestPeerConnection_Renegotiation_Simulcast/Change_RID
--- FAIL: TestPeerConnection_Renegotiation_Simulcast (0.50s)
    --- FAIL: TestPeerConnection_Renegotiation_Simulcast/Disable_Transceiver (0.05s)

@ashellunts Love all these UX improvements! I worry about two things.

Adding a dependency. Developers audit what gets pulled in. If this shows up in their dependency tree it might add extra pain.
Unexpectedly populate a user's clipboard.

What do you think of updating documentation like this?

MacOS go run *.go | pbcopy
Linux go run *.go | xclip -selection c
Windows go run *.go | clip

But the app prints more than just SDP. We can't just copy everything to clipboard.

May be to add a prompt?
OK. We can also add own implementation, if that is not too difficult.