iOS 9 broke the application picker

After updating to iOS 9, IntentKit can't find other alternatives to the default application.
Let's say I want to present the Map Handler on my iPhone with both Waze and Google Maps installed.
Having this method called:
- (void)openMapWithDirectionsFrom:(NSString *)fromString to:(NSString *)toString {
    INKMapsHandler *handler = [INKMapsHandler new];
    INKActivityPresenter *presenter = [handler directionsFrom:fromString to:toString mode:INKMapsHandlerDirectionsModeWalking];
    [presenter presentModallyWithCompletion:^{
        [self.view removeFromSuperview];
    }];
}

I get the following logs on the console:
2015-09-22 12:41:17.185 App[1087:471378] -canOpenURL: failed for URL: "comgooglemaps://" - error: "This app is not allowed to query for scheme comgooglemaps"
2015-09-22 12:41:17.191 App[1087:471378] -canOpenURL: failed for URL: "waze://" - error: "This app is not allowed to query for scheme waze"

This is a new feature or bug by Apple. More information can be found [here] (http://awkwardhare.com/post/121196006730/quick-take-on-ios-9-url-scheme-changes).
To let the user choose their favorite mapping service we must add a new key to the Info.plist as follows.
<key>LSApplicationQueriesSchemes</key>
<array>
	<string>waze</string>
	<string>comgooglemaps</string>
</array>

It does not seem to work with Apple Maps anymore either?

running the same problem over here... does anyone find a solution?

Running same problem here, is there any solution?

@gintechsystems @nicolasFernandez @bocato Have you tried adding the appropriate URL schemes to the appropriate Info.plist key?
With iOS 9, there's no way to avoid having to manually whitelist URL schemes that way. Perhaps it could be automated, rather than requiring you to manually add the schemes, but for now I'm just trying to figure out if there's an IntentKit bug outside of the OS's requirements.

I manually whitelisted the URL schemes. Thanks.

@bocato what did you do exactly? I believe i tried doing this before and it didnt work for me. Thanks.

@gintechsystems I've put the appropriate key on the Info.plist and everything worked as suposed to.
Also, i've changed the way i was instantiating the presenter to the method below.
INKActivityPresenter *presenter = [mapsHandler directionsFrom:currentLocation to:destination];     [presenter presentModally];

Gonna close this for now, although perhaps an addition to the README is in order.


Call stack size exceeded/too much recursion: Using Angular 2

Are you requesting a feature or reporting a bug?
Reporting a bug
What is the current behavior?
When trying to execute click on a DOM element that has template bindings, I get the following errors (by browser)
Safari: TypeError: null is not an object (evaluating 'j.parseProxyUrl(e.responseURL).destUrl')
Firefox: Too much recursion
Chrome: Uncaught RangeError: Maximum call stack size exceeded
What is the expected behavior?
Select an option within a select
How would you reproduce the current behavior (if this is a bug)?
Run a test against a project in Angular 2 that interacts with a DOM element that has template bindings
Provide the test code and the tested page URL (if applicable)
Tested page URL:
Test code
import {
    Selector
} from 'testcafe';

export default class FeaturesAndSpecsPage {
    constructor () {
        const namespace = 'cd-specs';
        this.componentSelector = Selector(`${namespace}`);

        this.styleSelect        = Selector('#selectStyle');
        this.styleSelectOption  = this.styleSelect.find('option');
        this.trimsSelect        = Selector('#selectTrim');
        this.trimsSelectOption  = this.trimsSelect.find('option');
    }
}

import FeaturesAndSpecs from './features-and-specs';
import { Selector } from 'testcafe';

let remoteUrl = 'http://local.caranddriver.com:3000';
let path = '/bmw/3-series/specs';

let testUrl = remoteUrl + path;
let subPage = testUrl + '/2017/3-series-Sedan/387943';

fixture `Features and Specs`
    .page `${testUrl}`;

// Page model
const page = new FeaturesAndSpecs();

test('Global page props', async t => {
    let componentSelector = await page.componentSelector;
    let expectedTitle = 'BMW 3-series';
    let pageTitle = Selector('page-title');
    await t
        .expect(componentSelector.exists).ok()
        .expect(pageTitle.innerText).contains(expectedTitle);

    let styleSelect = Selector('#selectStyle');
    let styleSelectOption = Selector('#selectStyle').find('option').withText('3-series Convertible');

    await t
        .expect(styleSelectOption.exists).ok()
        .click(styleSelect)
        .click(styleSelectOption) //<--- errors here
        .expect(styleSelect.value).eql('3-series Convertible');
});

Specify your

operating system: OSX 10.11.13
testcafe version: 0.15.0
node.js version: 6.9.2

It may be important to note that this project was not created with Angular 2 cli.
Also the project implements Angular Universal.

I see you provide a non-public url to reproduce this issue - http://local.caranddriver.com:3000
However, with http://www.caranddriver.com/bmw/3-series/specs/2017/3-series-Sedan/387943 I have reproduced another problem - https://github.com/DevExpress/testcafe-hammerhead/issues/1131.
We will fix it during the [next sprint] (https://github.com/DevExpress/testcafe-hammerhead/milestone/12)
We also want to be sure that the original problem is fixed.
Could you provide a public url to reproduce the problem described above?

Apologies, http://www.caranddriver.com is not completely on the Angular 2 stack. You can use http://stage-www.caranddriver.com/bmw/3-series/specs/2017/3-series-Sedan/387943

https://github.com/DevExpress/testcafe-hammerhead/issues/1132

fixed in<EMAIL_ADDRESS>

Awesome, thank you.


VsCode Omnisharp linter not working on Razor Pages with error "Cannot get required symbol EVP_MD_size from libssl"

when i open vscode Razor pages i get this error
The Razor Language Server server crashed 5 times in the last 3 minutes. The server will not be restarted.
`--------------------------------------------------------------------------------
Razor.VSCode version 6.0.0-preview.5.21358.6
Razor's trace level is currently set to 'Off'
To change Razor's trace level set 'razor.trace' to 'Off', 'Messages' or 'Verbose' and then restart VSCode.
To report issues invoke the 'Report a Razor issue' command via the command palette.
Cannot get required symbol EVP_MD_size from libssl
[Info - 2:39:23 AM] Connection to server got closed. Server will restart.
[Error - 2:39:23 AM] Request textDocument/codeAction failed.
Error: Connection got disposed.
at Object.dispose (/home/muchirajunior/.vscode/extensions/ms-dotnettools.csharp-1.25.0-linux-x64/dist/extension.js:2:994214)
at Object.dispose (/home/muchirajunior/.vscode/extensions/ms-dotnettools.csharp-1.25.0-linux-x64/dist/extension.js:2:1050936)
at x.handleConnectionClosed (/home/muchirajunior/.vscode/extensions/ms-dotnettools.csharp-1.25.0-linux-x64/dist/extension.js:2:1051111)
at x.handleConnectionClosed (/home/muchirajunior/.vscode/extensions/ms-dotnettools.csharp-1.25.0-linux-x64/dist/extension.js:2:1070276)
at t (/home/muchirajunior/.vscode/extensions/ms-dotnettools.csharp-1.25.0-linux-x64/dist/extension.js:2:1049310)
at n.invoke (/home/muchirajunior/.vscode/extensions/ms-dotnettools.csharp-1.25.0-linux-x64/dist/extension.js:2:979052)
at r.fire (/home/muchirajunior/.vscode/extensions/ms-dotnettools.csharp-1.25.0-linux-x64/dist/extension.js:2:979782)
at $ (/home/muchirajunior/.vscode/extensions/ms-dotnettools.csharp-1.25.0-linux-x64/dist/extension.js:2:986274)
at n.invoke (/home/muchirajunior/.vscode/extensions/ms-dotnettools.csharp-1.25.0-linux-x64/dist/extension.js:2:979052)
at r.fire (/home/muchirajunior/.vscode/extensions/ms-dotnettools.csharp-1.25.0-linux-x64/dist/extension.js:2:979782)
at t.StreamMessageWriter.fireClose (/home/muchirajunior/.vscode/extensions/ms-dotnettools.csharp-1.25.0-linux-x64/dist/extension.js:2:999879)
at Socket. (/home/muchirajunior/.vscode/extensions/ms-dotnettools.csharp-1.25.0-linux-x64/dist/extension.js:2:1000249)
at Socket.emit (node:events:390:28)
at Pipe. (node:net:687:12)

/extC++

It looks like this is caused by the C++ extension. Please file the issue to the C++ extension repository. Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our issue reporting guidelines for more information.
Happy Coding!

I'm still getting the same error even though I've never had C++ extension installed.

@adrianfrankowski95 It's likely for the C# extension instead. Please file an issue against them


Redis Timeout

Is there a configuration settings that I am missing in order to optimize the latency of the redis cache. I am getting several timeout exceptions such as below:
StackExchange.Redis.RedisTimeoutException: Timeout awaiting response (outbound=0KiB, inbound=3KiB, 5438ms elapsed, timeout is 5000ms), inst: 0, qu: 0, qs: 9, aw: False, rs: ReadAsync, ws: Idle, in: 0, serverEndpoint: Unspecified/48-surge-identity-rc-shared-dev.redis.cache.windows.net:6380, mgr: 10 of 10 available, clientName: 1E345CF0668B, IOCP: (Busy=0,Free=1000,Min=10,Max=1000), WORKER: (Busy=7,Free=32760,Min=50,Max=32767), v: 2.0.593.37019 (Please take a look at this article for some common client-side issues that can cause timeouts: https://stackexchange.github.io/StackExchange.Redis/Timeouts)
   at IdentityServer4.Contrib.RedisStore.Stores.PersistedGrantStore.StoreAsync(PersistedGrant grant)
   at IdentityServer4.Stores.DefaultGrantStore`1.StoreItemAsync(String key, T item, String clientId, String subjectId, DateTime created, Nullable`1 expiration)
   at IdentityServer4.Stores.DefaultGrantStore`1.CreateItemAsync(T item, String clientId, String subjectId, DateTime created, Int32 lifetime)
   at IdentityServer4.Stores.DefaultRefreshTokenStore.StoreRefreshTokenAsync(RefreshToken refreshToken)
   at IdentityServer4.Services.DefaultRefreshTokenService.CreateRefreshTokenAsync(ClaimsPrincipal subject, Token accessToken, Client client)
   at IdentityServer4.ResponseHandling.TokenResponseGenerator.CreateAccessTokenAsync(ValidatedTokenRequest request)
   at IdentityServer4.ResponseHandling.TokenResponseGenerator.ProcessAuthorizationCodeRequestAsync(TokenRequestValidationResult request)
   at IdentityServer4.ResponseHandling.TokenResponseGenerator.ProcessAsync(TokenRequestValidationResult request)
   at IdentityServer4.Endpoints.TokenEndpoint.ProcessTokenRequestAsync(HttpContext context)
   at IdentityServer4.Endpoints.TokenEndpoint.ProcessAsync(HttpContext context)
   at IdentityServer4.Hosting.IdentityServerMiddleware.Invoke(HttpContext context, IEndpointRouter router, IUserSession session, IEventService events)
   at IdentityServer4.Hosting.IdentityServerMiddleware.Invoke(HttpContext context, IEndpointRouter router, IUserSession session, IEventService events)
   at IdentityServer4.Hosting.MutualTlsTokenEndpointMiddleware.Invoke(HttpContext context, IAuthenticationSchemeProvider schemes)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Cors.Infrastructure.CorsMiddleware.Invoke(HttpContext context)
   at IdentityServer4.Hosting.BaseUrlMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.Invoke(HttpContext context)

my configuration is:
 .AddOperationalStore(options =>
                {
                    options.RedisConnectionString = Configuration[RedisConfiguration.RedisConnection];
                    options.Db = 1;
                })

I saw that there was a way to choose an existing connection to use, if the problem was due to trying to reconnect to redis, but it seems the options to set the connection multiplexer is deprecated in the newest version?

I have changed to use the connection multiplexer property like:
  .AddOperationalStore(options =>
                {
                    options.RedisConnectionMultiplexer = RedisConnection;
                })

will need to test to see if this makes any difference to the timeouts

executing SLOWLOG GET on the redis server these are the results, not sure if they have anything to do with this issue but just giving as much information as possible:
 1)    1)   "8"
  2)   "1560021564"
  3)   "16731"
  4)      1)    "ManagementCommand"
   2)    "list"

 2)    1)   "7"
  2)   "1559989011"
  3)   "17819"
  4)      1)    "ManagementCommand"
   2)    "list"

 3)    1)   "6"
  2)   "1559928308"
  3)   "12817"
  4)      1)    "ManagementCommand"
   2)    "list"

 4)    1)   "5"
  2)   "1559848194"
  3)   "11892"
  4)      1)    "ManagementCommand"
   2)    "list"

 5)    1)   "4"
  2)   "1559842168"
  3)   "15025"
  4)      1)    "ManagementCommand"
   2)    "?"
   3)    "-1"

 6)    1)   "3"
  2)   "1559841572"
  3)   "12425"
  4)      1)    "AUTH"
   2)    "DuCp7Hld1A2BENHDej5c80V31SNSVtbaHsz6P75gtrg="

 7)    1)   "2"
  2)   "1559841572"
  3)   "23122"
  4)      1)    "AUTH"
   2)    "DuCp7Hld1A2BENHDej5c80V31SNSVtbaHsz6P75gtrg="

 8)    1)   "1"
  2)   "1559841572"
  3)   "163203"
  4)      1)    "AUTH"
   2)    "DuCp7Hld1A2BENHDej5c80V31SNSVtbaHsz6P75gtrg="

 9)    1)   "0"
  2)   "1559841281"
  3)   "105828"
  4)      1)    "ManagementCommand"
   2)    "<IP_ADDRESS>"
   3)    "10224"

Hi @javaadpatel
First of all, by providing the  SLOWLOG GET you've exposed the authentication password for your instance, please rotate your key on the instance side, since you provided the instance dns and port in the exception dump

That was my bad, deleted the post, will rotate the credentials shortly. Didn't realize that was the actual password for the instance, thank you for that.

from the log above, I didn't find something useful that related to the library itself, it's good to checkout and double check the instance health + topology of your system, is Redis instance far from service that is hosting ?
Maybe you can change start from there and validate your solution, have you just started or it was working successfully and the problem started surfacing ?

The redis instance is an Azure Redis Cache, located in the same region as the service fabric cluster accessing it. I checked the metrics on Azure and I can't see anything in particular from the server load, the cpu is nowhere near maxed out, same for memory.
I noticed the problem while testing that i was getting 404 error's and then when i checked application insights, i found the redis timeout exception.

I am running identity server inside service fabric so there are multiple instances (one on each node) that will be accessing the redis cache for the grant, could that have any effect that causes this issue?

I can't help beyond what I've commented up, sorry for that, this problem seems beyond the library.

I will close the issue for now, and you can reopen it if you found out something that is related to the library itself.

@AliBazzi , no problem, I think the problem has something to do with the library because the exception is coming from a method used in the library
IdentityServer4.Contrib.RedisStore.Stores.PersistedGrantStore.StoreAsync
i'm wondering if it has to do with using redis for more than than just this library because I use it for both data protection and as a distributed cache in the application. If i find anything more I will re-open the issue, thank you for the help.

@AliBazzi you were correct that it was nothing to do with the library, it was because I was using redis for storing the dataprotection key as well and so I had two connections to redis that were blocking each other at random times.
I changed my solution to use the same ConnectionMultiplexer wherever I was connecting to redis (ie. this library config and the data protector) and the timeout issues have dissappeared.


Classes from vendor packages shouldn't count to statistics

As Adam pointed out the package currently counts Components from vendor packages to statistics.
That shouldn't happen.
The getDeclaredClass-method should run a filter on the collection to remove all files which are stored in vendor/*

You can use reflection to do this.
ReflectionClass::getFileName will give you the full path to the file that declared the class (and return false if it is an internal PHP class)
I'll prep a PR sometime today.

The package already relies heavely on the ReflectionClass. I've also create my own ReflectionClass for this project (but I think I should rename it to something else. I think it only causes confusion with the "native" PHP ReflectionClass).
The check if a Class belongs to a vendor-package could also happen here, where the classes are sorted into Component buckets.

Yep, I noticed that.
Imho, I don't think that method be the best spot to put the check. Feels a bit strange.

I've opened a PR and we can discuss specifics there.

Closed in #15. Thanks again for the PR.


Plugin not returning random blocks

I've installed the plugin, closed and reopened LogSeq, and reproduced the example from your gif but I can seem to get it to return random blocks.
I've created these blocks:

aaa #[[random test]]

bbb #[[random test]]

ccc #[[random test]]

ddd #[[random test]]

Test {{renderer random-block, #[[random test]], 2}}

And after I click the refresh icon I get nothing.
Can you help me figure out what might be wrong?

It works for me and I can not reproduce this issue on my MacOS.

Even after one year and 7 months, that wasn't very helpful...But thanks anyway!


Improve "from" behavior with unnamed references

Fix our instantiation behavior when the source image reference is not a named reference.  Take the opportunity to rename the --registry CLI flag to --transport.

Fixed an inconsistency (was --default-transport in build-using-dockerfile, instead of --transport, as it should have been), and added a note stressing that we don't insert any additional separator when combining the transport name with the image name.

What errors are you getting back when you try to commit or push to a docker-daemon: destination?

I am talking about https://github.com/projectatomic/buildah/issues/229

Yes, this should fix those pull errors.

Hmm, no it doesn't.

Ok I will approve this patch and open another one to remove --transport.  Just so we can fix the issue.
@rh-atomic-bot r+ fb32f53


[Other]

What would you like to share?
like every time on click of the the component it will redirect to new tab

it will ultimately increase the no of tabs and confusion so we need to make it single page
i can add back button on component tab+footer in component tab

as you can see in component tab no back button is not available
Additional information
No response
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[X] I am a SWOC'24 contributor.

Code of Conduct

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

Home button on the navbar is already present which can take us back to the home page @ankit1576


Set FACTORY_VESPA_VERSION to get the correct version set in vtag.

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

This will take effect immediately for the next released version. Lets get this in before the 8.48.22 release.


My code makes de select and prints  for each row

My code makes de select and prints  for each row
[CODE]
db, err := sql.Open("ora", "user/pass@<IP_ADDRESS>:1521/ORCL")
defer db.Close()
rows, err := db.Query("SELECT A4_FILIAL, A4_COD, A4_NOME  FROM SA4010")
defer rows.Close()

if err != nil {
	fmt.Printf("%s", err)
	return
}

for rows.Next() {
	rows.Scan(rowP)
	fmt.Printf("%v", rowP[0])
	//fmt.Printf("{%v} -- {%v} ", rowP[0], rowP[1])
}

[/CODE]
How to get columns values?

What is rowP ?
If you know the column types, then
for rows.Next() {
  var fil, nome string
  var cod int64
  if err = rows.Scan(&fil, &cod, &nome); err != nil {
    return err
  }
  fmt.Printf("%q, %d, %q", fil, cod, nome)
}

RowP is => rowP := make([]interface{}, 3)
I test your code and work perfectly.
thanks!!!!

I can return from rows.Scan to and struct?
The struct :
type tabspreco struct {
Filial string
Codpro string
Codtab string
Preco  float32
}
The select:
SELECT DA1_FILIAL AS Filial, DA1_CODPRO AS Codpro,
DA1_CODTAB AS Codtab,
DA1_PRCAR AS Preco
FROM DA1010 WHERE DA1_FILIAL = '01' AND DA1_CODTAB = '068'
Each field has the name os struct element.
var Tabs2 tabspreco
err = rows.Scan(&Tabs2)
Is that possivel?

rows.Scan(&Tabs2.Filial, &Tabs2.Codpro, &Tabs2.Codtab, &Tabs2.Preco)

or use a helper like github.com/jmoiron/sqlx or github.com/kisielk/sqlstruct

Thanks alot.
I install github.com/jmoiron/sqlx  and solve the problem.


The parseHeaders in xhrHttpsClient.ts and xhrHttpClient.ts is not strong enough

Package Name: @azure/storage-blob
Package Version: 12.2.1
Operating system:
[ ] nodejs

version:

[x] browser

name/version: AppleWebKit/605.1.15

[ ] typescript

version:

Is the bug related to documentation in

[ ] README.md
[ ] source code documentation
[ ] SDK API docs on https://docs.microsoft.com

Describe the bug
The whitespace after colon in http header is optional. But the function parseHeaders in xhrHttpsClient.ts  and and xhrHttpClient.ts requires spaces.
If no space after colon like this

The first char in value of header will be cut down.

It will makes header broken and some thing wrong.

The cordova-plugin-wkwebview-file-xhr is a library hosted by Oracle that helps Cordova users to solving CORS issue. It polyfilled the function XMLHttpRequest.getAllResponseHeaders()  and wrapped http request. but the return value of polyfilled getAllResponseHeaders() have no space after colon. it makes @azure/storage-blob upload failed.
I have created an issue for Oracle https://github.com/oracle/cordova-plugin-wkwebview-file-xhr/issues/68
But I think @azure/storage-blob also needs to improve to avoid such unsoundness.
To Reproduce
Steps to reproduce the behavior:

setup a Cordova environment
install the https://github.com/apache/cordova-plugin-wkwebview-engine
install the https://github.com/oracle/cordova-plugin-wkwebview-file-xhr
call uploadBrowserData()

Expected behavior
Uploaded without errors.

However, the spec for getAllResponseHeaders() has 0x3A 0x20 between header name and header value.

https://xhr.spec.whatwg.org/#the-getallresponseheaders()-method

Thanks for spec.

@bterlson @xirzec do we want to stick to the xhr getAllResponseHeaders() spec, or relax a bit when parsing the headers?

What is gained by supporting a non-standard version of getAllResponseHeaders()? It seems like other JS libs could be equally confused by this, so the polyfill should be fixed to follow the guidelines.

@ewfian has opened an issue in the  oracle/cordova-plugin-wkwebview-file-xhr repo.  Closing this as we don't plan to do anything here.


nvcc fatal : Unsupported gpu architecture 'compute_80'

after running "python setup.py develop" I faced the above error.
error: command '/usr/local/cuda/bin/nvcc' failed with exit code 1
currently, I have installed Cuda-10.2. however, if run the above command with Cuda-11.7 or 9.2 it gives an error and suggests installing Cuda-10.2.
can it only be compiled with Cuda-10.2? no other Cuda-version?
Thank you

Cuda11.1 can also，

Hello folks,
Would you mind sharing the GPUs you are using? The reason why you meet with this error is that compute_80 and sm_80 is too new for your nvcc compiler. You can simply remove the corresponding line in setup.py.
Best,
Haotian

@kentang-mit  Thank you for your prompt response. I'm using GTX TITAN X GPU (12GB).

Cuda11.1 can also，

Thank you

Hi @usmanraza121,
In this case, you can replace that line with compute_61 and sm_61.
Best,
Haotian

Closed due to inactivity.


Quoting the short description / tagline

@feross:

Never been a fan of quoting the tagline. It de-emphasizes something that ought to be emphasized.

@LinusU

I too have been rubbed the wrong way with the idea that the tagline or short description should be inside a block-quote. It doesn't feel right, maybe this is an issue that should be raised upstream?

I'm not sure that it is de-emphasized. To me, it clearly separates the text from all other text. On GitHub, this looks like color and bolding - a strong statement. In text, there is the >, which points it out.
Can we think of any sensible way to judge this objectively and not make a call based on aesthetic opinion of GitHub's coloring?

I also don't like the aesthetic how GitHub (and many others) renders it.

Can we think of any sensible way to judge this objectively and not make a call based on aesthetic opinion of GitHub's coloring?

Probably not. How people perceive style and layout is subjective and probably influenced by culture.
A UX-expert can probably help here.
I think making the sentence bold would have the desired impact and is right in a semantic manner.
What i found in the wild:

Title and tagline as banner https://github.com/vhesener/Closures#readme
Bold text, sometimes as H4 hading (what's semantically wrong) https://github.com/thelounge/thelounge#readme
As part of Title (i think it's too heavy) https://github.com/sr6033/lterm#readme
Just text separated with newline from rest of description https://github.com/webpro/release-it#readme

Most Readmes don't have a tagline at all. It might not be needed on GitHub because the project description is shown at the top, but the readme is also used in other places, for example when checked out locally! So i think having it is useful.

What do you mean by "a semantic manner"? How is bold different, semantically, than using a blockquote?

@RichardLitt bold formatting means it's important. a blockquote is a citation of someone.

I can see what you mean, but I think that's an oversimplification.
One of the things I like about the citation is that it sets the description apart. What I don't want is for it to blend into the long description - the paragraph afterwards. Using bold is encouraging that, as bold sentences can be part of a wider paragraph easily. A blockquote can't. As well, the quote should match whatever is in the package manifests, as well as the GitHub description. One could argue that you are quoting someone else in the description, there.

Tradeoffs. :/

[...] based on aesthetic opinion of GitHub's coloring?

It's not just GitHub, it's very common to style blockquotes with gray and indent it.
I personally don't like it because we are abusing something that was made for something else and using it just to achieve some specific style. That is, we are telling GitHub that this is a quote, when it isn't...

As well, the quote should match whatever is in the package manifests [...]

Npm automatically pulls the description out by getting the first paragraph from the readme, does it still do this correctly when quoting that line? 🤔

One could argue that you are quoting someone else in the description, there.

Can't say that I agree with this. If I write something down in two places I can't really say that one is a quote of the other one? By that logic either the GitHub description or the package.json description should have quotation marks around them, since one of them is a quote of the other...
Just my 2¢ ☺

Npm automatically pulls the description out by getting the first paragraph from the readme, does it still do this correctly when quoting that line? 🤔

This is a good question. I tend to copy this quote directly into the description field in the package.json, but that's not covered in this spec. I don't know the answer to this.
Yeah, I see your points. I'm just not sure I agree that it's worth changing at the moment. But I may be wrong.

I’m against the blockquote:

On GH, it de-emphasises the important parts
Semantically (as in, markdown/HTML), it isn’t really a quote now is it?
Readmes get cluttered, especially the start, with many different things: badges, images, marketing-speak, the way to declutter and focus on the important part is, in my opinion, not to add more different styles, but rather to just have a paragraph or so of normal text!

Anyway, this discussion isn’t really going anywhere so I’m also in favour of tabling it!

I think I am illogically holding on to what I did four years ago because I'm too lazy to admit that it may have not have been the best choice at the time.
Let's remove the block quote.


Closed by default

Is it possible to make all the right-side menu closed (collapsed) be default?

There is no default option to collapse the right-side menu. You can create your own by extending this node_modules/angular-jsdoc/angular-template
https://github.com/allenhwkim/angular-jsdoc/blob/master/angular-template/css/site.css
nav#toc {display:none}


1.1.0

os_log

Codecov Report

Merging #15 into master will increase coverage by 0.01%.
The diff coverage is 100%.

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


Microservices - Generate docs at centralised portal

I have tried doing some poc on springfox swagger with spring boot. It does generate swagger ui on the same host and port as my application is running.
http://localhost:8080/swagger-ui.html
My application is composed of multiple microservices deployed on a cloud infrastructure. This way i may end up having multiple swagger hub ui as
http://microservice1:8080/swagger-ui.html
http://microservice2:8081/swagger-ui.html
http://microservice3:8082/swagger-ui.html
How i can host all of my springfox swagger hub application on same host. So that i can have a consolidate webpage to have all my api documentation at single place.
Is this feature available with spring rest doc?

You can do this by aggregating the 3 micro services. You'd need a http://microservice-aggregate:8084/swagger-ui.html that implements SwaggerResourcesProvider. Or have an API gateway that can be configured to point to each of the micro services swagger specifications.
https://github.com/springfox/springfox/blob/ec9af577593c3565bf57a00c13e4e89d7cb804ef/springfox-swagger-common/src/main/java/springfox/documentation/swagger/web/SwaggerResourcesProvider.java#L25
Have you looked at how jhipster does it? It uses the same technique


The release contains paths with colons

Unpacking the extension on Windows won't work since filenames with colons that aren't supported.

Hey @luaks1337 can you check the latest release?

Fixed in v1.1.0 onwards


set up swarmbot.slack.com for swarmbot contributors and community

Changing this to set up swarmbot.slack.com. This is where we will coordinate cross community collaboration on swarmbot and issue swarmbot project coins for contributions to swarmbot.
I'd like two bots:

[ ] testbot
[ ] swarmbot

@harlantwood I just invited you to swarmbot.slack.com. @dukedorje and @gleenn you both can join with your citizencode.io address. We can invite other collaborators once it's set up.

Done.  Note that there is a bug in the cap table on testnet: https://github.com/citizencode/swarmbot/issues/322


BUGFIX: Prevent Fatal Error in Setup

This is a hotfix for a regression introduced with https://github.com/neos/flow-development-collection/pull/499.
Background:
The latest Http\RequestHandler of Flow internally uses
the ComponentChain to determine the current Request/Response.
This package uses a specialized handler which doesn't rely on
the ComponentChain leading to a Fatal Error.

needs to go into the 2.0 branch right?

needs to go into the 2.0 branch right?

I'm not  sure, 2.0 is used in Neos 2.0+ and the fix is only required for Neos 2.3.x. I guess we should probably create a 2.3 branch in the setup and apply it there!?

The evils of inheritance... Makes sense, but be aware that the $request and $response properties will also be removed with 4.0 - so maybe already copy them over

be aware that the $request and $response properties will also be removed with 4.0

That's news to me. Is that documented somewhere or is there a PR for this?
Anyways, I rather merge this now to fix the fatal.
I'd suggest to merge it into master and then create a branch 2.3 and require that in the affected distributions. Does that make sense?

Is that documented somewhere or is there a PR for this?

https://github.com/neos/flow-development-collection/pull/500

@bwaidelich: I'd rather avoid a separate version if it can be done in backwards compatible way, which this seems to be..

I messed up the rebase, see #28


About - OKK Luxury Goods.Supplier

https://okk416.github.io/about/
Your neighborhood trend supplier.

hi


SetCommState: Unknown error code 87

Operating System and Hardware: Windows 10. Virtual COM Port from http://freevirtualserialports.com/
NodeJS Version: 4.4.4
Serialport version: 3.1.2
Python Version (if you're having trouble building serialport):
(Run node -v && npm -v && python --version to get the version numbers.)
Expected behavior
open a serial port and send data.
Actual behavior
Error message SetCommState: Unknown error code 87
is displayed.
Steps and/or code to reproduce the issue

in the node_modules\serial_port\bin folder I executed this command
node serialport-terminal.js -p COM1

I get the error message.

I also have my own code to open a serial port. I get the same error displayed on screen when I try and open the serial port.

If I open a serial port that is already opened by some Windows software, I get the expected result of Error: Opening COM2: Access denied.

I was trying to use Virtual COM ports so that I can do a loopback test between two Node applications.

Does this help?

I have debugged the Windows C++ code in the package and found the problem with node-serialport and the Virtual Comm Ports.
This Microsoft MSDN web site has an example of using a Serial Port which works with a Virtual Comm Port.
a) Call CreateFile()
b) Call GetCommsState() to get current 'DCB' data structure (node-serial port is missing this step)
c) Change the baud rate in the DCB data structure
d) Call SetCommState to configure the serial port
node-serialport was not calling GetCommState() to get the current state.
I added this to the C++ source and it all worked.
So here is my change to serialport_win.cpp
  DCB dcb = { 0 };
  dcb.DCBlength = sizeof(DCB);
  if (data->hupcl == false) {
    dcb.fDtrControl = DTR_CONTROL_DISABLE;  // disable DTR to avoid reset
  } else {
    dcb.fDtrControl = DTR_CONTROL_ENABLE;
  }

To this
  DCB dcb = { 0 };
  SecureZeroMemory(&dcb, sizeof(DCB));
  dcb.DCBlength = sizeof(DCB);

  if (!GetCommState(file, &dcb)) {
	printf("error getting comm state");
	return;
  }

  if (data->hupcl == false) {
    dcb.fDtrControl = DTR_CONTROL_DISABLE;  // disable DTR to avoid reset
  } else {
    dcb.fDtrControl = DTR_CONTROL_ENABLE;
  }

I have not had a chance to test this on any physical serial ports (or USB serial ports) but following the MSDN example this is the proper way to do things.

I have created Pull Request #824 with the bug fix

Hi
Thanks for looking at the Issue.
Thanks for the comments on the PR. The printf in there was my debugging
code and I never meant to leave it in so I'm glad you spotted it. I'll
update the PR.
I'm out on the road at the moment but when I get back I have a PL2303
based USB serial device and a CH340/HL340 based USB serial port plus a
short serial cable so I can run open COM1 with Node-serialport and open
COM2 with node-Serialport and send some data between the two devices to
test the GetCommState
Roger
On 24/05/2016 19:59, Francis Gulotta wrote:

This is really helpful, I can take a closer look at that code and see
about
adding it but what you say makes sense. Even on linux you're supposed to
get the state, modify it and set it again. If you want to submit a PR in
the meantime people with windows machines can test your branch out. And if
it tests out, I'm happy to merge.

Francis Gulotta
<EMAIL_ADDRESS>On Tue, May 24, 2016 at 2:32 PM, Roger Hardiman<EMAIL_ADDRESS>wrote:

I have debugged the Windows C++ code in the package and found the
problem
with node-serialport and the Virtual Comm Ports.
This Microsoft MSDN web site

https://msdn.microsoft.com/en-gb/library/windows/desktop/aa363201(v=vs.85).aspx

has an example of using a Serial Port which works with a Virtual
Comm Port.
a) Call CreateFile()
b) Call GetCommsState() to get current 'DCB' data structure (node-serial
port is missing this step)
c) Change the baud rate in the DCB data structure
d) Call SetCommState to configure the serial port
node-serialport was not calling GetCommState() to get the current state.
I added this to the C++ source and it all worked.
So here is my change to serialport_win.cpp
DCB dcb = { 0 };
dcb.DCBlength = sizeof(DCB);
if (data->hupcl == false) {
dcb.fDtrControl = DTR_CONTROL_DISABLE; // disable DTR to avoid reset
} else {
dcb.fDtrControl = DTR_CONTROL_ENABLE;
}
To this
DCB dcb = { 0 };
SecureZeroMemory(&dcb, sizeof(DCB));
dcb.DCBlength = sizeof(DCB);
if (!GetCommState(file, &dcb)) {
printf("error getting comm state");
return;
}
if (data->hupcl == false) {
dcb.fDtrControl = DTR_CONTROL_DISABLE; // disable DTR to avoid reset
} else {
dcb.fDtrControl = DTR_CONTROL_ENABLE;
}
I have not had a chance to test this on any physical serial ports
(or USB
serial ports) but following the MSDN example this is the proper way
to do
things.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub

https://github.com/EmergingTechnologyAdvisors/node-serialport/issues/817#issuecomment-221355586

—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/EmergingTechnologyAdvisors/node-serialport/issues/817#issuecomment-221365301

--
Roger Hardiman
RJH Technical Consultancy Ltd
07968 245759
www.rjh.org.uk
<EMAIL_ADDRESS>

Hi
Thanks for applying the PR so quickly and getting a beta release issued.
Roger
-------- Original message --------
From: Francis Gulotta<EMAIL_ADDRESS>Date:25/05/2016  4:27 AM  (GMT+00:00)
To: EmergingTechnologyAdvisors/node-serialport<EMAIL_ADDRESS>Cc: Roger Hardiman roger@rjh.org.uk,Author<EMAIL_ADDRESS>Subject: Re: [EmergingTechnologyAdvisors/node-serialport] SetCommState:
Unknown error code 87 (#817)
I released<EMAIL_ADDRESS>with these changes. Thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub


[Defect] The nonce passed to URL in signMessage for browser wallets is not URL-safe

Describe the bug
Looks like the way the nonce is passed via URL to MyNearWallet as nonce.toString() to the signMessage for MyNearWallet results in Buffer being converted to a string of ASCII characters and this string contains characters that break the URL structure so it might result in strange URL shown below

Steps To Reproduce
const wallet = await selector.wallet("my-near-wallet");
const message = "test message for verification";
const nonce = crypto.randomBytes(32);
const recipient = "myapp.com";
await wallet.signMessage({ message, recipient, nonce });

This will result in a URL containing some strange characters:

Error description
Expected behavior

The nonce passed to the URL should not contain characters that break the URL structure

Unfortunately, the NEP does not state in what type of encoding should the nonce be passed to the wallet via the URL for Browser Wallets.
I think we should update the wallet-selector and pass the nonce as a base64 string to the URL for Browser Wallets and then update MyNearWallet to handle this change since the current implementation seems to be kind of limited.

Created a PR on MNW https://github.com/mynearwallet/my-near-wallet/pull/194 we will wait for the review from the MNW team and see if they have any better solution or suggestion.

The PRs have been merged on both sides in wallet-selector and also my-near-wallet but the changes are still not published for production on my-near-wallet, once the changes are live on mainnet and testnet we will need to make a release on our side.

Closing as the release is out now with the fix:
https://github.com/near/wallet-selector/releases/tag/v8.9.4


Update security-operations-privileged-identity-management.md

#atcp

@andyruth : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#label:"aq-pr-triaged"

#sign-off


Update README.md

Minor README Update
SQLite3 dependency is not normally installed using pip but rather using apt-get (e.g.  apt-get install sqlite3 libsqlite3-dev)

sqlite3 has been in python,do not need pip install it.

Exactly, I removed that from the list of pip dependencies and added it in it's own section. It's a system dependency not a Python module dependency.


[docs] Next.js: Move Copyright into its own component

[x] I have followed (at least) the PR section of the contributing guide.

Changelog

[x] examples/nextjs :  Move Copyright into its own component
[x] examples/nextjs-with-typescript :  Move Copyright into its own component

Motivation
Removes code duplication.

What about the other examples?

@HaNdTriX Thanks!


cov_exp_quad uses ambiguous parameter names

Summary:
cov_exp_quad uses ambiguous greek letters to describe its input parameters in error messages.
Description:
cov_exp_quad uses sigma for the marginal variance and l for the length scale which is somewhat non-standard, especially given the more recent notation that has been used in GP example models.  sigma, in particular, is highly overloaded in its use in these models.
We should add a more descriptive name, for example replacing the second argument of check_positive("cov_exp_quad", "sigma", sigma); with marginal variance.  Similarly, subbing in length scale for l in check_positive("cov_exp_quad", "l", l);.
Current Output:
Exception thrown at line 24: cov_exp_quad: sigma is 0, but must be > 0!

Expected Output:
Exception thrown at line 24: cov_exp_quad: marginal variance is 0, but must be > 0!

Current Version:
v2.14.0

closed with #499

It think that using marginal variance in the error messages like
Exception: cov_exp_quad: marginal variance is -0.247557, but must be > 0!

is misleading because to my understanding sigma (or alpha as it is called in the stan reference manual) is the mardinal standard deviation, not marginal variance. On the other hand, why does sigma need to be restricted to be positive, when it will be squared anyway?

On Nov 21, 2018, at 11:42 PM, Juho Timonen<EMAIL_ADDRESS>wrote:
It think that using marginal variance in the error messages like
Exception: cov_exp_quad: marginal variance is -0.247557, but must be > 0!
is misleading because to my understanding sigma (or alpha as it is called in the stan reference manual) is the mardinal standard deviation, not marginal variance.

That looks right from the doc and we should fix it in the doc. The doc here is in both the math library and for the Stan language.

On the other hand, why does sigma need to be restricted to be positive, when it will be squared anyway?

To avoid posterior multimodality.  The difference between sigma and -sigma is unidentifiable (unless you put a non-zero centered prior on it).  It will negatively impact sampling,  particularly adaptation (based on empirical posterior covariance, which will be much higher with multimodality), convergence diagnostics (which will see sigma and -sigma as answers that havne't converged) and posterior analysis (it'll overestimate posterior standard deviation for sigma, for example).


Responder component enhancements

[x] Random tip request
[x] Randomly doesn't propagate request
[ ] Add to cache

Last point will be done in #1103


—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vscode/pull/224632#pullrequestreview-2216347468, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A6OHGTPFDAHYCKRZ6NET5L3ZPPS4TAVCNFSM6AAAAABL5EAWAOVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDEMJWGM2DONBWHA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>


Version mismatch between NPM and github releases

Noticed that knex on NPM is set to version 0.18.3 while the latest release of knex as per this repo is 0.17.2
Can someone please explain if and how these two versions are related? Not sure if we should be updating to version 0.18.3 since there's no mention of it in this repo other than in the package.json

@gDelgado14 You are reading too much into it, I'm just really terrible at remembering to tag versions on GitHub 😅. That said, there is a known regression in 0.18.x currently: https://github.com/tgriesser/knex/issues/3333
If it doesn't concern you, and breaking changes in 0.18 typings are not a problem for you, then by all means 0.18 is superior to 0.17 and update is recommended.

0.18.4 with correct tag has just landed.


Calendar width issues in Firefox.

I'm testing in Firefox on Xubuntu, and it looks like the calendar width is just a touch too small to render all seven days in a row.
Screenshot of problem:

+1

+1

I  width: 308px; for div.rdr-Calendar and fix it.

+1
I set the padding in the theme of the calendar to fix, decremented the horizontal padding by one like:
theme={{
Calendar       : {
width        : '200px',
padding      : '10px 9px'
},
...

+1

+1


Memory Leak on addSnapshotListener for Firestore

[REQUIRED] Step 2: Describe your environment

Xcode version: 10.1
Firebase SDK version:

- Firebase/Auth (5.18.0):
    - Firebase/CoreOnly
    - FirebaseAuth (= 5.4.0)
  - Firebase/Core (5.18.0):
    - Firebase/CoreOnly
    - FirebaseAnalytics (= 5.7.0)
  - Firebase/CoreOnly (5.18.0):
    - FirebaseCore (= 5.3.1)
  - Firebase/Firestore (5.18.0):
    - Firebase/CoreOnly
    - FirebaseFirestore (= 1.0.2)
  - Firebase/Messaging (5.18.0):
    - Firebase/CoreOnly
    - FirebaseMessaging (= 3.3.2)
  - Firebase/RemoteConfig (5.18.0):
    - Firebase/Core
    - FirebaseRemoteConfig (= 3.1.0)
  - Firebase/Storage (5.18.0):
    - Firebase/CoreOnly
    - FirebaseStorage (= 3.1.0)
  - FirebaseABTesting (2.0.0):
    - FirebaseCore (~> 5.0)
    - Protobuf (~> 3.5)
  - FirebaseAnalytics (5.7.0):
    - FirebaseCore (~> 5.3)
    - FirebaseInstanceID (~> 3.6)
    - GoogleAppMeasurement (= 5.7.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 5.2)
    - GoogleUtilities/MethodSwizzler (~> 5.2)
    - GoogleUtilities/Network (~> 5.2)
    - GoogleUtilities/NSData+zlib (~> 5.2)
    - nanopb (~> 0.3)
  - FirebaseAnalyticsInterop (1.2.0)
  - FirebaseAuth (5.4.0):
    - FirebaseAuthInterop (~> 1.0)
    - FirebaseCore (~> 5.2)
    - GoogleUtilities/Environment (~> 5.2)
    - GTMSessionFetcher/Core (~> 1.1)
  - FirebaseAuthInterop (1.0.0)
  - FirebaseCore (5.3.1):
    - GoogleUtilities/Logger (~> 5.2)
  - FirebaseFirestore (1.0.2):
    - FirebaseAuthInterop (~> 1.0)
    - FirebaseCore (~> 5.2)
    - FirebaseFirestore/abseil-cpp (= 1.0.2)
    - gRPC-C++ (= 0.0.6)
    - leveldb-library (~> 1.20)
    - nanopb (~> 0.3.901)
    - Protobuf (~> 3.1)
  - FirebaseFirestore/abseil-cpp (1.0.2):
    - FirebaseAuthInterop (~> 1.0)
    - FirebaseCore (~> 5.2)
    - gRPC-C++ (= 0.0.6)
    - leveldb-library (~> 1.20)
    - nanopb (~> 0.3.901)
    - Protobuf (~> 3.1)
  - FirebaseInstanceID (3.7.0):
    - FirebaseCore (~> 5.2)
    - GoogleUtilities/Environment (~> 5.2)
    - GoogleUtilities/UserDefaults (~> 5.2)
  - FirebaseMessaging (3.3.2):
    - FirebaseAnalyticsInterop (~> 1.1)
    - FirebaseCore (~> 5.2)
    - FirebaseInstanceID (~> 3.6)
    - GoogleUtilities/Environment (~> 5.3)
    - GoogleUtilities/Reachability (~> 5.3)
    - GoogleUtilities/UserDefaults (~> 5.3)
    - Protobuf (~> 3.1)
  - FirebaseRemoteConfig (3.1.0):
    - FirebaseABTesting (~> 2.0)
    - FirebaseAnalytics (~> 5.3)
    - FirebaseCore (~> 5.1)
    - FirebaseInstanceID (~> 3.3)
    - GoogleUtilities/Environment (~> 5.2)
    - GoogleUtilities/NSData+zlib (~> 5.2)
    - Protobuf (~> 3.5)
  - FirebaseStorage (3.1.0):
    - FirebaseAuthInterop (~> 1.0)
    - FirebaseCore (~> 5.2)
    - GTMSessionFetcher/Core (~> 1.1)

[REQUIRED] Step 3: Describe the problem
When adding a delegate to Snapshot Listener, it causes a retain cycle.
I have a Viewcontroller that has a weak delegate to firestore listener class. If listener class calls the weak delegate reference when Viewcontroller class get destroyed.
firestore listener class's deinit is never called.
Relevant Code:
import Foundation
import Firebase

protocol TicketDetailsManagerDelegate:class {
    func ticketDetailsModified(_ ticket:Ticket)
    func customerDetailsModified(_ customer:Customer)
}

class TicketDetailsManager: NSObject {

    weak var delegate:TicketDetailsManagerDelegate?
    var isFirestoreRequestInProgress:Bool = false

    weak var ticketReference:ListenerRegistration? //does weak do anything here
    weak var customerReference:ListenerRegistration?

    let docPath:String = "tickets"
    let collectionPath:String = "tickets_list"

    deinit {
        print("TicketDetailsManager deinit called")
    }

    convenience init(_ ticketId:String , _ delegate:TicketDetailsManagerDelegate?) {
        self.init()
        self.delegate = delegate
        self.getFirestoreTicket(ticketId)
    }

    /// Requests a ticket from Firestore
    func getFirestoreTicket(_ ticketId:String)
    {
        DispatchQueue.global(qos: .userInitiated).async {
            guard let portalId:String = LoginData.sharedInstance.getPortalId() else { return }
            guard let modelDelegate = self.delegate else {return}

            let db:Firestore = Firestore.firestore()
            let ticketRef = db.collection(portalId).document(self.docPath).collection(self.collectionPath).document(ticketId)

            self.ticketReference = ticketRef.addSnapshotListener { [unowned self] querySnapshot, err in
                guard let snapshot = querySnapshot else {
                    log.error("Error fetching snapshots: \(err!)")
                    return
                }

                guard let ticketData = snapshot.data()
                    else {
                        log.error("Ticket data was empty, can't update ticket details")
                        return
                }

                //get customer details thru foreignkey , aka document reference
                let ticket = Ticket(ticketData as NSDictionary)
                //modelDelegate.ticketDetailsModified(ticket)

            }

        }

    }

Above example works fine because modelDelegate is commented out.
Result is
TicketDetailsManager deinit called
when this line is uncommented modelDelegate.ticketDetailsModified(ticket)  deinit is never get called, thus causing a retain cycle.
in debuggin mode while  TicketDetailsManager class allocated graph looks like

then when view is destroyed  and a new one pushed to the stack. you can see that previous one has not been destroyed because of addsnapshot listener

This is working as designed. Some applications intend to fire and forget listeners, so ListenerRegistration.dealloc() does not destroy the listener.
You need to call ListenerRegistration.remove() on the listener registration when you're done with it. Either once you've gotten the data you need or in this class's deinit.
Using weak for your ListenerRegistration members doesn't do anything interesting. Firestore doesn't keep a strong reference to the ListenerRegistration proper, we only keep a strong reference to the implementation. As a result, your weak references will become nil and actually prevent you from calling remove().

@wilhuff that is the problem deinit in my sample call is never called.....
I am actively listening changes in firestore , it is not fire and forget so I cannot call ListenerRegistration.remove()

@wilhuff nevermind, reading carefully, you are right, this is a my bad. Misusage of weak var delegate

Based on the graph I assume that TicketDetailsManagerDelegate is actually implemented by TicketDetailsViewModel.
Your first problem is that your delegate is strongly retained by the block, even though your class goes out of its way to keep a weak reference. The difference between the working case and the non-working case is that when you uncomment modelDelegate in the Firestore listener you're capturing a strong reference to it. It's likely that TicketDetailsViewModel has a strong reference to  TicketDetailsManager which is what keeps it alitve.

Even after you deal with the delegate, your second problem is that when your view is going it away it really should notify the manager to stop listening. Otherwise we'll just keep delivery snapshots into that block even though the delegate has gone away.


Bump cardano-node to 8.5.0

[x] Bump cardano-node
[ ] Fix plutip not running (mlabs-haskell/plutip#184)
[ ] Fix breaking changes

Related #1521
Pre-review checklist

[ ] All code has been formatted using our config (make format)
[ ] Any new API features or modification of existing behavior is covered as defined in our test plan
[ ] The changelog has been updated under the ## Unreleased header, using the appropriate sub-headings (### Added, ### Removed, ### Fixed), and the links to the appropriate issues/PRs have been included

We have a block on plutip -> cardano-wallet (need 8.5.0, have 8.1.1):
cardano-wallet#4279 (8.1.2)
cardano-wallet#4300 (8.1.2)

Related Plutonomicon/cardano-transaction-lib#1573

Seems like we can't use 8.5 simply because it's not on Dockerhub.
There's also an issue of cardano-configurations completely changing format and so we managed to get it working only for cardano-node 8.1.1 and some random pinned version of cardano-configurations.


[EDIT] Finish the first sentence of 30 July 2024 DraftKings entry

Entry

Changes
Change first sentence, "American sports gambling behemoth DraftKings announced to users of its Reignmakers NFT game and NFT marketplace, effective immediately.", to mention what was announced.
Agreement
By submitting this issue, I irrevocably agree to release my contribution under the CC-BY 3.0 License. I agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.

No attribution required.

Ack, thanks!


Netlify and Vercel lambda functions expect CJS, not ESM

Describe the bug
For both Netlify and Vercel, the functions are expected to be in CJS format.
Logs
Netlify
{
    "errorType": "Runtime.UserCodeSyntaxError",
    "errorMessage": "SyntaxError: Cannot use import statement outside a module",
    "trace": [
        "Runtime.UserCodeSyntaxError: SyntaxError: Cannot use import statement outside a module",
        "    at _loadUserApp (/var/runtime/UserFunction.js:98:13)",
        "    at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)",
        "    at Object.<anonymous> (/var/runtime/index.js:43:30)",
        "    at Module._compile (internal/modules/cjs/loader.js:999:30)",
        "    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)",
        "    at Module.load (internal/modules/cjs/loader.js:863:32)",
        "    at Function.Module._load (internal/modules/cjs/loader.js:708:14)",
        "    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)",
        "    at internal/main/run_main_module.js:17:47"
    ]
}

Vercel
2021-02-21T09:39:07.112Z	undefined	ERROR	/var/task/index.js:1
import { parse, URLSearchParams } from 'url';
^^^^^^
SyntaxError: Cannot use import statement outside a module
    at wrapSafe (internal/modules/cjs/loader.js:979:16)
    at Module._compile (internal/modules/cjs/loader.js:1027:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at /var/task/___now_launcher.js:26:28
    at Object.<anonymous> (/var/task/___now_launcher.js:74:7)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
RequestId: 4f971773-0d4d-4914-90d4-eb2f6706c2c8 Error: Runtime exited with error: exit status 1
Runtime.ExitError

To Reproduce

Use any of the example apps in kit/examples
Build and then adapt with the Netlify adapter
Initialize the project on Netlify
Build will succeed, but all pages will error as the function cannot run

Repeat above with Vercel.
Expected behavior
No import issues.
Information about your SvelteKit Installation:
  System:
    OS: Windows 10 10.0.19042
    CPU: (16) x64 AMD Ryzen 7 3700X 8-Core Processor
    Memory: 8.05 GB / 31.95 GB
  Binaries:
    Node: 14.15.3 - C:\Program Files\nodejs\node.EXE
    npm: 7.5.2 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: 88.0.4324.182
    Edge: Spartan (44.19041.423.0), Chromium (88.0.705.63)
    Internet Explorer: 11.0.19041.1
  npmPackages:
    @sveltejs/adapter-netlify: 1.0.0-next.1
    @sveltejs/adapter-vercel: 1.0.0-next.2
    @sveltejs/kit: 1.0.0-next.34
    @sveltejs/snowpack-config: next => 1.0.0-next.3
    svelte: ^3.29.0 => 3.32.3

Severity
This makes the Netlify and Vercel adapters unusable. The user might be able to postprocess the adapter results to CJS themselves, but practically speaking it's a blocker for those platforms.
Additional context
In an ideal world, the lambdas could run ESM, but it seems the adapter output might need to be translated to CJS instead.
This would likely affect all variants of AWS lambdas. AWS recently added Node 14 support but it does not mention supporting ESM imports, so I'm not sure of their stance on it. There's also an open Netlify forum post about it.
#349 is likely related, as this impedes the goal to have everything in ESM.

Closing this as the relevant PRs have been merged. Further discussion should go to #503 instead.

This issue can be closed as soon as #483, #485, and #486 all get merged.

Running Vercel example: https://vercel-test-grygrflzr.vercel.app/
Running Netlify example: https://kit-test.netlify.app/

Do you have a code example for the Vercel example you have here @GrygrFlzr, please?


Using the REST API with curl to send WOL

I've been messing around with this for a bit with no success, so thought I would reach out for some assistance. :-)
I'd imagine there's a fairly straightforward way to use curl to get the jwt token and then send a WOL request to one of my registered devices in UpSnap. A little help with the proper syntax would be appreciated!

Have you checked the wiki?

@seriousm4x

Have you checked the wiki?

I have, but I can't seem to come up with the right syntax to request a token and then use it for WOL in a one line curl. Any chance you could point me in the right direction, or shoot me an example using curl?

@seriousm4x
OK, so I finally got the token using:
curl -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' --data '{"identity":"<myusernamehere>","password":"<mypasswordhere>","rememberMe":false}' http://apcupsd:8090/api/admins/auth-with-password

Now we'll see if I can expand it to include the WOL portion in the same command...

@seriousm4x
I have a curl one-liner that's working, that I'll use, unless you know of a cleaner way to do it:
curl -H 'Accept: application/json' -H "Authorization: Bearer $(curl -s -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' --data '{"identity":"<myusernamehere>","password":"<mypasswordhere>","rememberMe":false}' http://apcupsd:8090/api/admins/auth-with-password | jq -r '.token')" http://apcupsd:8090/api/upsnap/wake/:<mydeviceidhere>

Having a curl example like this, and perhaps an http:// based example that someone could use as a bookmarkable URL to wake a machine could be nice additions to the Wiki.

if you need a one liner I thinks that's the same solution I would have come up with as well. Basically you need to get the token first and then send the token with every other request you need to make. Just like you did.
You might want to test what happens, when the nested curl command for the token fails.


Tests fail to compile: Unknown CMake command "project_options"

CMake Warning (dev) at /usr/local/share/cmake/Modules/FetchContent.cmake:1264 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  test/CMakeLists.txt:17 (FetchContent_Declare)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Error at test/CMakeLists.txt:19 (include):
  include could not find requested file:

    /disk-samsung/freebsd-ports/devel/rapidfuzz-cpp/work/.build/_deps/_project_options-src/Index.cmake

CMake Error at test/CMakeLists.txt:21 (project_options):
  Unknown CMake command "project_options".

Version: 1.9.0
FreeBSD 13.1

Hm I did not change anything in the cmake build system between v0.18.0 and v0.19.0. For the warning it should be enough to add cmake_policy(SET CMP0135 NEW).
What files do you have in work/.build/_deps/_project_options-src/?

The full cmake output has a relevant warning:
Using FetchContent to load Catch2
CMake Warning (dev) at /usr/local/share/cmake/Modules/FetchContent.cmake:1264 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  test/CMakeLists.txt:17 (FetchContent_Declare)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Error at test/CMakeLists.txt:19 (include):
  include could not find requested file:

    /disk-samsung/freebsd-ports/devel/rapidfuzz-cpp/work/.build/_deps/_project_options-src/Index.cmake

CMake Error at test/CMakeLists.txt:21 (project_options):
  Unknown CMake command "project_options".

All downloads should always check content hash.

https://github.com/maxbachmann/rapidfuzz-cpp/commit/920ea4de47154bda24e998ecfaa9ff6d2ef82f32 should fix the warning about CMP0135. Could you retry with the latest main version?

1.10.2 still has this problem.

Ah seems this was fixed in the latest release: https://github.com/aminya/project_options/releases/tag/v0.26.2

Could you retry with v2.10.3

1.10.3 still has the same problem.

Then I am completely clueless about the issue. I will simply add an extra option to enable these warning, so project_options can be disabled


Uses links are broken

Go to https://godoc.org/bytes
Scroll to a function with a "Uses" link.
Hover over function name to see "Uses" link and click.

Actual: sourcegraph 404
Expected: A page showing uses of the function.

/cc @sqs

(Sourcegraph dev here) This issue has just been fixed.
I really appreciate the bug report, since it let us find and fix this. 😄
It was caused by a regression on our end that caused our Go language server to be unable to resolve symbols defined in the Go standard library.
I've confirmed this did not affect any other Go packages on godoc.org (only the standard library packages were affected), and am putting in place some better tests to ensure this doesn't happen again.

Thanks a lot for providing a quick resolution to this @slimsag, as well as explaining what happened.
I've confirmed that the Uses links for standard library identifiers work now, so this issue can be closed.

Reopening because this doesn't seem to be completely resolved, according to https://github.com/golang/go/issues/22067. In it, @dsnet said:

Go to the page for reflect.Copy. Hover the mouse to the right of the "func Copy" heading and click the "Uses" link. This link brings me to an error 404 page. The target it tries to hit is: https://sourcegraph.com/go/reflect/-/Copy, which reports the 404.
Interestingly, it works on the 'bytes.Compare. For example, "func Compare" links to the target: https://sourcegraph.com/-/godoc/refs?def=Compare&pkg=bytes&repo=, which does work.

/cc @slimsag

I tried refreshing the documentation of https://godoc.org/reflect package, but that had no effect on this.

Thanks for re-opening & pinging @shurcooL ! I appreciate that. I've just fixed the mentioned issue.
This time the issue was a bit different: Sourcegraph doesn't yet have full support for type aliases.
Our Go language servers were running Go 1.8, and because of recent changes to the reflect package in the latest master revision of Go where type aliases had been added to the package tests, our language servers were failing to parse the reflect package properly.
I've fixed this by upgrading our language servers to Go 1.9, which means that any package with type aliases will now work.
Sorry for the trouble! If you notice any other issues please feel free to ping me or @sqs once again :)

Thanks for the update and resolving the issue once again, @slimsag.
I can confirm the uses link for reflect.Copy identifier works now. Closing, since this is resolved. /cc @dsnet


[Question] I'm not sure where else I'd be able to ask; Does enabling this change any of XIV's base configurations or settings?

I'm wanting to try Frost UI out and see how it feels, but I'm afraid of my base stuff (hud, configurations, settings, etc) being changed.  Does FrostUI affect any of that, or is it isolated so if I enable then disable the stuff will return to how it was?  Thank you!

Its essentially just a skin, it wont touch any of that - only visually.

Thank you for the info! <3


[Parallel] - Add ability to limit the number of thread to start to si…

Add ability to limit the number of concurrent thread simultaneosly active.
This can help to simulate browser's real behaviour.
This PR introduces a boolean checkbox and a spinner to control this feature (see image)
By default no limit is set to be backward compatible.

Thank you @lucapino
Your PR looks good, i'll check it later this week and than release a new version of this plugin

I just fixed the toggle mechanism of checbox and spinner on the GUI.
Now when checkbox is not selected the spinner is disabled.


Question: How to change color for "inactive" tab item?

Hello,
I couldn't find a way how to change default text color (gray) to white or anything. Background for active/inactive tab will be nice feature too.
But text is really important because when I will change "barTintColor" then gray looks really bad.
For active tab "tintColor" is working as expected.
Styles are also not working.
Thank you for any help.

I can change text color through Objective-C.
// Add this code to change StateNormal text Color,
[UITabBarItem.appearance setTitleTextAttributes:
@{NSForegroundColorAttributeName : [UIColor colorWithRed:0.424 green:0.29 blue:0.529 alpha:1]}
forState:UIControlStateNormal];

// then if StateSelected should be different, you should add this code
[UITabBarItem.appearance setTitleTextAttributes:
@{NSForegroundColorAttributeName : [UIColor whiteColor]}
forState:UIControlStateSelected];

But I can't find where you generate images from icon fonts to change default image color
http://stackoverflow.com/questions/22767098/how-to-change-inactive-icon-text-color-on-tab-bar

This feature would be really helpful if we change barTintColor.

Are you thinking this should be a property on my tab bar implementation? Are you wanting the text color to match the icon or allow them to be styled separately?

Definitely it should be in SMXTabBar implementation
I think there should be at least SMXTabBar property to change "Inactive tab" text or icon color
It doesn't matter if icon color will follow text color or text color will follow icon color
As you can see the stackoverflow link above. If you change barTintColor to blue then grey text is no longer good color. I found out I can change the bar text color as you can see above (I know it is not a great way but it works at least). But there is no way how to change icon color and remains grey :(.

This is the best result which I can achieve.

inactive violet text is [UIColor colorWithRed:0.424 green:0.29 blue:0.529 alpha:1] or #6c4a87
There should be solution how to color the unselected icons to not stay grey.

Yeah I see what you mean, the issue is that the underlying native tab bar doesn't have a way to specify the unselected icon color unless you use separate images for each state. I've tried a few things but will have to dig a bit deeper to see how we can fully solve this. If you have any thoughts on implementation or get it working feel free to send over a Pull Request

Unfortunately I don't have enough iOS skills to solve this problem alone.
I don't know if you generate image from icon font to use it as active state or how is it possible to change the icon color through tintColor. I tried to change some values in "createImageForIcon" (IconGenerator.m) or in "FAKIconImageManager.m" but without luck. Maybe if the "new property" is set you can generate and use two images for normal state and selected state. If not use the current code. But I don't know how this could be difficult.
Maybe this could help you somehow http://jslim.net/blog/2014/05/05/ios-customize-uitabbar-appearance/.

+1

+1

@corymsmith   http://stackoverflow.com/questions/26551458/change-tintcolor-of-unselected-uitabbarcontroller-item-title-and-background-imag  This answer from SO solved the problem.    (UIControlStateNormal, UIControlStateSelected and UIImageRenderingModeAlwaysOriginal) . Please check it out.

Is this happening?

@baseio Haven't had time to implement  yet, would love a PR since lots of people have asked for it.

Just in case someone needs this in swift
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName : UIColor.blueColor()], forState: UIControlState.Normal) // changes the default color
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName : UIColor.blackColor()], forState: UIControlState.Selected) // changes the selected color

Closing this as support for this library is being discontinued, I highly recommend using https://github.com/oblador/react-native-vector-icons instead as its more fully featured, I've added a warning to the Readme about this as well.


updating the folder name in metadata

Description

Checklist:

[ ] I have tested my changes. No regression in existing tests.
[ ] My code is Linted.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Closing this PR as I have submitted without rebase.


Improve handling of environment variables when IDE is configured multiple times

If you setup your IDE (using source env.sh, using IDEenv, running console, etc.) several environment variables are set/modified (e.g. JAVA_HOME, PATH, etc.). If this happens more than once (maybe even with different parallel IDE project installations) this can get a little messy:
Some environment variables like PATH are not entirely overwritten but extended. So e.g. for PATH with every call several directories are prepended. So if you have multiple of these IDE environment variable setups you will have a very long and messy path.
It would be awesome to find a solution how we can detect this and replace the previous extensions rather than extending again.
To make it very clear, here is what I mean:
➜  devon source env.sh
IDE environment has been initialized.
➜  /projects echo $PATH
/projects/devon/software/maven/bin:/projects/devon/software/java/bin:/projects/devon/software/eclipse::/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/opt/X11/bin
➜  /projects cd mmm
➜  mmm source env.sh
IDE environment has been initialized.
➜  /projects echo $PATH
/projects/mmm/software/maven:/projects/mmm/software/java/bin:/projects/mmm/software/eclipse:/projects/devon/software/maven/bin:/projects/devon/software/java/bin:/projects/devon/software/eclipse::/projects/devon/software/maven/bin:/projects/devon/software/java/bin:/projects/devon/software/eclipse::/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/opt/X11/bin

Fixed.
https://github.com/devonfw/devon-ide/wiki/varibales


fix offline deleted heading link style and link padding

Details
Fixes the following issues -

Deleted heading links in offline mode look like underline and not strikethrough.
Header links had extra padding on top.
Internal links didn't have cursor pointer (a regression that was found during previous PR).

Fixed Issues

$ https://github.com/Expensify/App/issues/18658
$ https://github.com/Expensify/App/issues/17488
$ https://github.com/Expensify/App/issues/18658#issuecomment-1591891036
Tests

For testing #17488 (padding above header links) -

Open the app in Chrome/safari on your desktop.
Open a chat.
Send any link as header text. eg: # google.com
Verify that there is no extra padding above links and that links are only clickable (with the cursor as a pointer) when the cursor is over the text not above it.

You can also follow the same steps on the desktop app on MacOS to verify that it is working successfully there as well.
For testing #16526 (cursor shown in empty space for links that span multiple lines) -

Post a long hyperlink as a comment.
e.g link : Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ornare dignissim nunc, eleifend molestie dui tempus non. Proin semper eu metus sit amet feugiat. Sed turpis augue, pellentesque sed accumsan ornare, malesuada in ligula. Aliquam porta condimentum varius. Morbi id lorem felis.
Hover over the hyperlink after posting the comment.
On web and desktop platforms pointer cursor should be shown only when the mouse cursor is over the hyperlink and not when it is over the empty space near the line endings.
Regular cursor should be shown while hovering over the empty area next to the hyperlink.
On other platforms, the comment should be shown exactly as it was rendered earlier.
All other comment types should render exactly the same as before.
Same behaviour is applicable for links posted as a reply to a comment via email.

For testing https://github.com/Expensify/App/issues/20669 (cursor is not pointer for internal links) -

Send a message with any internal link like - staging.new.expensify.com/settings/shareCode.
Hover over the link and verify that the cursor is pointer for internal links.

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

Offline tests
Issue #18658 must be tested in offline mode. Follow the steps below -

Open the app in Chrome on your desktop.

Delete the message.
Verify that the message is shown with a strikethrough style (line over the message) and not underlined.

Note -

Repeat the steps above for the following messages (feel free to add more) -
Messages are separated by a new empty line.

# text header

# header with link.com

# header with emoji 😇

# 😇😇

> # header inside quote with [link](google.com)

`# try header in code`

\```
multiline code (remove \ before three backticks above and below)
😅
link.com
\```

😋😆😇😇

[normal link](google.com)

Also repeat the steps for different attachments - images, PDFs, files without preview like CSVs, docs. Upload them in online mode, go offline and delete them.
a. After deleting attachments like images, PDFs, GIFs which have preview, their opacity should decrease and user should not be able to open them.
b. For attachments without previews like CSV, docs, etc. A strikethrough should be shown similar to text comments.
Add any attachments in offline mode. App should keep showing "Uploading attachment...". Delete the attachment. App should show a strikethrough over the text.

You can test this behaviour on a mobile browser, desktop browser, MacOS desktop app, iOS app, android app, etc using the same steps.

QA Steps

Follow the same steps listed in the sections above. Expand this to see the same steps.

[ ] Verify that no errors appear in the JS console

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/31413407/133a6b94-dadf-44f4-a656-34fc89ff4dfd

Mobile Web - Chrome
https://github.com/Expensify/App/assets/31413407/76199fc7-46df-447d-83ba-60696ec29eaa

Mobile Web - Safari
https://github.com/Expensify/App/assets/31413407/0a3a4593-3eff-4ecb-b8fc-264dd9f480e8

Desktop
https://github.com/Expensify/App/assets/31413407/e798b56b-241d-46df-bb74-a8293403afb0

iOS
https://github.com/Expensify/App/assets/31413407/4405b0ec-252f-45ac-88b9-c9f4c0a266f9

Android
https://github.com/Expensify/App/assets/31413407/58040b34-8adc-45a6-804b-7213bf7f93bb

@cristipaval @mollfpr @twisterdotcom PR is up. Ready for review.

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

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

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

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

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

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

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

Hey @cristipaval you were not added as an approver here, so can you add yourself?

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/cristipaval in version: 1.3.31-0 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

This PR seems to be failing QA. I'm not gonna block the deploy on this since it's a cosmetic change that doesn't impact app functionality. @amyevans @cristipaval could you please check if this is indeed failing?

🚀 Deployed to production by https://github.com/luacmartins in version: 1.3.31-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
cancelled 🔪

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/luacmartins in version: 1.3.31-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

I have also tested and the issues mentioned in the comment are not applicable.
#21393 is not caused by this PR (the functionality was tested during this PR and we can see in test proofs). Also, the PR for that issue shows the root cause and it was not changed in this PR.
#18658 is the issue that this PR is fixing


Page break?

Just getting started with this and it's working really great. One thing though, is there any way to create a page-break using py2docx? It's the one feature I'm missing at the moment and unfortunately a dealbreaker.

Hey Simon, I am glad you like the module! Until now Py2docx does not implement page break, but I think it is easy to implement that. I'm gonna try to implement page break asap, is that ok??

Hi Rafael,
sounds great :).
Found a workaround which helped me with my current project. Pretty much
like this solution:
http://stackoverflow.com/questions/28567445/create-docx-via-python-page-breaks-tables-possible
Best regards,
Simon

Simon Björk
Compositor/TD
+46 (0)70-2859503
www.bjorkvisuals.com
2015-02-19 16:28 GMT+01:00 Rafael Soares dos Santos <
<EMAIL_ADDRESS>
Hey Simon, I am glad you like the module! Until now Py2docx does not
implement page break, but I think it is easy to implement that. I'm gonna
try to implement page break asap, is that ok??
—
Reply to this email directly or view it on GitHub
https://github.com/rafaels88/py2docx/issues/3#issuecomment-75071023.

Good to know, Simon!! Thanks for your feedback!!


Add chain invocation for $moduleInit(), $moduleStart(), $moduleStop(), and $configureInit() methods

Purpose
During the codegen phase we generate a set of functions for initializing modules and their ballerina constructs. As of now, these initializations are done using a flattened dependency list for each ballerina module.
Fixes #42367
Approach
Changed the $moduleInit() and $moduleStart() BIRFunction generation boilerplate to generate a invocations of $moduleInit() functions instead of <.init>() functions. The new method generation will be as follows,

Did the same change for generated $configureInit() methods inside $configurationMapper class.
Samples
Full change samples can be found in this document.

Previous
New

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

During the offline discussion with @warunalakshitha we decided to add chain invocations for $moduleStop() as well. Explanation on how the $moduleStop() methods get triggered can be found in this document.

@warunalakshitha can you review this?


Sps007

Rule handling spatial composition concept template with VS statements.
https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/concepts/Object_Connectivity/Spatial_Structure/Spatial_Containment/content.html
#edit; todo is still to handle ContainedInStructure component
Needs to be restructured differently
e.g.
Scenario Outline:
        Given an <entity>
        Given A relationship IfcRelContainedInSpatialStructure from IfcSpatialElement to <entity> and following that
        Given ContainedInStructure = not empty
        Given its attribute ContainedInStructure

        Then it must be of length 1 at depth 1
        Then it must be of type IfcSpatialStructure

        Examples:
              |  entity |
              |  IfcElement|
              |  IfcGrid   |
              |  IfcAnnotation |

Some notes:

A custom NoneType is added that can be differentiated from the python build-in used None type. This is to handle case in which we find don't find an attribute for an entity in IFC, but do want to sustain this information in the stack for evaluation in a later step (i.e. at assert existence.).
The spatial relationship entity seems to be a logical starting point as the activation instance as the constraints in this CT can be derived from it.
In the statement'The current directional relationship must not contain multiple entities at depth 1':One challenge was to, in the context stack, differentiate between a length of a sequence that is the result of an attribute lookup at the entity instance level (e.g. 'RelatedObjects') as opposed to two entities having one related object each. For instance, in validation_handling, [IfcWall, IfcWall] gets unpacked into two successive IfcWall as inst in the impl function. However, [(IfcWall, IfcWall)I or [(IfcWall, IfcWall],None] as well. This can be handled, I think, with the 'at depth 1' functionality. Then, relationships with multiple entities are then always of type tuple containing more than one entity_instance.
https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/concepts/Object_Connectivity/Spatial_Structure/Spatial_Containment/content.html

https://github.com/buildingSMART/ifc-gherkin-rules/pull/197


Type predicates and narrowing Arrays

Suggestion

🔍 Search Terms

type narrowing array
✅ Viability Checklist

My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code

It's a matter of accurately inferring types, it would only make code less verbose by requiring fewer type assertions.

[x] This wouldn't change the runtime behavior of existing JavaScript code

Purely a typing issue

[x] This could be implemented without emitting different JS based on the types of the expressions

This only makes it easier to appease the typechecker

[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)

It's a compile-time change

[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
Currently, it is not possible to narrow down the type of a union of arrays based on the types of their contents, even if the arrays of the union are disjunct. I suggest updating the typechecker, if possible, to allow for this.
📃 Motivating Example
If we try to do it the naive way, we get the following scenario:
function fun1(array: number[] | string[]) {
    if (array.length > 0 && typeof array[0] === "number") {
        array // Actual type:  number[] | string[]
              // Desired type: number[]
    }
}

function fun2(array: [number, ...number[]] | [string, ...string[]]) {
    if (typeof array[0] === "number") {
        array // Actual type:  [number, ...number[]] | [string, ...string[]]
              // Desired type: [number, ...number[]]
    }
}

Instead, the programmer is forced to write a type assertion on top of verifying the type of the array
function fun1(array: number[] | string[]) {
    if (array.length > 0 && typeof array[0] === "number") {
        array as number[]
    }
}

function fun2(array: [number, ...number[]] | [string, ...string[]]) {
    if (typeof array[0] === "number") {
        array as [number, ...number[]]
    }
}

💻 Use Cases

This makes for cleaner code and a more streamlined and intuitive user experience. The current approach makes for clunky and bloated code when dealing with arrays, as the only way to properly type things is with type assertions.

This sounds like a duplicate of #45301 to me, which was marked as a duplicate of #42384.

Ahhh, I was looking for suggestions, not bug reports, so I missed #45301.
I did notice #42384, but is it be the same situation? I'm not exactly sure how the type-checker works w.r.t. arrays and objects.