Performance when push to ChatViewController not good

Hi @ekazaev!
I used to apply ChatLayout to my ChatViewController. When push from list conversations to ChatViewController screen, i think i have a problem. It seem a little slow to show messages in Chat screen. I have run Time Profile by Instruments. I don't know why there functions and classes get more time.
https://github.com/ekazaev/ChatLayout/assets/26923574/b49611ab-250a-4f1e-b574-572974d517c1

Hi @hhoangna
In general there is nothing wrong with those functions. You are actually initialising a lot of views in one go. Potentially your ChatReplyCell worth having a look though. It seems to be the heaviest one. But there is nothing to do with the library itself.
I see you also have a flickering when chat view is being pushed to the UINavigationController - if you want to get rid of it - you need to setup collection first time in the first call of viewDidLayoutSubviews

I try to setup collection in viewDidLayoutSubviews but nothing change :(
I know that a lot of views initial but i think they are nessessory.

@hhoangna Lets first try to understand straight what are you doing. Are you trying to fix some performance issue related to the amount of the views you are creating or the visual glitch that the chat doesn’t appear immediately when the chat controller is being pushed into navigation controller and blame it on performance?
If you are trying to solve the visual glitch - then I can point you to the core of the problem. You are trying to update the collection view while it is being in the Core Animation transaction initiated by the animated push into the navigation controller. To avoid it you need to correctly set it in viewDidLayoutSubviews without triggering extra animation curve. The Instruments wont help you there.
On other hand, If you are trying to solve just some performance issue in general - I can not help you there. It is your code, I am not familiar with it. I can only assure you that it is doable as I have seen the apps in production that use ChatLayout without visible performance issues.

Yup. Still a lot of issues with my app. Such as animation while push to chat screen. I can't find any code line make that animation.
Can we add contact each other? I will sent you my source code to preview.

@hhoangna I appreciate the honour but Id prefer to avoid such a close interaction unless it is going to be a paid service. I have my own work to do otherwise.
But I assure you that what I said above that what is happening is that you are creating an extra animation loop while the controller is being pushed into the UINavigationController. Check that you propagate the first data within the viewDidLayoutSubviews. If your code is losely based on the Example app check that in this piece at this moment you return true
collectionView.reload(using: changeSet,
                                  interrupt: { changeSet in
                                      guard changeSet.sectionInserted.isEmpty else {
                                          return true // FIRST TIME YOU MUST RETURN TRUE TO AVOID IT GOING TO performBatchUpdates
                                      }
                                      return false
                                  }

I have fixed animation when push Navigation Controller. It's a animation default of system when push from tabbarController.selectedViewController.navigationController.push(vc, animation: true), then have no animation now.
The first load data in my code is same as your Example
collectionView.reload(using: changeSet,                                   interrupt: { changeSet in                 if shouldInterrupt {                     return true                 } else {                     if self.currentControllerActions.options.contains(.loadingInitialMessages) {                         guard changeSet.sectionInserted.isEmpty else {                             return true                         }                         return false                     } else {                         return false                     }                 }             }
Nothing change, i think all problem is from initialing more subviews in custom chat cell

@hhoangna Can you put a breakpoint inside of onInterruptedReload and make sure that when view controller is just starts to be pushed into a UINavigationController?
As I said. YOu are initialising views in the main thread. So it can create a delay but not a flickering ui. Your problem is the animation transition.

Thanks you so much. I'll try

@hhoangna Good luck

Hi there :D
Sorry because of reopen this issue
I had try create new synchronously function to get data and binding to collection view. And put them in  viewDidLayoutSubviews. It's working, flickering was removed. But it's seem to get more time before navigation push to chat screen (about ~ 500ms)
And they have weird animation like video below:
https://github.com/ekazaev/ChatLayout/assets/26923574/7ce2f80c-a1ae-45d4-bab5-cb0824b1cfa9
I don't know why. Then i crop a part of my project source code to sent to you. This can not run. Please review code and give me some advices. Thanks you so much
Chat.zip

@hhoangna I will have a look later at your code. But I still have the feeling that there is some unexpected animation happens during the push. Check it out.
But I can tell you where is the delay can happen.
First place that can cause the delay - measure your synchronious function how long does it take to convert your data model to cell model.
Second, potentially you have heavy cells and because there is quite a few of them on the screens - their structure may require optimisation.
This is the case that you need to check in the Instruments


These paths have changed.

Description
The AR paths have changed in the toolkit now.
These are the new paths: https://github.com/Esri/arcgis-maps-sdk-toolkit-qt/tree/v.next/augmented_reality/ArApi
Type of change

[X] Bug fix
[ ] New sample implementation
[ ] Sample viewer enhancement
[ ] Other enhancement

Platforms tested on:

[ ] Windows
[ ] Android
[ ] Linux
[ ] macOS
[X] iOS

I think this toolkit work was done before last release, should we cherry pick to main as well?

@jared-2016 yes good call, I will cherry pick this to main shortly. Not sure how we missed this.


SFTP connection does not work when the key file is not provided

Description:
Reproducible with the following.
ftp:Client 'client = check new ({
    protocol: ftp:SFTP,
    host: "localhost",
    port: 21213,
    auth: {
        credentials: {username: "user", password: "pass"}
    }
});

Ftp uses JSch for key management. Apparently,
Recent versions of OpenSSH (7.8 and newer) generate keys in new OpenSSH format by default, which starts with:

-----BEGIN OPENSSH PRIVATE KEY-----
JSch does not support this key format.

Taken from [1].
This can be avoided by converting the existing key to the classic OpenSSH format.
[1] https://stackoverflow.com/questions/53134212/invalid-privatekey-when-using-jsch

Closing the issue since this is not a bug.


Fix abreviation for miles in darksky sensor

Description:
I updated the abbreviation for miles in the darksky library to be mi instead of m so it isn't confused for meters per this. This was originally fixed in 5382, but was inadvertently reverted in 5264.
Related issue (if applicable): N/A
Pull request in home-assistant.github.io with documentation (if applicable): N/A
Example entry for configuration.yaml (if applicable):
sensor:
  - platform: darksky
    api_key: YOUR_API_KEY
    monitored_conditions:
      - nearest_storm_distance
      - visibility

Checklist:
If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.github.io

If the code communicates with devices, web services, or third-party tools:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] New dependencies have been added to the REQUIREMENTS variable (example).
[ ] New dependencies are only imported inside functions that use them (example).
[ ] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[ ] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] Tests have been added to verify that the new code works.

Hi @tdickman,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

Thanks! 🐬 🍪 💯


Sync main branch after cosmos moving to sdk/spring

This PR is to sync the main branch to sb3 branch after spring-data-cosmos moving to sdk/spring folder.

API change check
API changes are not detected in this pull request.


Add authorisation to the frontend

dependent on https://github.com/Pairboard/Pairboard/pull/19, diff is a bit noisy due to changes from that pull. (Styling of AuthBadge is dependent on MainLayout.css)
Main changes are to:

stores/auth.js
components/AuthBadge/*
components/AddPairingNoticeForm/index.js

This does not prevent users from spoofing each other.

someone's github username may not be the same as their fcc username, so users must be able to change it, or they should be able to log in with fcc forum
the server should have the final say whether or not someone can modify data
we also need an error state/validation for the form on the client

I assume we'll be adding a user dropdown menu or similar so I didn't implement a logout button yet, but you can click the username to log out for now.

The spoofing issue will be solved eventually, once the appropriate changes are made to the backend and frontend.
Github usernames are the source of truth for user identity - this project will not continue to be a FCC Forum user site - we'll open it to all (well, anyone with a Github account).


Favicon under iOS 18 is always bright

Since the latest update to iOS 18 the favicon is displayed always in bright color.
With iOS 17.x it was displayed in its original colors (black).
I think with iOS 18 it needs two versions to change between bright and dark mode
since Apple introduced some changes in App icons and maybe also in favicon icons.

Older iPadOS for example still shows the original Favicon:

The use of a transparent background is recommended for favicons. I use a transparent background for the FHEMApp favicon. At the moment I have no idea how I can help here. If there are any solutions, please let me know so that I can improve the compatibility for FHEMApp.

Issue closed, if problem still exists, please contact me again


added correct youtube player aspect ratio

with this change, embedded youtube videos will be displayed in a 16:9 aspect ratio.

Do you mind removing all the prettier reformatting in this PR?

Should be good now 👍


Update browser detection to latest major version

Update browser-detection to floating version.
Similar to what we do with credit-card-type in card-validator, we pin to a floating major version. Because braintree-web has a pinned version of browser-detection, restricted-input will use whatever version that braintree-web specifies when it is a dependency of braintree-web.
This will eliminate the need to release a new version of restricted input just because an update to browser detection is done.

Cancelling this build, since we have a drop-in PR running a build as well.

drop-in PR done, kicking these builds off now.


Codec refactor

Sub-part of #2006 since @privat asked for it to be split, here's one part concerning the addition of a few services to NativeString and Byte, along with the refactor of the Codec API

+1
I'm not fond of them but I understand that the NativeString are here for performance reasons.

Reroll: Fixed licence issue in test
Le ven. 15 avr. 2016 à 21:45, Jean Privat<EMAIL_ADDRESS>a
écrit :

+1
I'm not fond of them but I understand that the NativeString are here for
performance reasons.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/nitlang/nit/pull/2012#issuecomment-210709657


Outdated docs with regards to eslint

Hi there,
I got a question regarding the docs.
In the section "Displaying Lint Output in the Editor" it says:

Then, add a file called .eslintrc to the project root

This does not seem to be the case anymore, since eslintConfig  was added here.
If I understand correctly, that would mean that the docs are a bit outdated.
Since I am looking for my very first PR, I was wondering if I may open a PR (with some guidance) in order to fix this.

This only affects newly created projects, so I think we can come up with something instead of removing it all -- let's continue discussion on the PR. Thanks!


Model Evaluation using MS COCO Caption Evaluation

Refactor the demo.py script into a inference.py script that can be used to perform inference on any of the train/val/test datasets.
Implement storage of generated captions to a json-file.
Implement score.py script to calculate the scores for generated captions using the MS COCO Caption Evaluation library.

LGTM, please merge!


Blade Extends Loop

Laravel Version: 7.16.1
PHP Version: 7.4.3
Database Driver & Version: MySQL 8.0.20
Ubuntu 20.04 (Idk if it's important)

Description:
There's a little bug with Laravel Blade when you extends the blade components in itself, It makes the computer freeze(In my case) and to back to normal needs to unplug from the energy source.
Steps To Reproduce:
Please Be Careful this just froze my laptop(kinda old but it still works).

Create a Route just to render a blade view:

Route::get('/', function () {
    /* This will render a file in:
    * /foo/bar/laravel-project/resources/views/test.blade.php
    */
    return response()->view('test');
});

Then create the test.blade.php file
@extends('test')
Then access you this route on your browser, FYI I'd tried to test this by accessing it on my cellphone with help of nGrok, and it still froze my computer.

Because you are extending current blade component and occurs infinite loop.
This is not bug, this is an unreasonable coding.

Do you not have a memory limit?

Thank you for this issue. I spent 2 days searching what I did wrong when every thing seems ok turns out I accidentally extended the same view.


More stable implementation of dihedral angle using atan2

I have modified the implementation of the dihedral angle to use atan2, which is usually more stable (and often times more efficient). This removes the need of clipping in the computation to avoid NaN gradients.
However, sadly, it does not fix the discrepancy in the gradients.

Thanks @jrsassen


Add test_poll.py from Cpython v3.11.2

@fanninpm well, there is flap test(as i understand)[or some invalid pointers].


Add IE support

Doing necessary work to let the visual-dom-diff support IE

Fallback Element.prototype.getAttributeNames
Change all for...of loop to forEach
Removed all Symbol usage
Add method in DomIterator to convert iterator to array
Modified TS compiler option "target": "es5" and "lib": ["es6", "dom"]

Others

Added prettier-fix command to auto-fix the styles

I played a bit with it and added some fixes and improvements myself in https://github.com/ipip2005/visual-dom-diff/pull/1. I don't have any further feedback, so if you're ok with my changes, I'm ready to merge it all in.

I've merged your PR. Thanks for making these changes. It looks good and I've tested the changes on IE.

Great, thanks @ipip2005 . These changes are now published to npm in version 0.7.2.


Second Code Challenge - Market Dashboard with Material Design

Description
This code challenge is to demonstrate my creative approach to user
stories, knowledge of Material Design and proficiency using html
components with Angular, as well as GibHub best practices.
User Stories

As a stock market consumer, I want a dashboard showing the stock
market trends and supporting market news and related stock alerts, so I
can have a quick summary of the market that’s easily consumable

As a stock market analyst, I need a wizard-like form with multiple
steps and all the necessary form elements to submit a news story about
the stock market, as if it would add a new market news item to the
dashboard (doesn’t have to be a functional form), so I can add market
news with all the necessary media

A/C
a. Use various cards and diverse UI components
b. Follow the Material Design spec for all UI components
c. Use Covalent UI components and any other Angular modules you like
d. Link the two routes together using Angular
e. Use the responsive Flex layout that comes with Covalent
f. Use Git commit best practices for each change/addition
g. Submit a pull request to your own public GitHub repo following PR
best practices
What's included?

Dashboard
-- intended for the Stock Market Consumer
-- contains market trends, news, and alerts intended to be easily consumable
Stories Page
-- intended for Stock Market Analyst
-- contains a mockup view of All Stories and hooks to filter out
drafts from published stories
Story Form
-- intended to allow Stock Market Analyst user ONLY to generate new
stories and edit existing stories

Test Steps / Demo Flow
As a mockup, the code is not fully functional; however, the following
flow should work:

(if needed) login using any username and password combination
--> "Markets Dashboard" loads with all components
then open the main navigation at the top left and click "Story Editor"
--> "All Stories" load with static left nav
then click ... (more) icon at the end of any row
then click "Edit"
--> "Edit Story" opens with Covalent's stepper component breaking the
form into three steps
then enter the required data, click on next step title, repeat
optionally click "publish"
finally click "Save"
--> "All Stories" load, allowing the analyst to quickly access the
story again, or navigate to the dashboard

nice work @jennmedellin! can you post screenies of the form and user views?
❤ the 🦄

Thanks!  Sure, I'll post the others after work today.

@kyleledbetter Here's the rest of the screens for the form and stories.


VSCode not showing errors

Hi,
I'm trying to configure Codelyzer's VSCode error highlight. I have an angular-cli setup:
{
  "rulesDirectory": [
    "node_modules/codelyzer"
  ],
  "rules": {
    "arrow-return-shorthand": true,
    "callable-types": true,
    "class-name": true,
    "comment-format": [
...

settings.json looks like:
"tslint.rulesDirectory": "Client/node_modules/codelyzer",
"typescript.tsdk": "Client/node_modules/typescript/lib"

I have the tslint extension for VSCode installed, and those are my package.json's related dependencies:
"codelyzer": "3.0.1"
"tslint": "5.4.3"
"typescript": "2.3.4"

I see the errors using ng lint but no error highlight is shown in VSCode.
Thank you very much.

Do you see any taking errors at all?

Hi Minko,
I'm working with another computer now and the error hightlight is working for the rest of projetcs. It seems that the settings.json configuration is not being able to reach the tsserver. I'm going to check my project differences (folder structure seems to be the problem) with others working and I'll share the results.

Problem solved!
Being the app's root folder where .vscode settings folder is located I had my angular-cli app bootstrapped in the 'Client' folder. I just moved all the app to the 'root folder', delete the 'Client' path from the settings and now works like a charm. Is it any known restriction @mgechev?

No, it isn't. Thanks for posting the solution you found!


Update USN journal entries for projected folders

This replaces #1648.
BuildXL was having issues detecting that a folder had changes when the projection changed because VFSForGit was simply updating its in memory projection and not doing anything with the file system that would trigger and update to the USN. It would hand back the new items in the directory when ProjFS would ask for the items for enumeration the next time an enumeration happened.
This change is to make the folder get a new USN when VFSForGit determines that a folder has changed.  This is done by keeping a SHA1 hash of all the names of the folder entries that are in the projection. When the projection changes, calculate the new SHA for the folder and compare with what it had before.  If it changed, then write and delete a file in the folder to trigger the USN update.
Note: We don't need any upgrade step because we are already storing the SHA for the folder in the placeholder database but it is currently null for all folders so the first time there is a projection change it will cause all the folders to get the calculated SHA for the folder and update the placeholder database.
Tasks:

[X] Update folder SHA-1 calculation to depend only on child names, not contents.
[x] Get installer to BuildXL folks for validation.
[x] Place this behavior behind a config option.
[ ] Document the config option. (Delaying to #1665)
[ ] Update functional test to run in CI and PR validation (behind config). (The test is updated to work behind the config, but the fsutil usn readdata <path> command isn't working in CI. Tested locally.)

I got final testing from the Office folks. Merging now.


feat(create-waku): install dependencies automatically when creating a new waku project

follow up https://github.com/dai-shi/waku/pull/728

[x] implement a new feature
[ ] write test code

Some tests fail. I think that some tests of create-waku.spec is outdated due to some new features developed.
I try to add the test in this PR. But I will be busy next week, so if I'm done with my work, then I will work this.

bb908ad
I did comment all of changes. All tests pass. From now, I will see what change lead to fail.

f1a7a6d
Using spawn, the tests fail on windows.

Ah, it's a windows only issue...

I feel like it can be solved if using cross-spawn, but I didn't try to do that yet.
You were like that you don't want to use the external lib, so I try to solve it w/o that lib!

Yes, it's correct that I don't generally want to use external libraries.
I hope you can work it around, but otherwise, using cross-spawn might be acceptable if that's the only reasonable way.

https://github.com/dai-shi/waku/pull/808/commits/33affcc33fc91ed36b2cb25b94dfd8c2ebf11279
As I added shell option of spawn on only windows, the tests passed. I don't know why it is working well, but shell option of spawn is false by default..
I found the workaround having something to do with this issue.
👉 https://github.com/nodejs/node/issues/52681#issuecomment-2076426887

https://nodejs.org/docs/latest/api/child_process.html#child_processspawncommand-args-options
Sounds good!

I don't know why tests fail. I added shell option to true if being on win32. So I'm gonna try to take cross-spawn and then check the test status.

All tests are passed. Could you review this PR?


Allow Overriding Literal Type attribute

Environment data

Pylance version: 2024.11.3
OS and version: Windows 10
Python version (& distribution if applicable, e.g. Anaconda): 3.12.7 Miniconda

Code Snippet

from typing import Literal

from pydantic import BaseModel

class BaseChunk(BaseModel):
    type_: Literal[0, 1]

class TextChunk(BaseChunk):
    type_: Literal[0]

class ImageChunk(BaseChunk):
    type_: Literal[1]

Expected behavior
There are cases where type_ is used as a discriminator field in Pydantic models. So, in the Discriminated sub classes, it makes sense that we set type_ as a fixed value, maybe even using Final. Narrowing the type of the subclass for a Literal type should be allowed.
Pylance shouldn't give an error as Literal[0] is accepted by ``Literal[0,1]`
Actual behavior
"type_" overrides symbol of same name in class "BaseChunk"
  Variable is mutable so its type is invariant
    Override type "Literal[0]" is not the same as base type "Literal[0, 1]"Pylance[reportIncompatibleVariableOverride](https://github.com/microsoft/pyright/blob/main/docs/configuration.md#reportIncompatibleVariableOverride)

"type_" overrides symbol of same name in class "BaseChunk"
  Variable is mutable so its type is invariant
    Override type "Literal[1]" is not the same as base type "Literal[0, 1]"Pylance[reportIncompatibleVariableOverride](https://github.com/microsoft/pyright/blob/main/docs/configuration.md#reportIncompatibleVariableOverride)
python.py(80, 5): Overridden symbol

Overriding mutable fields is not type safe, so pyright (the type checker that pylance is built upon) is correct in flagging this as a type error.
Consider the following bugs that can result:
def set_type(c: BaseChunk):
    c.type_ = 1

t = TextChunk(type_=0)
set_type(t)

To make this code type safe, you would need to mark your models as frozen, like this:
class BaseChunk(BaseModel, frozen=True):
    type_: Literal[0, 1]

class TextChunk(BaseChunk, frozen=True):
    type_: Literal[0]

class ImageChunk(BaseChunk, frozen=True):
    type_: Literal[1]

Initially I tried with frozen=True on type_ Field but it didn't work.
I require the pydantic model to be mutable for memory saving reasons.
Like this
class BaseChunk(BaseModel):
    type_: Literal[0, 1] = Field(frozen=True)

class TextChunk(BaseChunk):
    type_: Literal[0] = Field(0, frozen=True)

class ImageChunk(BaseChunk):
    type_: Literal[1] = Field(1, frozen=True)


mraa packages 0.9.1-0.9.4 are not published to intelgalactic 2.0 repo, should we use 3.0?

Looks like starting from 0.9.1 packages are being uploaded to http://iotdk.intel.com/repos/3.0/intelgalactic instead of 2.0 they used to be in.
Should we update the readme.md, which still points to 2.0?

Yeah we should I forgot, thanks for pointing that out
On 28 Feb 2016 13:26, "Alex T"<EMAIL_ADDRESS>wrote:

Looks like starting from 0.9.1 packages are being uploaded to
http://iotdk.intel.com/repos/3.0/intelgalactic instead of 2.0 they used
to be in.
Should we update the readme.md, which still points to 2.0?
—
Reply to this email directly or view it on GitHub
https://github.com/intel-iot-devkit/mraa/issues/444.

Ok, the PR is in.

Closed with PR


Get Started: Reduce visual noise

I tried to reduce the visual noise in one section that really seemed cluttered.
Before:

After:

Fully agree with replacing the TIP heading as you did. However, the query options sample is important enough to the flow of the guide to remain top-level imo. I fear if included in the tip box many users will skip this part.

The tip is relevant to the other part, so maybe we could move the information out of the tip and into the main text.

That would be another option:

Again, I think this is very colorful. Is there a way to render the link differently?

And the Toggle doesn't make it easier here. Java part looks like this:

If we get rid of the toogle, it would like as follows:

But here the question arises: Do we / Can we expect Java developers to read the (obvious) Node.js part?

Switch from TIP to INFO makes it nicer IMO:
Node:

Java:

Switch from TIP to INFO makes it nicer IMO:

No. this needs to stay an positive eye catcher → hence tip

As the orange in the link + the green in the tip have semantic and not just ornamental value I think the coloring here is fine, even if a bit colorful.
Imo the tip is most helpful before the sentence explaining $select etc. for setting base expectations.
There's a bigger problem with the link, though: it's incorrect for both Node.js and Java. Node.js explicitly sets its path to browse without an odata/v4 prefix in the CDS snippet. Java doesn't cut off the "Service" suffix → we need to check this

If the sentence explaining $select is a continuation of the note, it should be in the note.
Anyway, will make changes and merge. At least paths and stuff are fixed.


Can't be used in Action fields

I'm using the DateRange field in Action fields. When the datepicker comes up, it closes the action window. You can still pick the dates. When you go to open the action window again, the values were not retained.

@kpolicar hey! do you have any progress on this one or you are not actively developing the package?


Removes "importlib" from requirements

Most people have python3, which already has importlib preinstalled. The removal of this requirement would allow people using python3 to pip install the package without encountering any errors.

Alright apologies, I didn't notice and thought it wasn't preinstalled.


The issue about Kafka 0.10+ Collector Auto-configure Module???

[root@blninst06 zipkin]# KAFKA_BOOTSTRAP_SERVERS=<IP_ADDRESS>:9092 \

java \
-Dloader.path='kafka10.jar,kafka10.jar!/lib' \
-Dspring.profiles.active=kafka \
-cp zipkin.jar \
org.springframework.boot.loader.PropertiesLauncher

Error: Could not find or load main class org.springframework.boot.loader.PropertiesLauncher

Note: we just upgraded to Spring Boot 2.0.1 I've verified that kafka
still works using our docker setup with version 2.8.1
You can look at how it works just in case:
https://github.com/openzipkin/docker-zipkin/blob/master/zipkin/Dockerfile#L35

I just manually tested too https://github.com/openzipkin/zipkin/tree/master/zipkin-autoconfigure/collector-kafka10#quick-start
feel free to get support here if you need it https://gitter.im/openzipkin/zipkin


filter out duplication calls over rRNA in KN99

seems like there is a missing copy of rRNA in assembly in KN99. filter out this depth variant call.
(provide a region filter list option)

generate this by running all KN99 WT to create a filter of places where the REF KN99 genome has expected variation


Use progress bars on other pages beyond Chat

The chat Dev UI page shows a progress bar when you submit a message to make it clear that the user has to wait a while. We could add this to the other pages too

@jmartisk would you mind being a little more specific on which are the other areas you are referring too. I went through the samples and it seems that all samples that feature a web UI do have progress bars.

Maybe it's just the Embedding store page that doesn't have it right now


[WIP] [SPARK-27998] [SQL] Improve ANSI compliance for strings and double-quoted identifiers

What changes were proposed in this pull request?

According to SQL-1999 (the latest version of the ANSI SQL specification that I have access to), SQL strings are quoted with single quotes ('), and "delimited identifiers" are quoted with double-quotes (").
Spark currently supports both single and double quotes for strings, which is not ANSI-compliant, and does not support double-quotes for identifiers, only backticks.
This PR brings Spark closer to the ANSI specified behavior with single quotes for strings and double quotes for identifiers.
Why are the changes needed?

The main motivation is to support the official TPC-DS queries, which use double-quoted aliases.
Does this PR introduce any user-facing change?

Yes, users will no longer be able to use double quotes for strings and will need to use single quotes instead.
How was this patch tested?

ExpressionParserSuite was updated. I am in the process of running the full suite locally and running some manual tests.

Can one of the admins verify this patch?

ok to test

Can one of the admins verify this patch?

Are you still working on this ??
IMHO, if it is difficult to pass all the tests at once, how about making a sub-task JIRA and dividing the work into small pieces?
It will also provide convenience to reviewers, anyway.

@gengliangwang @MaxGekk would be great to get feedback from people working in the ansi area.

@andygrove I think it is too late to change the existing behavior now. Most of the Spark SQL users will be affected if we decide to merge this.

The main motivation is to support the official TPC-DS queries, which use double-quoted aliases.

The queries under https://github.com/apache/spark/tree/master/sql/core/src/test/resources/tpcds are also valid.

I get we don't want to break, I was wondering if this is something we could config, like strict ansi version XX vs spark ansi.  @andygrove pointed out to me that the antlr stuff might be hard with just a config though.
Do you have any thoughts or ideas?

@gengliangwang @tgravescs I am working on an alternate approach now in https://github.com/apache/spark/pull/36151 so will close this PR. The new approach opens up the option of introducing configs to control the behavior as well.


Update to version 0.5.2

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


[$1000] Desktop - Secondary login successfully unlinked isn't displayed on Desktop App

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Issue found when executing PR https://github.com/Expensify/App/pull/18695
Action Performed:

Add a secondary login account, and leave it unverified
Open new tab
Navigate to sign in page
Enter the unverified email address
Click on Unlink button
Open email account, click on 'the validation link here' to unlink the account

Expected Result:
Verify 'Secondary login successfully unlinked' message is displayed
Actual Result:
Error "It looks like there was an error with your validation link or it has expired" is displayed on Desktop App. Secondary login successfully unlinked isn't displayed on Desktop App
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Version Number: <IP_ADDRESS>
Reproducible in staging?: yes
Reproducible in production?: yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://platform.applause.com/services/links/v1/external/f7afb6d068adfdbdde0f1d6ae5706bb5c712c83708c22ab676054146ec813281
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01c02e30a7c9039200
Upwork Job ID:<PHONE_NUMBER>802252800
Last Price Increase: 2023-06-06

Reviewing

@Santhosh-Sellavel thoughts on the proposal here?

@greg-schroeder No other proposals to review here.

ok!

Adding the label to test some upwork automation stuff

@hoangzinh I imagine your proposal is still on hold based on follow-up discussions in https://github.com/Expensify/App/issues/17724, is that right?

Can we double this up or wait?

Doubled bounty

Still awaiting proposals. Will send this to CS/SWM soon if nothing comes.

Ok thanks, that makes sense to me!
@Santhosh-Sellavel do you have anything to add or any questions about this proposal?

Ah, I missed it will review it and let you know, thanks!

@hoangzinh  I too got the same email after clicking unlink. Can you send a video reproducing the issue?

Moreover, we can't even unlink atm even in Web. There is a report bug here https://expensify.slack.com/archives/C049HHMV9SM/p1686642802173109
But the main issue of this GH issue is still there, the code is expired when open in Desktop so I think we can fix them separately.

Both should be fixed here. As it is the same issue.

Thoughts on this @francoisl?

Moreover, we can't even unlink atm even in Web. There is a report bug here expensify.slack.com/archives/C049HHMV9SM/p1686642802173109

Looking at that conversation leads to https://github.com/Expensify/App/issues/20676, which was closed last week (with a fix), so that part should work now. Let's confirm that unlinking is working as intended now and see if @hoangzinh's proposal would still work.

Ok yeah that makes sense. Were you able to test with your suggested change and confirm it fixes the Secondary login successfully unlinked! was not found in the default language error?

Okay can we check the updated proposal from @hoangzinh @Santhosh-Sellavel ?

Ok cool, the proposal makes sense to me and I think we should go with that? Sound good to you too @Santhosh-Sellavel?

@francoisl
Yeah looks good to me as well, let's go with them here, thanks!

Please make the issue external;

Unassign @hoangzinh and reassign them
@francoisl or @greg-schroeder

Hmm, I don't think we should be prompting users to unlink their logins from the magic code view. Users should only be able to trigger that flow from the main sign-in view (after entering an unvalidated secondary login). For desktop, the flow should ideally behave like this:
https://user-images.githubusercontent.com/16747822/233736212-ca1e7db3-92db-4caa-bc08-db8654e90b0b.mov

Hmm but the whole issue is with people that open the desktop app when they're prompted to do so on web. Are you suggesting we should instead not show the native "Open New Expensify?" modal if you open an unlink URL?

we should instead not show the native "Open New Expensify?" modal if you open an unlink URL?

Initially, that was the intended design, so I'm fine with that.
But if we want to maintain the deep linking into the desktop app, I don't think we need to display a prompt to the user to unlink their login, since presumably they were in the middle of doing that already.
In that case, I think the simplest solution would be to show the standard loading icon in web and not the magic code view (with or without unlink prompt), since there's nowhere for the user to enter the validation code in this case and they're already directed to the desktop app when they click Open in New Expensify

That seems to be the same behavior we see for signing in if the user presses Cancel so I think it's ok for the same to occur in this case.
https://github.com/Expensify/App/assets/16747822/8d2e136c-4fe3-4207-a95a-2cb9e919c292

I believe the user should only see the Abracadabra page if they're automatically authenticated. For the case of signing in, I would think either the loading page or the magic link page would make the most sense if the action is cancelled after being prompted to open the desktop app (unless they somehow end up automatically authenticated elsewhere - in which case the abracadabra view would be the correct view to display )
In the case of unlinking a login, there isn't anywhere for the user to enter the magic code if we were to display it and they're not being authenticated into the app, so neither the magic code view nor the abracadabra view make sense (to me at least).
Perhaps if they press Cancel we should fall back and attempt to unlink the login via web? In my opinion though I think it's fine to simply show the loading indicator and  have the user restart their process if they cancel things half way through. I'm definitely open to other options though!

Ok, thanks @NikkiWines for chiming in.

I really love this redirect screen. But we removed it.

I think you're talking about https://github.com/Expensify/App/pull/17452/ ? I just noticed this PR as well. I agree it would have been great to be able to use this here. Speaking of which, I wonder if we need to put a hold on this issue until https://github.com/Expensify/App/pull/17452/ is merged, since it's going to change the deep linking logic quite a bit.

Adjusting to Weekly to account for issue hold

Still on hold

Holding

Removed hold and re-applying Daily cadence. I'll let the folks pinged in @hoangzinh's comment above weigh in on what we should do next.

Ran through this flow once more on dev just to refamiliarize myself
Web seems to be broken - the login is unlinked but we don't successfully show that to the user
https://github.com/Expensify/App/assets/16747822/5e751ebf-6735-4a95-a399-5addc873e0f0
Desktop seems to work fine, though I'm not prompted to open the link in the desktop app :¯_(ツ)_/¯

Ah ok nice. Well regardless of where this issue ends up we should definitely fix that.
Just to clarify, is there an issue with desktop now that the unlinking flow works without the deeplink? @hoangzinh are you prompted to open the link in the desktop app when going through the unlink login flow?

The only issue/concern is in desktop, it will still show "Unlink form" although it's unlinked successfully in web

Hmm, yeah I guess ideally it would also update to the login page + show the Login successfully unlinked though personally i think it's fine as is.

Nope, I'm clarifying our expected results in this GH issue. Should we do like @NikkiWines suggested https://github.com/Expensify/App/issues/19681#issuecomment-1610365145 and @francoisl verified again here https://github.com/Expensify/App/issues/19681#issuecomment-1610157633

Cool, thanks for double-checking. If the user were to see the Open in New Expensify prompt and then pressed Cancel, I think the behavior shown here would be fine (with just the loading page).
However, I'm not currently being prompted to open the link in the desktop app when going through this flow and I think the current behavior is fine too (unlinking in web, desktop retains old info)
@francoisl what do you think?

Yeah,  I'm still being prompted from staging. If I select the "Open " option, the request is still being sent from the web app's tab, so eventually the desktop app shows an error (also the update takes forever to send from the backend right now, but... different issue):

Opening desktop app when prompted
 Not opening desktop app

So in the end I think the easiest solution would be to prevent showing the Open in New Expensify prompt if you open an unlink URL. Is that what you were asking to confirm @hoangzinh?

Ok. For the sake of having a pull request that will match the proposed solution, do you mind updating your proposal then @hoangzinh please? Also, let's make sure it fixes the crash that Nikki got on web in https://github.com/Expensify/App/issues/19681#issuecomment-1650639867.

Work continues on the PR, looks like @Santhosh-Sellavel is reviewing

Last update: https://github.com/Expensify/App/pull/23738#issuecomment-1661307429

Awaiting deploy to prod

Okay so it looks like this one took a fair amount of time to be merged following the assignment: https://github.com/Expensify/App/issues/19681#issuecomment-1675471516

Yeah, we had active discussions on deciding the outcome post-assigning and also the issue was on hold for some period.
So let's have the flat fee here, thanks!

Offer made to @hoangzinh - you can request payment via NewDot @Santhosh-Sellavel. All that's left is the C+ checklist

Awaiting checklist

I think we can skip the checklist. IMO this is not a regression, we intentionally wanted all URLs to be deep links. Now we just disabled one here and also improved the unlink flow on the web & other platforms.
But we could add/update Tests though and test steps from PR look good to me.
Thoughts @francoisl?

@greg-schroeder Can you post a payment summary message, thanks!

Payment summary:
Contributor: $2000 (flat, no bonus/penalty)
C+: $2000 (flat, no bonus/penalty)
closing as checklist is complete as well. next up is @JmillsExpensify to confirm payment

Reviewed the details for @Santhosh-Sellavel. $2,000 payment approved via NewDot based on BZ summary.


[Crash]: Invalid Player Data - Aged Modpack 2.1.2

https://github.com/xR4YM0ND/Aged/issues/33

There is something more at issue here; it's been reported before and in all instances I haven't been able to determine the actual cause, but basically the Minecraft server instance's overworld method is returning null.
If it weren't for this being on Fabric, I'd say that it's the same issue as whatever is causing #246
Unless there is some sort of race condition where the event handler is being fired before the overworld is constructed, I'm not sure what else could be the issue -- from my understanding of things, the overworld is constructed at the same time as the server and should never be null at any point -- unless the event is somehow triggering before the server is fully constructed...

This will be addressed with the new series of null checks added in 1.20.0.

The most recent version of Lootr for Fabric 1.20.0 has just been released; the back port to 1.19.0 will happen in the next few days. I'll be uploading the new versions to Modrinth in bulk after that has happened, but it's available on CurseForge now for testing/debugging purposes.


Feature Request: Select protocol

Hi,
Thanks a lot for your script it's awesome :)
One thing still, Can you please add the option to select which protocol to use [TCP or UDP] ?
This helps to tunnel the traffic to 443 TCP
Yeah we can do that manually but it helps if it was in the script as well
Thanks again :)

This is by far the most requested feature and it would take like 30 seconds to implement ;)
If it has not been implemented already, it is because I try to keep the installer as simple and beginer-friendly as possible. Many users don't really understand the differences between OpenVPN over UDP and TCP and most don't care about TCP, so at the current time there is no selection for that.
I understand others want this to be an option, but for now that's how it is.


Thank you Sir,

I really learned a lot from your codes!
Most well-organized TFT codes, among all other github codes :)

Thank you for your feedback!
I'm glad to read that it was helpful and that it contributed to your learning.
If you have any other questions or need further assistance, feel free to ask.
Good luck!


Refactoring the Duplicated/Redundant Mock Objects in test of org.apache.cloudstack.network.tungsten.service

ISSUE TYPE

Improvement Request
Enhancement Request

COMPONENT NAME

Testing

CLOUDSTACK VERSION

4.18-reflections-update
4.18-reflections-update

Hi CloudStack developers,
I have noticed that a dependency TungstenAnswer is mocked a total 151 times, with similar/identical  behavior across three different test suites:

In class TungstenElementTest.java, there were 41 identical duplicate creations in 22 test cases.
In class TungstenFabricUtilsTest.java, there were 2 identical duplicate creations in 2 test cases.
In class TungstenServiceImplTest.java, there were 53 identical duplicate creations and 55 similar duplicate creations in 68 test cases.

The following is the duplicate code snippet I just mentioned. It has been repeated 96 times with completely identical logic in the 3 testclasses:
TungstenAnswer answer=mock(TungstenAnswer.class);
when(answer.getResult()).thenReturn(Result);

We can eliminate this duplication by creating a CreateMockTungstenAnswer class.
The code snippet of CreateMockTungstenAnswer:
public class CreateMockTungstenAnswer {
//Attribute is for reuse mock creation.
    TungstenAnswer answer;
//Implement duplicate mock and stub behavior in the constructor.
    CreateMockTungstenAnswer(boolean Result){
        answer=mock(TungstenAnswer.class);
        when(answer.getResult()).thenReturn(Result);
    }
    TungstenAnswer get(){return this.answer;}
}

When a mock needs to be created in a test case, we can create it with this class like:
TungstenAnswer answer=new CreateMockTungstenAnswer(true).get();

Also, in TungstenServiceImplTest.java, the creation of mock for TungstenAnswer is repeated another 55 times, but with a slightly different stub method in mock creation. For example, in test case addTungstenDefaultNetworkPolicyTest():
TungstenAnswer createTungstenPolicyAnswer=mock(TungstenAnswer.class);
when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
// following are additional different stub from other mock creation
when(createTungstenPolicyAnswer.getApiObjectBase()).thenReturn(networkPolicy);

In comparison, in the test addTungstenDefaultNetworkPolicyTest(), the stub for the 1st method is same, but there will be an additional 2nd or 3rd method compared to the 96 identical duplicate mock creations.
We can still eliminate repetition by creating a reusable, "basic" mock object, but at each mock creation, we can customize the stub of the other methods.
TungstenAnswer createTungstenPolicyAnswer=new CreateMockTungstenAnswer(true).get();

when(createTungstenPolicyAnswer.getApiObjectBase()).thenReturn(networkPolicy);// Add a different stub behavior.

To be more intuitive, the following shows the comparison of how a test case looks before and after the refactoring, with the code snippet of syncTungstenDbWithCloudstackProjectsAndDomainsTest() in test suit TungstenServiceImplTest as an example:
Code before refactoring:
@Test
public void syncTungstenDbWithCloudstackProjectsAndDomainsTest() {
    // The code before this comment is the same
    TungstenAnswer createTungstenDomainAnswer = mock(TungstenAnswer.class);
    TungstenAnswer createTungstenProjectAnswer = mock(TungstenAnswer.class);
    TungstenAnswer createTungstenDefaultProjectAnswer = mock(TungstenAnswer.class);
    TungstenAnswer updateTungstenDefaultSecurityGroupAnswer = mock(TungstenAnswer.class);

    when(createTungstenDomainAnswer.getResult()).thenReturn(true);
    when(createTungstenProjectAnswer.getResult()).thenReturn(true);
    when(updateTungstenDefaultSecurityGroupAnswer.getResult()).thenReturn(true);
    when(createTungstenDefaultProjectAnswer.getResult()).thenReturn(true);

    //The rest of the sentence is exactly the same before and after the refactoring.
}

Code after refactoring:
@Test
public void syncTungstenDbWithCloudstackProjectsAndDomainsTest() {
    // The code before this comment is the same
    TungstenAnswer createTungstenDomainAnswer = new CreateMockTungstenAnswer(true).get();
    TungstenAnswer createTungstenProjectAnswer = new CreateMockTungstenAnswer(true).get();
    TungstenAnswer createTungstenDefaultProjectAnswer = new CreateMockTungstenAnswer(true).get();
    TungstenAnswer updateTungstenDefaultSecurityGroupAnswer = new CreateMockTungstenAnswer(true).get();

    //The rest of the sentence is exactly the same before and after the refactoring.
}

We've applied a similar refactoring approach to three test suites, TungstenServiceImplTest.java, TungstenFabricUtilsTest.java and TungstenElementTest.java . As a result, we can reduce 321 lines of code, which makes the test cases smaller, easier to understand, and better to maintain.
After refactoring, if the TungstenAnswer mock creation needs to be modified in the future, the developer only needs to modify one time in CreateMockTungstenAnswer instead of 151 places of duplicate mock creation in 3 testclasses.
Benefits of the Proposed Refactoring:

Modularity: The code is now more modular with specific class for creating mock object.
Readability: Test cases are more readable, focusing on specific test logic rather than the setup code.
Maintainability: Easier maintenance due to the reduction of redundancy and a cleaner, more structured codebase.
Scalability: Facilitates the addition of new test cases and makes modifications to existing ones more efficient.

I'd love to hear your thoughts on this proposal! Do you agree with any of these changes, or do you have other insights or preferences?

@gzhao9 great initiative, especially if you are interested in improving the tungsten support. But also if your sole intention is to improve the test code, please be our guest. I read nothing in your proposals that rings alarm bells so If you whish to submit a PR go ahead.
thanks for the effort whatever may come of it.

@gzhao9 related PRs are merged therefore I'm closing this. Please re-open if anything remaining


ARROW-12068: [Python] Stop using distutils

According to PEP 632, distutils will be deprecated in Python 3.10 and removed in 3.12.

switch to setuptools for general packaging
use the Version class from the packaging project instead of distutils.LooseVersion

Triggered a crossbow build here: https://github.com/ursacomputing/crossbow/branches/all?query=build-119


Ubuntu clarification

Clarify installation
cc @rgozim

@mtbc better?

Yes, thank you.

merging in that case


add Dockerfile

Title
Add docker support for spotdl
Description
Songs are downloaded to /data/spotdl
Playlist file is created by default
Environnement variables:

SPOTDL_SONG : url or text of a song
SPOTDL_OUTPUT_FORMAT : output format of song

Why environment variables? Wouldn't entry point be better?

You are right


Company Communicator - Author not able to open application.

This is the third time I'm trying to get some help with this issue, our user has all the permissions as author but he's still unable to open the application.  User has his UPN present in the "authorizedCreatorUPN" list.

Any assistance is appreciated.

Hi @e-mujica ,
Thanks for raising the query. Could you please confirm whether this is happening only with this user or with every other user also

This is the only user with this issue, would you be available for a call sometime tomorrow to look at this?

Hi @e-mujica ,
Please share your mail id and we can continue the conversation internally.

Hi @gsv022 ,
The user has a E5 license.
Btw I got your email, although I'm not too familiar with this platform, I believe my mail id is<EMAIL_ADDRESS> I think a call would be more beneficial and could expedite the resolution of this issue for us.  Perhaps we can set this up also?  Thanks,

Hi @e-mujica ,
Please share a valid email so that we can discuss the issue internally.

Hi @gsv022 ,
Email is<EMAIL_ADDRESS> Thanks

Disable RoutingRule2 in the Front Door Designer in Azure resource
Someone posted this and it helped me resolve the issue. I didn't even have to upgrade to the latest version
[TM718209] 2024/02/22 4:34 JST
We’ve released an improved security for Company Communicator app template authoring experience
If action isn’t taken, Microsoft Teams users may encounter errors when authoring Company Communicator app templates.
Due to a recent security change in the Teams client, users in your organization might see an error
while accessing the authoring experience in the Company Communicator app in Teams, with the error message
“Sorry, an error occurred while trying to access the service”.
Users will observe this issue on the Classic Teams web client, and also on the new Teams desktop and web Clients.
To correct this issue, the app developer or admin will need to perform the below changes on the Azure portal.
Step 1: In the Azure portal, locate and select Company Communicator app Resource group by using the search bar, or
Navigate to Resource groups from the Azure portal menu.
Step 2: Select the Azure Front Door from the list of resources.
Step 3: Under Settings, locate the Front Door designer section. Select “routingRule2” that was created during the
Company Communicator app deployment.
Step 4: Disable the rule and save the changes.
Step 5: Restart your app service.
Step 6: Users may also need to clear the cache on the Teams desktop client(Classic Teams or new Teams).
Note: The Official Company Communicator App Template GitHub code and deployment instructions
will be updated accordingly in the upcoming weeks.

Hi @e-mujica ,
We have sent a mail. Please check and respond accordingly.

Hello!  I am having the same issue.  My account is able to author messages but the other user who is set as an author is not.  As far as I can tell, his account has the same permissions as mine.  His UPN is also in the authors list and has a valid Teams license.  He can open the tab and see previous messages.  When he clicks to draft a new message or do anything with a prior message, he gets this error:

I just met with Sai Venkat Gattu on Monday for a separate issue.  Please let me know if you have time to meet this week for this issue.  I previously met at 8:30 AM EST, if that works for you.  My email is<EMAIL_ADDRESS> Thanks.

I should mention that we are both members of the team to which the Authors app is deployed.  I added the tab in a private channel that only he and I are members of.  I am the owner of the channel and he is a member.

Hi @e-mujica ,
During the call, we asked that specific user to access the application. Still the user is getting “Sorry an error occurred while trying to access the service”.  Since the existing version is v5.3, we suggested to migrate to the latest version. We made a walkthrough on how to perform migration to latest version. User asked for our presence and guidance during upgradation.
We will assist you if you face any issue during upgradation.

@gsv022 (Sai).  We are already at 5.5.1 and are still having the issue.  I have three users in the "AuthorizedCreatorUpns" environment variable (separated by semicolons), yet only one (my account) can access the Authors app without error.  I checked and everyone has app permissions to both Authors and Users.  I am not sure what is different between my account and theirs.

Hi @e-mujica ,
Please let us know if you are still facing issues

@gsv022, I am still having the issue, though it seems that the person who opened this is the only one being addressed.  Am I to open my own case?

We have replied over the mail

Hi @e-mujica ,
Thanks for joining the call. The issue w.r.t 4th sending option got resolved upon updating the secrets. Now the application is up and running.
Please let us know if you have any queries otherwise, we can make it closure.


Pane dragging is limited on Wayland client

When using the Wayland client on Linux, panes cannot be dragged to new windows and cannot be dragged to a different, already existing window. In Wayland, panes can only be dragged within a single window.
The methods currently used to determine the target window are currently incompatible with Wayland. The methods used to display the drag indicator to show that a pane is being dragged also does not work on Wayland. Both of these are disabled in the current Wayland build.
These should be refactored to be Wayland compatible.

How do i use wayland on linux? The qt/platforms only includes libqxcb.so.


Default install sends me to incorrect url

I am trying to use this plugin at the moment. If I execute the command in the llvm repo it sends me to https://github.com/llvm/llvm-project/blob/llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
I suspect it does this because the branch I am working on doesn't exist on the remote.
which then returns a 404
The plugin doesn't seem to be respecting the branch name by default. This url, with main added works.
https://github.com/llvm/llvm-project/blob/main/llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
I have tried adding a setting of
"openInGitHub.remote.branch": "main"
to try force it, but unfortunately it doesn't seem to end up in the url.

I suspect it does this because the branch I am working on doesn't exist on the remote.

That's just how it works then, you can't open something that only exist locally in the remote branch.
What do you suggest the extension would do? I guess maybe it could check if the remote branch exists, and fallback to the default branch otherwise for convenience, giving you a wrong url but hopefully the url you intended?

What do you suggest the extension would do? I guess maybe it could check if the remote branch exists, and fallback to the default branch otherwise for convenience, giving you a wrong url but hopefully the url you intended?

I would expect it to respect the even if it doesn't exist like I mentioned i had set.
"openInGitHub.remote.branch": "main"

@jaredwy sorry can you clarify what the issue is exactly? If you execute the Open in GitHub: Copy File Link command, what url do you get back in the clipboard and what different url are you expecting?


test: Fix clean up of indexing test

Motivation / Background

This Pull Request ...
Details

Additional information

#6233  👈
main

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

Join @mykola-vrmchk and the rest of your teammates on  Graphite


Validation: Added Alt Text to Images

Added alt text to images.

 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.:x: kturetz sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@Rick-Anderson
The Content & Learning team is fixing build validation errors on docs.microsoft.com for the rest of H2. This will eliminate potential accessibility, security, and usability issues. This PR includes only build validation fixes and does not change other content. Please review within five business days and merge or comment in the PR with any changes you’d like to see. Thank you!


Text change on Home screen and wallet security screen.

-“Cloud Backup complete, you can upgrade the backup to Level 2”. This kind of text should be used for all levels. And on both screens (Wallet Security screen and Home Screen). Note the text will be Cloud Backup, Double Backup and Multi-key Backup. With capital B in backup.

-Verified this issue on staging app v1.6.0(276)


Udemy Course Download is Not Working

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2017.08.13. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[X] I've verified and I assure that I'm running youtube-dl 2017.08.13

Before submitting an issue make sure you have:

[X] At least skimmed through the README, most notably the FAQ and BUGS sections
[X] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[X] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

youtube-dl -v -u<EMAIL_ADDRESS>https://udemy.com/the-web-developer-bootcamp
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'-u', u'PRIVATE', u'https://udemy.com/the-web-developer-bootcamp']
Type account password and press [Return]:
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.08.13
[debug] Python version 2.7.12 - Linux-4.10.0-32-generic-x86_64-with-Ubuntu-16.04-xenial
[debug] exe versions: ffmpeg 2.8.11-0ubuntu<IP_ADDRESS>, ffprobe 2.8.11-0ubuntu<IP_ADDRESS>, rtmpdump 2.4
[debug] Proxy map: {}
[udemy:course] Downloading login popup
[udemy:course] Logging in as<EMAIL_ADDRESS>[udemy:course] the-web-developer-bootcamp: Downloading webpage
[udemy:course] 288: Downloading course curriculum
ERROR: Unable to download JSON metadata: HTTP Error 404: NOT FOUND (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 502, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 2166, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib/python2.7/urllib2.py", line 435, in open
    response = meth(req, response)
  File "/usr/lib/python2.7/urllib2.py", line 548, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.7/urllib2.py", line 473, in error
    return self._call_chain(*args)
  File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 556, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)

...
<end of log>

This is paid course.

Yaaa i knww.. and i purchased it legally
On Aug 17, 2017 9:42 PM, "Sergey M."<EMAIL_ADDRESS>wrote:

This is paid course.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rg3/youtube-dl/issues/13943#issuecomment-323120366,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AY0vkiAigO0Hu-tuabkkM8aPQkebanEwks5sZGZTgaJpZM4O57Ac
.


ISO weekday number (Monday-based, 1-7)

ISO weekdays are Monday based and numbered 1-7, but d3 only provides %w, which is Sunday based and numbered 0-6.
E.g. momentjs  uses E for ISO weekday.

Reference: https://en.wikipedia.org/wiki/ISO_week_date

Related #8; having ISO 8601 weekday number is not especially useful without also having support for ISO 8601 week numbers. (%U and %W are not ISO 8601 week numbers.)

For consistency with strftime this should use the %u directive.

Fixed in #36.


Can't set CORS to <Origin>*</Origin> when initiating resumable uploads?

https://cloud.google.com/storage/docs/cross-origin#How_CORS_Works:

When using the resumable upload protocol, the Origin from the first (start upload) request is always used to decide the Access-Control-Allow-Origin header in the response, even if you use a different Origin for subsequent requests. Therefore, you should either use the same Origin for the first and subsequent requests, or if the first request has a different Origin than subsequent requests, use the XML API with the CORS configuration set to *.

I'm initiating resumable uploads from my server, sending the generated upload URL to my clients (web/mobile apps), and then having them actually POST files to Google Cloud Storage. It seems I need CORS configured to <Origin>*</Origin> to support this, but I don't see a way to do so in the SDK. Is there a solution I'm missing?

Take a look at the Cors, Cors.Builder, and Cors.Origin classes in the javadocs
I couldn't find an example, but the tests show creating and setting them.

Yep I see how to create the Cors policy I need, but not how to associate it with the API request the SDK is making for me?

Looks like setting the CORS policy on the bucket itself works around the problem.

Looks like I have the exact same issue as this: https://github.com/danialfarid/ng-file-upload/issues/1192
In their PHP solution they add "Origin"                    => env('APP_ADDRESS') to their initial call that starts the resumable upload. I'd like to similarly add either * or my specific client address but don't see a way to do this with the SDK.

So, CORS is typically something you set once.  (At least as I understand it)
You set CORS on a bucket, and not AFAIK on an object.  (Are you thinking something else)?
Bucket.Builder has a cors(Iterable<Cors> cors) method
BucketInfo.Builder also has a cors method.
So, in looking, it appears that you can update a Bucket using a BucketInfo
     Cors cors = Cors.newBuilder()
        .setMaxAgeSeconds(100)
        .setOrigins(origins)
        .setResponseHeaders(headers)
        .setMethods(methods)
        .build();

    String bucketName = "my_unique_bucket";
    BucketInfo bucketInfo = BucketInfo.builder(bucketName).cors(cors).build();
    Bucket bucket = storage.update(bucketInfo);

Note - the cors() method will become setCors() in the next release.

Hi @omerzach! Are you using google-cloud-java to create the resumable upload URL? If yes, can you share with us the code you are using?
google-cloud-storage uses the JSON api under the hood. AFAIK when you create a resumable upload URL using the JSON api you need to preserve the same Origin that you used for the opening request in all subsequent upload requests.
A possible workaround could be to override the Origin header in the request that opens the resumable URL, as it's done in danialfarid/ng-file-upload#1192. Unfortunately, at the moment google-cloud-storage does not expose such a option. In fact, we do not even expose a method to create a resumable URL in our Storage interface.

Yeah, looks like that's exactly the issue.
So I guess the only solution is to directly call the endpoint to start the resumable upload with a custom origin instead of using the SDK?
For what it's worth, I'm calling from Scala, not Java, but:
  val options: StorageOptions = StorageOptions.defaultInstance
  val storageRpc = new DefaultStorageRpc(options)

  val storageObject = {
    (new StorageObject)
      .setBucket(bucket)
      .setName(key)
      .setContentType(contentType)
      .setSize(BigInt(contentLength).bigInteger)
  }

  storageRpc.open(storageObject, Map.empty.asJava)

So I guess the only solution is to directly call the endpoint to start the resumable upload with a custom origin instead of using the SDK?

Yeah that would be your best option for now. Provided the http client lets you override origin (wouldn't give that for granted). Have a look at the code in DefaultStorageRpc.open for an idea of how to open the resumable upload URL.


AssignClientAuthority resets position on client

Describe the bug
If the an objects position is locally set on the clients (but not the server) then AssignClientAuthority is called the position will reset to the server position
Expected behavior
Setting authority shouldn't cause the position to change

Can't reproduce.  AssignClientAuthority calls SetClientOwner(conn); which does nothing to change position.
In NetworkIdentity ...
internal void SetClientOwner(NetworkConnection conn)
{
    connectionToClient = (NetworkConnectionToClient)conn;
}

public NetworkConnectionToClient connectionToClient
{
    get => _connectionToClient;

    internal set
    {
        _connectionToClient?.RemoveOwnedObject(this);
        _connectionToClient = value;
        _connectionToClient?.AddOwnedObject(this);
    }
}

In NetworkConnection ...
internal void RemoveOwnedObject(NetworkIdentity obj)
{
    clientOwnedObjects.Remove(obj);
}

internal void AddOwnedObject(NetworkIdentity obj)
{
    clientOwnedObjects.Add(obj);
}

Ok a little correction of something I overlooked.
AssignClientAuthority and RemoveClientAuthority both generate a SpawnMessage to the owner client to notify them of the authority change, and this includes the latest position the server has for the object in question.
The server owns all networked objects.  If the client moves it locally, it needs to tell the server about it, otherwise you'll get unpredictable outcomes like what you describe.  Put a NetworkTransform on it, and check the box for Client Authority, and your issue disappears.

What if the owner doesn't put a NetworkTransform on the objects and wants to control it locally some other way?  Does that mean that they can't use the Authority system?

Cleaned up comments.  This is indeed a bug and PR #2924 fixes it.


[colorfont_tables] Fails for any variable font with SVG table

Observed behaviour
colorfont_tables will FAIL if a font is both variable and have an SVG table. Even though SVG table indeed does not support font variations, not every glyph in a variable fonts has variations and a font might be a variable font and a color font but the color glyphs have no variations.
Expected behaviour
The check should see if color glyphs included in the SVG table correspond to glyphs with variations in the gvar or CFF2 tables before FAIL’ing such fonts.
Resources and steps needed to reproduce
https://github.com/aliftype/raqq/releases/tag/v2.00 FAIL’s with this check even though the color glyphs have no variations.

Earlier today this check was listed as part of Universal profile (because earlier this month I hoped it would be useful for everybody) and it was also listed in the pending_review list of most of the vendor-specific profiles.
@khaledhosny made it clear that this should definitely not be placed in Universal, so at PR #4949 I moved it back to Google Fonts profile.
The description of this issue, though, seems to be valid regardless of the chosen profile, so I'll keep it open.
But would you it be OK if we address this after the v0.13.0 release?


feat: 添加接口描述

Checklist

[ ] npm test passes
[ ] tests and/or benchmarks are included
[ ] documentation is changed or added
[ ] commit message follows commit guidelines

Affected core subsystem(s)

Description of change

Checklist

[ ]  npm test passes
[ ]  tests and/or benchmarks are included
[ ]  documentation is changed or added
[ ]  commit message follows commit guidelines

Affected core subsystem(s)
Description of change

已增加改功能！


Update Dockerfile

Force removal of ensurepip files.

Why is this needed? I don't use -f on purpose (I want the build fail when I don't need to do that anymore).

Oh, interesting!


[FLINK-16978] Update flink-statefun README.md for Stateful Functions 2.0.

Updating the README in the repository to fit the changes of Stateful Functions 2.0.
Also updating the README in the statefun-python-sdk directory to be consistent.

Thanks @morsapaes! Merging this ...


Submit Milestone 3

[ ] Python 3 notebook, with the code for ML model in scikit-learn. (You can develop this on your local computer)
[ ] PySpark notebook, with the code for obtaining the best hyperparameter settings. ( For this, you have to use PySpark notebook(kernal) in your EMR cluster )
[ ] Screenshot from
[ ] Setup your EMR cluster (Task 1).
[ ] Setup your browser, jupyter environment & connect to the master node (Task 2).
[ ] Your S3 bucket showing model.joblib file. (From Task 3 Develop a ML model using scikit-learn)


Calling complete() does nothing in select mode

FAQ

[X] I have checked the FAQ and it didn't resolve my problem.

Issues

[X] I have checked existing issues and there are no open or closed issues with the same problem.

Neovim Version
NVIM v0.7.0-dev+660-gd3585e0ec
nvim-cmp config
if has('vim_starting')
  set encoding=utf-8
endif
scriptencoding utf-8

if &compatible
  set nocompatible
endif

let s:plug_dir = expand('/tmp/plugged/vim-plug')
if !filereadable(s:plug_dir .. '/plug.vim')
  execute printf('!curl -fLo %s/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim', s:plug_dir)
end

execute 'set runtimepath+=' . s:plug_dir
call plug#begin('~/.config/nvim/packages/')
Plug 'hrsh7th/nvim-cmp'
Plug 'hrsh7th/cmp-buffer'
call plug#end()
PlugInstall | quit

lua << EOF
local cmp = require('cmp')

cmp.setup({
  mapping = {
    ['<C-Space>'] = cmp.mapping(cmp.mapping.complete(), { 'i', 's' }),
  },

  sources = cmp.config.sources({
    { name = 'buffer' },
  }),
})
EOF

Description
Calling complete() does not work in select mode. In insert mode it brings up the completion menu, but in select mode it does nothing.
Steps to reproduce

Open any file with text
Press gh to enter select mode
Press <C-space> to trigger complete()
Nothing happens

Expected behavior
complete() should bring up the completion just like how it works in insert mode
Actual behavior
Nothing happens in select mode
Additional context
No response

I can't define should it works and I don't want to add it. Sorry.

I don't know why the feature is needed.

@hrsh7th

I can't define should it works and I don't want to add it. Sorry.

I'm not entirely sure what you mean, could you elaborate please? :)
@Shougo

I don't know why the feature is needed.

The reason I think this feature is useful is because when using a snippet and jumping to a placeholder it puts you in select mode. I often want to replace the placeholder with an item from nvim-cmp's completion menu by pressing <C-space> which calls complete(). However, this is currently not possible.

Hi! I think I have a similar use case. As you can see in the GIF if I enter a placeholder directly in insert mode then the completion is triggered but if I first get into select mode and then move into insert mode there is no completion.. Are there any pointers to fix this? Or is it a feature?

Hi! I think I have a similar use case. As you can see in the GIF if I enter a placeholder directly in insert mode then the completion is triggered but if I first get into select mode and then move into insert mode there is no completion.. Are there any pointers to fix this? Or is it a feature?

Have you found a solution？

Unfortunately not yet.

Hi! I think I have a similar use case. As you can see in the GIF if I enter a placeholder directly in insert mode then the completion is triggered but if I first get into select mode and then move into insert mode there is no completion.. Are there any pointers to fix this? Or is it a feature?

Hm...  You should check what is the keyword pattern.
If you add the space before cursor, completion menu may be displayed.

Hi! I think I have a similar use case. As you can see in the GIF if I enter a placeholder directly in insert mode then the completion is triggered but if I first get into select mode and then move into insert mode there is no completion.. Are there any pointers to fix this? Or is it a feature?

Hm... You should check what is the keyword pattern. If you add the space before cursor, completion menu may be displayed.

Hello how to make the first D that switch selection mode into insert mode brings up completion menu? Thanks!
https://github.com/hrsh7th/nvim-cmp/assets/97848247/41f8629d-9aa0-49dd-a6c7-0f526298eb63

It seems the completion is not triggered.  It seems completion event problem.

It seems the completion is not triggered. It seems completion event problem.
I think autocmd ModeChanged *:i works for it.

Thanks! It works
vim.api.nvim_create_autocmd("ModeChanged", {
    callback = function()
        local old_mode = vim.v.event.old_mode
        local new_mode = vim.v.event.new_mode
        if old_mode == "s" and new_mode == "i" then
            require("cmp").complete()
        end
    end,
})

Hi @xzbdmw and @Shougo. The workaround didn't work for me since the sequence of mode change events looks as:
{
  new_mode = "v",
  old_mode = "n"
}
{
  new_mode = "s",
  old_mode = "v"
}
{
  new_mode = "n",
  old_mode = "s"
}
{
  new_mode = "i",
  old_mode = "n"
}

so basically i get v->s->n->i instead of simply s->i.. any pointers? Thanks in advance

Hm.  So you can check ModeChanged n:i.
https://github.com/hrsh7th/nvim-cmp/issues/617#issuecomment-1972459849
It checks mode s.


Add servertime command

I made a former pull request with the same name however during code alterartions I made a mistake while rebasing, so here's the code that was in my last commit. Which had the following description: Added servertime chat command that shows the current server time.

@AnaRitaTorres - for future reference, please do not close a PR if you mess it up.  It can almost always be fixed.  If you need help with this in the future, please do not hesitate to PM me personally on PS main.

Thank you for your availability and I'm sorry, I didn't know what I supposed to do.

No problem!

Thanks!


API documentation should be in rest_api.md

API documentation currently duplicated across api.py and rest_api.md. All documentation for the API should be in rest_api.md
Need to move documentation for API calls from api.py to rest_api.md

@kylehogan  Not sure if this is done. By documentation for API calls from api.py, do you mean the docs string under the name of each metho in api.py?

Yes, if I am remembering correctly I made this while we were discussing it during group meeting and the consensus was that there should be only short descriptions in api.py while the bulk of the information should be in rest_api.md
I think what was happening was that information was getting duplicated across both locations and that the length of the descriptions within api.py was becoming too much.

Fixed by #793


Spritesheet.json auto loading related image

When I load a spritesheet's json (packed using texture packer) Pixi automgically loads the related image thanks to the 'meta' object in the json.
I'm not a fan of magic and would prefer to handle image loading myself, I can't find a way to disable this magic image loading. Am I missing something?

For now I've added a check in spritesheetParse.js:12 to see if the meta object is in the json data and deleted the meta object from the json file.
if (!resource.data || !resource.isJson || !resource.data.frames || this.resources[imageResourceName] || !image.data.meta)         {             return next();         }
This seems to only affect setting a custom the resolution on the spritesheet. (Which I don't need).
I don't really want to have to remove the meta object for every spritesheet and for newly generated spritesheets. Is there another way?

Loader can be tricky. Its good that you found a workaround.
Lets try another: this.resources[imageResourceName] <-- that already exists in pixi
loader.add('atlas_image', 'some_image.png');
loader.add('atlas', 'some_atlas.json');

Of course, just name my image sheet the same as the spritesheet parser's  generated name for the sheet. Such a simple solution!
Thanks so much.

Just comment "//hack" there, because I don't have guarantees that it wont be changed in next versions to something more legit.


Favicon doesn't show up in the Github Pages

The favicon shows up in the localhost:1313, but doesn't show up in my Github Pages.
I don't know what causes this and I'm sure I've put the favicon.png in the correct path both in /static/images/favicon.png and /themes/hugo-theme-learn/static/images/favicon.png.
How can I fix this? Thanks a lot!

It's a bug : favicon does not support on websites with custom path.
https://github.com/matcornic/hugo-theme-learn/blob/master/layouts/partials/favicon.html

Thanks, it's now correctly working


deploy mudrod using docker

@lewismc I tried to deploy MUDORD on VM(<IP_ADDRESS>) following docker user guide https://github.com/mudrod/mudrod/tree/master/docker
When I run the command docker run -t -i mudrod/mudrod /bin/bash,  the system considered  it as  unknow  command.

Could you please take a look?

Yun has create an image on her own. I guess the problem she is having is how to start ES, Kibana, and other software automatically when starting docker.

https://hub.docker.com/r/quintina/mudrod/tags/

I will revise the existing Docker container to

run on CentOS7
Oracle JDK8
Cannot start services as ROOT
Deploy Kibana 4.5.1
Need to investigate why the Git command is not working.

Hi Lewis, I installed tomcat in a docker container, however, the service can't be started with the prompt "Failed to get D-Bus connection: Operation not permitted"
I referred to following links
https://github.com/docker/docker/issues/2296
https://bbs.archlinux.org/viewtopic.php?id=194102
But I didn't solve the issue. Could you please take a look when you have time.
FYI:
$ docker pull quintina/mudrod:latest
$ docker run --interactive --tty --name demo -u mudrod -p 8080:8080 -p 80:5601 quintina/mudrod:latest

It turns out that I should download tomcat package and start it with shell file, rather than use yum command to install tomcat.

14-Sep-2016 06:07:53.806 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 930770 ms
It took more than 15 minutes to deploy MUDROD web service in the container. Do you know how to solve this problem?
The war package I used was mudrod-service-0.0.1-SNAPSHOT.war, generated by command "mvn war:war". And the size was 155861377.

@quintinali did you get an opportunity to work any more on this?

@lewismc  I attended an ocean meeting this weekend, so I haven't addressed this issue.

Oh wow lucky you ☺
No problems at all.. Things are coming along nicely anyways.
On Sep 23, 2016 6:16 PM, "quintinali"<EMAIL_ADDRESS>wrote:

@lewismc https://github.com/lewismc I attended an ocean meeting this
weekend, so I haven't addressed this issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mudrod/mudrod/issues/53#issuecomment-249335993, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABHJl6PmuXMk3KcFpqlFtKx65SISOoBqks5qtHoGgaJpZM4Jz4mE
.

@quintinali do you have an alternate version of the DOCKERFILE that is different from current master? I'm working on getting it going but don't want to duplicate effort you may have already put in.

@fgreg I don't have dockerfile. For the docker image( quintina/mudrod:temp0907), I built it manually thus I don't have a docker file for the image.

I made quite a bit of progress on this issue in https://github.com/fgreg/mudrod/tree/MUDROD-53
However, it is still not totally functioning. Other issues are taking priority over this one for now.


Check for null when comparing using the most precise type.

This allows null value parameters to be used in expressions such as 'a string' == null where null is defined as e.Parameters["null"] = null;.
Some of my custom functions can return null and there are cases where I need to detect that. Currently the code is calling GetType() on the null and getting a null reference exception.

Hi @pitermarx - any issues with this PR? Love to get it merged and nuget updated.

Thanks for the contribution. I'm returning from vacation today so I'll only check this in a few days, as I have some "work" stuff to get done right away.
Some quick questions:
Was null not allowed as a variable name before or just the null value not allowed?
What was the behaviour before on the tests you added?
As you can see in the README, i'm commited to have no breaking changes on this.
From a quick read, is the change the same as doing only?
Type mpt = GetMostPreciseType(a?.GetType(), b?.GetType());
What version number should be bumped with this change?

Hi,

Was null not allowed as a variable name

No, null isn't a built-in parameter name:
System.ArgumentException : Parameter was not defined
Parameter name: null

But is easily defined yourself:
e.Parameters["null"] = null;

or just the null value not allowed

I don't believe any of the built-in functions can return null. They're all math functions with the exception of IF and IN.

What was the behaviour before on the tests you added?

Using this test:
var e = new Expression("null == 'a string'");
e.Parameters["null"] = null;
e.Evaluate();

Results in this exception:
System.NullReferenceException : Object reference not set to an instance of an object.
   at NCalc.Domain.EvaluationVisitor.CompareUsingMostPreciseType(Object a, Object b) in D:\NCalc-Edge\Evaluant.Calculator\Domain\EvaluationVisitor.cs:line 52
   at NCalc.Domain.EvaluationVisitor.Visit(BinaryExpression expression) in D:\NCalc-Edge\Evaluant.Calculator\Domain\EvaluationVisitor.cs:line 123
   at NCalc.Domain.BinaryExpression.Accept(LogicalExpressionVisitor visitor) in D:\NCalc-Edge\Evaluant.Calculator\Domain\BinaryExpression.cs:line 20
   at NCalc.Expression.Evaluate() in D:\NCalc-Edge\Evaluant.Calculator\Expression.cs:line 255

From a quick read, is the change the same as doing only?
Type mpt = GetMostPreciseType(a?.GetType(), b?.GetType());

Not quite, since that forces GetMostPreciseType to return null (it returns a, null in this case):
private static Type GetMostPreciseType(Type a, Type b)
{
    foreach (Type t in CommonTypes)
    {
        if (a == t || b == t)
        {
            return t;
        }
    }
    return a;
}

And Convert.ChangeType(Object, Type) does not accept null for the Type parameter:
System.ArgumentNullException : Value cannot be null.
Parameter name: conversionType
   at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
   at System.Convert.ChangeType(Object value, Type conversionType)
   at NCalc.Domain.EvaluationVisitor.CompareUsingMostPreciseType(Object a, Object b) in D:\TeamGit\NCalc-Edge\Evaluant.Calculator\Domain\EvaluationVisitor.cs:line 53
   at NCalc.Domain.EvaluationVisitor.Visit(BinaryExpression expression) in D:\TeamGit\NCalc-Edge\Evaluant.Calculator\Domain\EvaluationVisitor.cs:line 123
   at NCalc.Domain.BinaryExpression.Accept(LogicalExpressionVisitor visitor) in D:\TeamGit\NCalc-Edge\Evaluant.Calculator\Domain\BinaryExpression.cs:line 20
   at NCalc.Expression.Evaluate() in D:\TeamGit\NCalc-Edge\Evaluant.Calculator\Expression.cs:line 255

As you can see in the README, i'm commited to have no breaking changes on this.

I can't be 100% on no breaking changes, but I can't see how anyone else might be using a null parameter, or they'd be seeing this problem too. Certainly none of the existing tests break with this change.
But we could always make it an option, I'd be happy with that. Defining the option can implement the new CompareUsingMostPreciseType behavior and maybe define a default parameter named null too.
Expression e = new Expression("if('string' == null)", EvaluateOptions.AllowNullParameter)
e.Evaluate();

What version number should be bumped with this change?

1.4.5 if you're happy enough that you don't think anyone will be affected by the change for null variables. Maybe 1.5.0 if you want to add the option to set the behaviour (I can give that a shot if you like).
Cheers, Adam.

Hi @pitermarx,
I added another commit to add the AllowNullParameter option, and some additional tests to confirm existing behaviour (throws NullReferenceException) when the option isn't set.
var e = new Expression("'a string' == null", EvaluateOptions.AllowNullParameter);
Assert.AreEqual(false, e.Evaluate());

Please just check I added the null parameter into the dictionary in the correct spot (Expression.Evaluate()).
Otherwise I think it's a good compromise - people can turn on support for null comparisons and the null parameter if they wish, and existing code isn't affected.
Cheers, Adam.

I think this is definitely better. Keeps existing behaviour and adds a small feature.
Let me think a bit about this but it looks good!

merged. Thanks for the contribution

https://www.nuget.org/packages/NCalc-Edge/1.5.0

Love it, thanks mate!


Trying to convert from Swagger 1.1 to 2.0

I've attempted this both in JS and from the command line but have encountered the same problem in both.
I use a command similar to:
api-spec-converter https://api.gettyimages.com/swagger/api-docs --from=swagger_1 --to=swagger_2 > swagger.json
Except I point it at the Swagger 1.1 API listing file which looks something like this:
    "swaggerVersion": "1.1",
    "apis": [
        {
            "path": "/Authentication",
            "description": "login, logout of the dashboard, ping the server, error codes"
        },
        {
            "path": "/User",
            "description": "create/update/get/delete/migrate a user, retrieve users public info, password reset"
        },

etc.
The actual definitions of the APIs are contained in separate files corresponding to the path name and in the same directory as the listing file.
The problem
It seems like the tool is trying to navigate to Authentication as if it is in a directory that is under my api-docs.json directory listing file.
Fatal Error: ENOTDIR: not a directory, open 'api-docs/api-docs.json/Authentication
It's trying to open the definitions file as if it is a directory and it's failing.
Has anyone run into this before? Is converting from Swagger 1.1 supported?
Thanks

Can reproduce this when there is no basePath set.
Not sure of the differences in resolution rules between Swagger 1.0, 1.1. and 1.2, but this line in swagger-converter looks suspect; changing it to include version 1.1 fixes the problem.
Hosting the file via a local web-server and referencing it via URL may also help.

@MikeRalphson Resolving subresources in Swagger 1.x is a total mess.
Back then I wrote this code in swagger-converter I used swagger-js as reference:
https://github.com/swagger-api/swagger-js/blob/2.x/lib/spec-converter.js#L535-L543
Since it was used in swagger-ui that mean an absolute majority of specs following this algorithm.
I also run swagger-converter on couple hundreds of Swagger 1.x specs and it manage to resolve all including all 1.1 specs.
So I would advise against altering behavior for 1.1 since it will fix only one spec and broken many others.
As a workaround, api-spec-converter can support option for overriding URLs to subresources.
But I'm not sure how to implement it best.

Since basePath is required in Swagger 1.x, I'm going to close this.


Add Support Library Support

Re-added support for support library v7 by extending PinActivity from AppCompatActivity

What is the status of this?

Waiting for someone with write access to pick it up.

Any chance we can get this in ASAP?

Looks like its time to fork because not using app compact is a horrible idea thanks for this hard work

Made my own activity, screw it.

How did you include this into your application?  I've fixed all the broken of this but would want to use it as a library import but then I run into all kinds of other broken in this...

Can you update this and fix the conflicts. We'll have a better chance of getting this in that way. Thanks. :-)

Hey @olivierg13, can we get some movement on this. It seems relatively benign and could really help out a lot of people use the library, myself included.

Hello @abeatte
I actually did not see this pull request, sorry. If you want us to see it, you have to @ name us in your comments as you did there.
Your branch is actually 22 commits behind master (we added the fingerprint sensor etc...).
Could you rebase your branch on master first?
Secondly, as people are also using Activity and FragmentActivity depending on their needs (and API level), I would create a new class (PinAppCompatActivity for instance that extends v7.app.AppCompatActivity) and not touch the previously created activities.
This way you don't break existing implementation of the library, and you add your feature.
How does that sound?
Sorry again for the delay.
Cheers,
Olivier

I'm actually applying a change right now for fixing the salt on certain devices.
You will be able to rebase on the 1.6.0 version.

@axemorgan @JaredBanyard (FYI)

@abeatte Made my own library months ago.

@JaredBanyard, is your library forked from this one? Please, share. :-)

Sorry, did not want to close it.
I just updated the github repo with 1.6.0, that fixes the salt generation (got a few tickets about that).
I uploaded it to maven central. It should be available in ~15min.

Por que essa submissão não foi incorporada? Eu posso enviar-lhe uma versão com a fusão? '-'

Why this  commit doesn't was merged? Can I send you a version with the merge? '-

Hey @VictorHVS, that would be great. Or you can just apply your merges (and merge conflict resolutions) onto this branch here. Your choice. If you do open up an entirely new PR to get this in, please mention the new PR number here so others can follow your progress. Thanks.

@abeatte Why the commits of @axemorgan it was forgotten? '-' I Want his solution in a new release of this lib on gradle. If I submit a new commit without conflicts, it is guaranteed that the owner of project will create a new gradle release?

@VictorHVS, yeah, it is my understanding that if someone get this PR (or another one) ready to merge without conflicts the project owner will happily merge it in. If you read the above comments, they have requested that this new functionality not interfere with existing functionality. So your implementation would have to duplicate some of the main pieces so that appCompat and Support Libs could live side by side.

Hello all.
Yes, as you can see, there has been a few changes between the creation of this branch and the master branch (fingerprint sensor, fixes on the crypto side etc...).
If you want to do it well, one easy way is to rebase your branch (google git rebase). Otherwise, if you don't know git super well, you can do a new fork of the current master and re-apply your changes as we discussed before.
Sorry but I won't accept a merged branch with master (too much risk of bad merge), only rebased branch or fresh fork.
And then I can release a new version on maven central so that you could import it with your gradle dependencies (don't worry about that, a deploy is actually super quick).
Cheers,
Olivier

Sorry guys I'm closing this one, too old (can't be merged) and no support.
Cheers,
Olivier


feat: E-Ink updated page layouts + alert widget

Asana task: Styles for alerts widgets on e-Ink screens
This turned out to be a very large change 😬
This adds alerts to both e-ink apps, but in the process I needed to rearrange the screen templates for both apps to add paging and allow for "filler" content to take over the bottom screen when there's an active takeover alert.
There were also a few challenging aspects of the alert widget designs, e.g. the special card background and the SVG arrow that has a different length in the flex zone alert vs the takeover alert.
I'm still testing all of my changes and need to take a different approach for the link arrow component, as setting SVG attributes from CSS turns out to be unsupported on most browsers besides Chrome, but wanted to get this PR posted for the sake of accountability, at least.
I expect to make a few more updates to this PR over the next day or two, but the bulk of it is done.
Remaining:

[x] hard-code alert link arrows in a similar way to the card backgrounds
[x] double-check alert styles, ask design about spacing between multiple pills + small pill variant
[x] test changes

This looks good. Only thing I noticed is the new bottom_screen_filler widget instance does not have a test file. There is also not an audio view file (although I know this is eink so it won't use it).

This looks good. Only thing I noticed is the new bottom_screen_filler widget instance does not have a test file. There is also not an audio view file (although I know this is eink so it won't use it).

The audio view is here but I did miss adding a test file, thanks!


fix: use any

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.7%) to 26.928%

Totals

Change from base Build<PHONE_NUMBER>:
0.7%

Covered Lines:
398

Relevant Lines:
1478

💛  - Coveralls