[$250] Pay with business BA - System message is "paid x", while thread header is "paid x elsewhere"

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

Version Number: 9.0.29-0
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4921007
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause Internal Team
Action Performed:
Precondition:

Admin and member are in the same workspace.
Workspace has bank account set up.
Member has personal bank account.

Go to staging.new.expensify.com
[Member] Go to workspace chat and submit an expense.
[Admin] Approve the expense.
[Admin] Go offline (because there is an error when paying with business bank account).
[Admin] Click Pay with business bank account.
[Admin] Right click on the paid system message > Reply in thread.

Expected Result:
The thread header for paid system message should be the same as the system message.
Actual Result:
The system message is "paid x", while the thread header shows "paid x elsewhere".
Workaround:
Unknown
Platforms:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/ac922658-e485-498e-a10a-9e38468ee019

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021831454888955451181
Upwork Job ID:<PHONE_NUMBER>955451181
Last Price Increase: 2024-09-11

Issue OwnerCurrent Issue Owner: @

Trying to figure out which PR introduced this since it doesn't happen on prod

@bondydaa / @MariaHCD - I am curious if you think this revert revert PR could possibly be related? https://github.com/Expensify/App/pull/48421

After discussion in Slack we think this is probably a regression from the linked PR, we are going to work with @bondydaa @brandonhenry @allroundexperts to fix this regression!

also throwing the external label on here, ideally @brandonhenry can fix but if not no need to block for that either.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Thread title and orignal message are incosistent for payment action message
What is the root cause of that problem?
Both strings come from different functions that are incosistent.
The thread title comes from message field in reportAction which is added as part of optimistic data for payMoneyRequest. The optimistic data gets this message from getIOUReportActionMessage. The getIOUReportActionMessage function returns Paid x elsewhere by default.
The message content comes from getIOUReportActionDisplayMessage. The getIOUReportActionDisplayMessage returns Paid x by default.
This causes inconsistency between thread title and the message content.
getIOUReportActionMessage:
https://github.com/Expensify/App/blob/8a35256bff4d66d0f0958fd9100e191a8fda404d/src/libs/ReportUtils.ts#L4467-L4475
getIOUReportActionDisplayMessage:
https://github.com/Expensify/App/blob/8a35256bff4d66d0f0958fd9100e191a8fda404d/src/libs/ReportUtils.ts#L6933-L6944
What changes do you think we should make in order to solve the problem?

Paid x feels more right so, we can update getIOUReportActionMessage to return Paid x by default. This function also has some strings hardcoded in english so maybe we should also localize this.
What alternative solutions did you explore? (Optional)
Option 1
Update getIOUReportActionDisplayMessage to return Paid x elsewhere.
Option 2
getIOUReportActionMessage is only used for building optmistic reports and for showing last message so maybe we can replace it with getIOUReportActionDisplayMessage.

i'll be OOO next week so if we get proposals ready please ask for another engineer to review

@allroundexperts, can you please review the proposals above? Thanks!

Thanks for the proposal @jaydamani. I think with your proposal, we'll show Paid x even on the report messages as well, which seems incorrect to me. @bondydaa @isabelastisser Should we replace this message with Paid x everywhere?

Thanks for the proposal @jaydamani. I think with your proposal, we'll show Paid x even on the report messages as well, which seems incorrect to me. @bondydaa @isabelastisser Should we replace this message with Paid x everywhere?

Paid x felt more right since it was paid through expensify but if Paid x elsewhere is correct then we can apply option 1 in alternate solution.

Reassigning since Bondy is OOO.

@AndrewGable @MariaHCD, can you please weigh in since you were previously part of this discussion? Thanks!

Alright, I'm inclined to say that we should replace this message with Paid x everywhere, but I think I should ask @shawnbortonm what he thinks since this falls into a design change.

Bump @shawnborton, what do you think?

This is a weird one. But my thoughts are that the chat header for the thread view should match the exact message that was threaded. So it's weird that the system message just says "Paid $XX.XX" but the thread header says "Paid $XX.XX with Expensify"
I'm not sure if the bug is that the system message actually needs to say "Paid $XX.XX with Expensify" or if the thread header needs to be updated to match the system message. cc @trjExpensify @Expensify/design @dangrous in case you have any thoughts here.
But actually @bondydaa since this was a regression, can you explain what happened and what the expected behavior is?

Yeah I can agree with that.
Alternative I'd say that the system message has more room so could actually contain more details of where it's paid, where the header has less space to use so we could stick with simply Paid $XX.XX and leave the details to the system message.

But my thoughts are that the chat header for the thread view should match the exact message that was threaded.

I think I fall in this camp.

Thanks for discussing this, team!

But my thoughts are that the chat header for the thread view should match the exact message that was threaded.

Agree with this, they should match.

I'm not sure if the bug is that the system message actually needs to say "Paid $XX.XX with Expensify" or if the thread header needs to be updated to match the system message.

I thought the former we historically expected for the system message to read:Paid $x.xx with Expensify. I could find the PR where we updated it from "using Expensify" to "with Expensify" to match the button terminology in that regard, but can't see where/if we made a decision to drop "with Expensify" from the sys message for in-app payments along the way.
I can see an argument for both really, I'm probably leaning towards only highlighting an alt payment method when it's outside of the app for brevity. I think the expectation is to be paid via the software you're using, so only highlighting when it's some place else seems okay. Especially if we start thinking about some additional variations that are coming into play like auto-reimbursement, which would otherwise make it:

automatically paid $15.00 with Expensify via workspace rules

Instead of the below:

automatically paid $20.00 via workspace rules

I think the expectation is to be paid via the software you're using, so only highlighting when it's some place else seems okay

Yeah, I totally agree with that.

Cool, cool! Let's make the thread header match the system message that's on prod then 👍

Not overdue.

@allroundexperts, can you please provide an update? Thanks!

Looking at this now.

@jaydamani can you please update your proposal to match the expected behaviour we decided above?

@allroundexperts, can you please provide an update? Thanks!

Since this is no longer reproducible, I think we can close this issue.

@allroundexperts, please provide an update! I will DM you for visibility, thanks!

It shows "Paid x with expensify" for both header and message which seems correct.

Great, so this bug is resolved and we can close this.


Gitlab - CICD - repo based works, nav based not

Hi jdoiro3,
I am currently facing the issue that the nav based import does not work for my Gitlab CICD runner.
However, when I change it to a repo base import, it works.
I cannot reconstruct the bug, when working on my PC. There both ways are working.
The error message I am facing is 'ImportDocsException(f"{self.name} doesn't have {yml_file} at {str(config_file)}")'.
The repo I attach to my mkdocs: https://gitlab.com/pages/mkdocs - It has a mkdocs.yml file.
It is a public repository, so the AccessToken should not influence the result.
Nav based import works with github repos via Gitlab CICD runners without problems.
Did you try the CICD approach once for gitlab pages?

I did not try it with gitlab pages. I've been busy but might be able to look into it some point in the near future. Hopefully we can resolve this sooner rather than later.

You could have a look to my comment here:
https://github.com/jdoiro3/mkdocs-multirepo-plugin/issues/33#issuecomment-1180649139
It works fine for me.


async sqlalchemy engine support

Description
It looks like in logfire[aiohttp,fastapi,sqlalchemy]>=2.9.0, the sqlalchemy AsyncEngine is not supported. Is it possible to add support for this?
Code
POSTGRES: Final[AsyncEngine] = create_async_engine(url=POSTGRES_URL, echo=SETTINGS.DEBUG)
logfire.instrument_sqlalchemy(engine=POSTGRES)

Error
Argument of type "AsyncEngine" cannot be assigned to parameter "engine" of type "Engine | None" in function "instrument_sqlalchemy"
  Type "AsyncEngine" is not assignable to type "Engine | None"
    "AsyncEngine" is not assignable to "Engine"
    "AsyncEngine" is not assignable to "None"

Based on https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/sqlalchemy/sqlalchemy.html, try logfire.instrument_sqlalchemy(engine=POSTGRES.sync_engine)

Thanks @alexmojaki

Let's make the SDK take care of this, or at least document it.


Kyra's Blessing of Sarenrae power not working for Exorcist build

The Blessing of Sarenrae power works fine if following the Healer build, but the Exorcist build is not behaving properly.

Fixed in pull request #8


Setting the credentials are part of the POST body and not in the URL

@psantos1113  @ekerwin  Please review this PR when you have a chance

Coverage remained the same at 68.445% when pulling bd8c1a1753fa01c670b2719732369bb502a9b507 on Fixing_credentials_in_URL into b1f8243e5b3268f4ae9391fb28a8686836aad804 on master.

I love it.

looks good

Great job James!   Definitely felt uneasy appending such data to URL.   What is the impact from a security standpoint?   Will no longer show up in access logs because the body is not logged, right?

Exactly, access logs will no longer contain credentials in clear text


Fix permission issues between xrdp and sesman.

Attempt to fix connection problem between xrdp-sesman (running as root) and
xrdp (running as xrdp) by creating the socket for the xorgxrdp server as
0660 in a sgid-xrdp directory, since we can’t easily chgrp here; also fix
retval check for listen(2)
This is accompanied by a patch to xorgxrdp (did I mention the two should be
merged as subtrees?).

Such changes are better left in the distro patches. Different users use xrdp differently. I don't think any sgid or suid bits should be necessary to make two processes communicate. Changing the /tmp/.xrdp is too radical, there are several sockets in that directory. It would be better to change permissions of specific sockets. Whichever process is root should be changing permissions for the other process to have access. If UNIX sockets don't work, TCP sockets should be used.

This should be left in distro patches.


fix(context): clear call context when done

Some threads can be reused by a bottle server and
old call data can persist in the thread-local
storage. This ensures the data is cleared after
each request.

The threadlocal call context will now be unavailable to any middlewares "above" the ContextMiddleware, right? Whereas previously, the context was available for the life of the thread. I don't think we've ever had code in that logical place that would depend on the threadlocal call context, but I wanted to make sure I understood correctly and document the caveat if there is one.

The threadlocal data is available to anything in the thread. However, the .default() context will be cleared after the ContextMiddleware finishes handling its response. I make the assumption that any workers or asynchronous code running is in another thread/process/machine and would have had the context copied over by then.
Given the ContextMiddleware is what returns the X-Transaction-Id header, it should be very close to the top of the stack (if not at the top). Since any error or failure should go back with the X-Transaction-Id header in it as an ID we can use for further troubleshooting.

Thanks @samstav


Update Scala 2.13 and scoverage

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.8%) to 88.189%

Files with Coverage Reduction
New Missed Lines
%

http-json/src/main/scala/org/mdedetrich/pekko/http/JsonSupport.scala
2
76.67%

Totals

Change from base Build<PHONE_NUMBER>6:
-0.8%

Covered Lines:
112

Relevant Lines:
127

💛  - Coveralls


Error when using passwords that starts with $ character

I think their is an error when trying to use the tool with a password that starts with the $ character, as it is showing in the screen shots below, an error message appears at the end stating that Error: argument -p/--password: expected one argument

Hi,
You can put your password between quotes and use a backslash to escape the $.
-p "\$password"


Fixed minor bug from Script calling colorblocks function after it had been modified

Commenting out prior calls resolved the error and restored functionality on chrome.

resolve the issue


Fix NFTs pages request after account refresh

Description

NFTs list was relying on triggering NFTs page when the index of the shimmering view was the the same as the current collections' size. So that used to mean that when the user scrolls to the bottom, the next page was received.
In the current bug, since the account refresh was requested, the items were invalidated, making the collection having 0 items. So in order for the next page to be triggered, the user should scroll back to the first item.
Clearly this logic was wrong. Now whenever a shimmering view is appeared, meaning that we lack of needed data to display the NFT collection, we need to request for the next nfts page. We should also mark this specific collection as pending so, multiple renders to the list do not cause the request to be triggered constantly.

How to test

Add an NFT collection with many NFTs in your account. I personally tried it with 60 NFT items. So that the client requests 2 pages of data. (this is not so important though)
Scroll the list of NFTs down so the first NFT is totally hidden.
Wait 1 minute for account to be refreshed on the background.
Now you should be able to see the items again, instead seeing the shimmering effect.
The same applies to the transfer screen's select assets sheet.

@jakub-rdx You are totally right. I am looking into fixing that for the next version. I think the problem is related to this:
An account owns some NFTs at a specific state version. When we refresh the page, we receive a new state version for that account. So at the new state version the database returns no NFTs. The reason i did that was specifically for NFTs that are claims. Claims need to be resolved in a specific state version.
This could be resolved in a nicer way perhaps. We could allow NFTs that have state version <= latest state version, but we need to make sure to also fetch the latest at that point.


bot is offline on discord

bot is offline on discord server and idk how to get it online to play music
please help me

did you followed guide?
https://github.com/Just-Some-Bots/MusicBot/wiki/Guide-for-Windows
https://github.com/Just-Some-Bots/MusicBot/wiki/Guide-for-Ubuntu
did you set bot TOKEN in "MusicBot\config\options.ini" ?

If you follow the guides noted above correctly, you won't have this issue.

no problem thanks i used a bot on founded on google
2017-12-13 11:47 GMT+01:00 Peter Kajan<EMAIL_ADDRESS>
did you followed guide?
https://github.com/Just-Some-Bots/MusicBot/wiki/Guide-for-Windows
https://github.com/Just-Some-Bots/MusicBot/wiki/Guide-for-Ubuntu
did you set bot TOKEN in "MusicBot\config\options.ini" ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Just-Some-Bots/MusicBot/issues/1418#issuecomment-351354535,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ag3G_ggtKcBuPKnOCaF30jT9xhAS20j8ks5s_6swgaJpZM4Q97md
.

--
Pietro Venuti

im not using this bot, but can anyone tell me why bots go down at all?

Any number of factors, being connection issue with discord or it crashed. It might help to ask in better detail in https://discord.gg/discord-api


Initial release TODOs

Internally

[ ] pull in boilerplate repo contents
[ ] migrate code
[ ] migrate tests (all existing assertions) using mocha
[ ] ensure tests pass 100%
[ ] replace any grunt.util with grunt-legacy-util
[ ] allow instances to be created instead of the lib being a singleton (prefer Ctor+prototype, but module pattern is ok when module.exports is a function)
[ ] require grunt to be passed-in to the Ctor/factory instead of requireing it
[ ] write API documentation as code comments
[ ] use existing grunt to lint / test / build readme & docs
[ ] add "built with grunt" badge :P
[ ] add missing tests to ensure 100% code coverage

Externally
(In a PR on gruntjs/grunt)

[ ] replace core internal module with this project
[ ] ensure orphaned dependencies are removed

woot


add mtab symlink

Fixes #181

@emerkle826 some tests are failing but it does not look they are failing because of the changes made in this PR

I've run the 4.0 tests locally and they pass. Re-running them now on GHA, but I agree that the failure is not due to the changes. The DSE failures are due to not having access to a proprietary repo, so unfortunately those tests will always fail.

The same test failed again, but I still don't think it has anything to do with the change. I'll merge this and try to see if I can isolate why GHA is failing.

@andrey-dubnik have you signed the CLA agreement at https://cla.datastax.com/

@andrey-dubnik have you signed the CLA agreement at https://cla.datastax.com/

Yes, I did

Thank you for the PR @andrey-dubnik! It's great to count you as a contributor.


Watermark Video Not Save.

Watermark video not save in storage
Video conversion completed
Video save failed

Please share some code snippet.

same issue
my logs :
I/flutter (14108): Video conversion completed
I/flutter (14108): Video save failed
I/flutter (14108): device path is : /data/user/0/com.example.watermark_test/app_flutter
I/flutter (14108): on save path is : null
my code :
class Home extends StatelessWidget {
Home({super.key});
String _path = '';
Future getPath() async {
Directory dir = await getApplicationDocumentsDirectory();
_path = dir.path;
}
@override
Widget build(BuildContext context) {
getPath();
VideoWatermark videoWatermark = VideoWatermark(
sourceVideoPath: "videos/my_video.mp4",
watermark: Watermark(
image: WatermarkSource.file('images/splash_logo.png'),
opacity: 0.5,
watermarkAlignment: WatermarkAlignment.center,
watermarkSize: WatermarkSize(150, 200),
),
savePath: _path,
onSave: (path) {
print("device path is : $_path");
print("on save path is : $path");
});
return SizedBox(
child: ElevatedButton(
child: Text('generate new videos'),
onPressed: () async {
await videoWatermark.generateVideo();
},
),
);
}
}

Please specify the full local path of the source file images/splash_logo.png.

If you are facing the same issue. Please try using latest version1.0.5 or 1.0.5-LTS

it made no difference
log :
I/flutter (18635): Video conversion completed I/flutter (18635): Video save failed I/flutter (18635):  save path : null
code :
`  void makeWatermarkVideo() {
Watermark myWaterMark = Watermark(
image: WatermarkSource.asset('images/splash_logo.png'),
opacity: 0.1,
watermarkAlignment: WatermarkAlignment.center,
);
_watermark = VideoWatermark(
  sourceVideoPath: 'https://<IP_ADDRESS>/video/my_video.mp4',
  watermark: myWaterMark,
  progress: ((value) => print(value)),
  onSave: (saveValue) {
    print(" save path : $saveValue");
  },
);

}`

it works for me ...
thank you

Thans for your support @RaminBgrn


Why can I see Posh-Git in Windows PowerShell, but I can't in PowerShell?

System Details

posh-git version/path: 1.0.0  ~\OneDrive\Documents\WindowsPowerShell\Modules\posh-git\1.0.0
PowerShell version: 5.1.19041.1237
git version 2.33.0.windows.2
OS: Microsoft Windows NT 10.0.19043.0

Issue Description
I am experiencing a problem with Posh-Git in Windows Terminal. I can see Posh-Git in the Windows PowerShell, but I cannot see it in PowerShell 7.1.4. I found this closed issue No. 858 powershell 7.1.3 does not disply posh-git prompt, but that doesn't seem to cover this. Why does Posh-Git work in one (Windows PowerShell), but not the other (PowerShell 7.1.4)?

posh-git is typically loaded by the following line in your PowerShell profile script:
Import-Module posh-git

If you look in $HOME\Documents\WindowsPowerShell\profile.ps1 (or host-specific profile in the same dir), you should see that line above.  PowerShell 7 is different enough that it does NOT use those profile scripts.  PS 7 has its own directory for separate profiles and module installations.
You need to make sure you've installed posh-git using PowerShell 7 and you need to add that line above to your $HOME\Documents\PowerShell\profile.ps1 file.   After that, when you start a new PowerShell 7 session, posh-git should be available.

You need to make sure you've installed posh-git using PowerShell 7 and you need to add that line above to your $HOME\Documents\PowerShell\profile.ps1 file.

In other words, run Add-PoshGitToProfile from shells that are missing it.


Failover / Load balancing of multiple WANs

Hi, how to implement it.

Let's assume you use a FreeBSD machine. So there is FIBs - it must be enable in /boot/loader.conf and you set the number of FIBs (number of ISPs) you want. Maximum is 16 I think.
So now you have multiple routing tables (one in each FIB) with multiple default GW (for each one ISP).
Failover is simple - tag your packets in firewall with FIB/ISP you want to use for the packet.
You can load balance your traffic based on source machine or destination server easy (all traffic from PC 1 to ISP 2, all traffic from PC 2 to ISP 1), you can load balance you traffic based on port/protocol/service (all SMTP via ISP 1, all HTTP via ISP 2).
The problem with load balancing is modern encrypted protocols - there are solutions to use statefull firewall to keep each session via single ISP so you will not disrupt SSL/TLS connection for example but as I tested it, It's not 100% :-( So I better stay with machine or protocol based load balancing (as I'm using it in this code).


[Constraint system] Add a SolutionApplicationTarget-based typeCheckExpression

Rework most of typeCheckExpression() to use SolutionApplicationTarget,
folding more information into that data structure and sinking more
expression-checking behavior down into the more general solver and
solution-application code.

This is still fairly messy, because not all of the important information about how to type check an expression is available in SolutionApplicationTarget yet. Baby steps...

@swift-ci please smoke test

@swift-ci please test source compatibility

@swift-ci please smoke test

@swift-ci please smoke test


Theme

Please provide an option to disable the theme.
I want to use the same theme as i have in Code and not have it changed by your app.

https://github.com/cweijan/vscode-office/issues/18#issuecomment-850752076

https://github.com/cweijan/vscode-office/issues/18#issuecomment-850752076


docs(dart): redirect to webdev/angular

cc @naomiblack @kevmoo @kwalrath

LGTM! I'd love to get this landed ASAP

@chalin is there also a PR removing dart doc generation from the build process to go with this one?

@naomiblack - yes there will be separate PRs (I haven't started work on adjusting the build scripts yet).

Contributes to #2930

It seems like this is landed now...did I miss something?

@kevmoo - I was just cross linking to the main tracker issue.
If this has indeed been merged, maybe @wardbell or @juleskremer can close this?

this is merged.


In mobile devices, resizing table header columns also drags the table

What version of React-Table are you using?
6.8.0
What bug are you experiencing, or what feature are you proposing?
In mobile devices or touch screens, resizing table header columns also drags the table if there is responsive horizontal scrolling.
This causes the column you are dragging to move away from your finger.  It's a bit wonky.
Perhaps disable 'touchmove' when a column is being resized?
Use https://codesandbox.io/s/X6npLXPRW (by clicking the "Fork" button) to reproduce the issue.
Just need to add table columns or increase their width so that the table has horizontal scrolling.
What are the steps to reproduce the issue?

Create a react table with responsive horizontal scrolling
Open the page with the table in a mobile device
Drag to resize the columns

This feature/issue has been tagged as one that will likely be fixed or improved in the next major release of React-Table. This release is expected to be completed in the next 6 - 8 months. Please see #1143 for more detail. If you believe this feature can be easily fixed, we invite you to fork the project, attempt the fix, and use it until the latest version is available. If the fix is simple enough, we will also consider it as a PR to the current version.


Doesn't seem to be working

I've installed the latest version and restarted Atom.
When I type "require('" or "import * from '" nothing happens.
This is Atom v1.22.1

Nevermind, I was using an unsupported grammar, javascript-jsx, so this package was never activated.


wasm-smith: add method to export everything

Add a export_everything method to Module that does a post-generation pass to export everything in the module.
Various Wasmtime fuzz targets will call functions if they are exported or hash memories if they are exported.
An export_everything method would give us an easy way to export everything.

I don't think so because the same item can be reexported multiple times, meaning that an item still may not be picked to get reexported.


Raster extension put in wrong place?

The output of rio stac tests/fixtures/dataset_cog.tif | jq is the following. raster:bands is put on the top-level properties object. It appears from the json schema that raster: keys are only intended to be put on individual assets: https://github.com/stac-extensions/raster/blob/117233a2d94b5ed8650ddc71e6fcec19606b06fa/json-schema/schema.json#L20-L25
{
  "type": "Feature",
  "stac_version": "1.0.0",
  "id": "dataset_cog.tif",
  "properties": {
    "proj:epsg": 32621,
    "proj:geometry": {
      "type": "Polygon",
      "coordinates": [
        [
          [
            373185,
            8286015
          ],
          [
            373185,
            8019284.949381611
          ],
          [
<PHONE_NUMBER>102272,
            8019284.949381611
          ],
          [
<PHONE_NUMBER>102272,
            8286015
          ],
          [
            373185,
            8286015
          ]
        ]
      ]
    },
    "proj:bbox": [
      373185,
      8019284.949381611,
<PHONE_NUMBER>102272,
      8286015
    ],
    "proj:shape": [
      2667,
      2658
    ],
    "proj:transform": [
<PHONE_NUMBER>7344893,
      0,
      373185,
      0,
      -100.01126757344893,
      8286015,
      0,
      0,
      1
    ],
    "raster:bands": [
      {
        "sampling": "point",
        "data_type": "uint16",
        "scale": 1,
        "offset": 0,
        "statistics": {
          "mean": 2107.524612053134,
          "minimum": 1,
          "maximum": 7872,
          "stdev": 2271.0065537857326,
          "valid_percent": 9.564764936336924e-05
        },
        "histogram": {
          "count": 11,
          "min": 1,
          "max": 7872,
          "buckets": [
            503460,
            0,
            0,
            161792,
            283094,
            0,
            0,
            0,
            87727,
            9431
          ]
        }
      }
    ],
    "datetime": "2021-09-09T20:49:31.915879Z"
  },
  "geometry": {
    "type": "Polygon",
    "coordinates": [
      [
        [
          -61.28762442711404,
          74.66298001264106
        ],
        [
          -61.28762442711404,
          72.22979795551834
        ],
        [
          -52.301598718454485,
          72.22979795551834
        ],
        [
          -52.301598718454485,
          74.66298001264106
        ],
        [
          -61.28762442711404,
          74.66298001264106
        ]
      ]
    ]
  },
  "links": [],
  "assets": {
    "asset": {
      "href": "/Users/kbarron/github/mapping/rio-stac/tests/fixtures/dataset_cog.tif"
    }
  },
  "bbox": [
    -61.28762442711404,
    72.22979795551834,
    -52.301598718454485,
    74.66298001264106
  ],
  "stac_extensions": [
    "https://stac-extensions.github.io/projection/v1.0.0/schema.json",
    "https://stac-extensions.github.io/raster/v1.1.0/schema.json"
  ]
}

I guess we cannot rely on pystac validation 🤷♂

I guess we cannot rely on pystac validation 🤷♂

I think a core issue with STAC is that the JSON Schema allows additional fields. So if you put raster:bands within the asset, then it will be validated against the schema. But the schema also allows additional fields in basically any location, so it won't tell you if your data isn't in the standard location, as long as that's an optional field.


download the code when i run it

An error occurred while setting cookies.
DATE: 08/02/2022 | 23:56:33 @ [ ERROR ] An error occurred while getting bot Gems inventory: Error: ETIMEDOUT

The first is an error connecting to Steam servers.
The second could have just been a consequence of the first error or it could have happened due to a very large inventory (+200k items).


WebView 2.0 Usage error

Hi, followed steps to add new WebView 2.0 into component.
$ ionic cordova plugin add cordova-plugin-ionic-webview
$ npm install --save @ionic-native/ionic-webview
import { WebView } from '@ionic-native/ionic-webview';
constructor(private webview: WebView) { }
img = this.webview.convertFileSrc('file:///Users/dan/camera-image-12345.png')
Gives error:
Can't resolve all parameters for Page: (?, ?).
Thanks

Our app relies heavily on normalizeUrl. Please can you assist so we can setup for the new version.

Work around:
private win: any = window;
this.win.Ionic.WebView.convertFileSrc();
But you'll run into an error when trying to use the returned url.  See Issue 133

Thanks so much for the reply.
i will test it out.
regarding your workaround, workaround - *serverUrl = @"http://localhost:8080".
Where exactly do i add this change?
Does it mean that i must add an @ before my file path?
http://localhost:8080/Users/dan/camera-image-12345.png?
Thanks

It’s line 758 in CDVWKWebViewEngine.m of the plugin.
The url / path has to be generated from the window.Ionic.WebView.convertFileSrc
I ended up reverting to the previous version of the plugin due to a few other issues including an issue with playing videos and viewing images through local files.
On Jul 29, 2018, 6:01 AM -0700, Kieran Harris<EMAIL_ADDRESS>wrote:

Thanks so much for the reply.
i will test it out.
regarding your workaround, workaround - *serverUrl = @"http://localhost:8080".
Where exactly do i add this change?
Does it mean that i must add an @ before my file path?
http://localhost:8080/Users/dan/camera-image-12345.png?
Thanks
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Ah ok thanks man.
Yeah we also just reverted to the older version. We wanted to try new version because the new manual Pro features require the latest plugin.
We will just wait until the team solves these issues.
Thanks for your help.
Happy coding.

I'm seeing the same issues with accessing local files since the upgrade.
In the previous 1x version, a mere "file://" (or not for iOS) would do the trick.
I simply updated to cordova-plugin-ionic-webview v2 and it broke local file access for Android:
I tried both hardcoding the server address and using
window.Ionic.WebView.convertFileSrc(filePath);
both produce the same result in fact, eg:
http://localhost:8080/_file_/data/user/0/com....some.app/files/assets/e6d1ac1d14b6f15f1124dab9e7488ff8"
I don't see any security/access related errors but also nothing shows, leaving images broken (on Android).
On iOS everything works as expected.

Yeah man
I'm hoping it gets fixed.
I'm just gonna wait until then.

I've been trying to troubleshoot this a little bit, frankly though, I don't know what I'm doing. So take the below with a grain of salt and my 2c in good faith.
Debugging this on AndroidStudio shows me a back and fort between:
WebViewLocalServer.java:: handleLocalRequest()
and
AndroidProtocolHandler.java:: openAsset()
path seems to be set to the current image I am referencing, see screenshot A below
In line 246 it attempts to open the asset, but ignores the actual path and passes on startPath and assetPath being "" empty.
Subsequent processing does not consider the actual asset path at all...
Again, this could all be just fine, but imho -even to my untrained eye- this looks wrong.
SCREENSHOT A

Well, this warrants an extra post.
I got it.
The above was a shot in the dark but it gave me enough light to see what the real issue is.
I was using hashed URLs as local file names and did not add the original extension back on.
Without the extension the java functions above treat an image like a web page essentially and not a local file reference.
Just slap the original (.png, .jpeg etc) extension back on the storage file name.
All good now!

I am building on IOS.
I managed to build with convertFileSrc however it causes app to terminate in Xcode.

and here

File url came out correctly as
http://localhost:8080/_file_/var/mobile/Containers/Data/Application/1AA83F7E-B30F-4221-890A-414C70A4B92A/Documents/file.pdf
I tried @scottmizo's workaround, it removed the above error but app still froze with this error

i am hoping ionic issues a fix.
Thanks

see this
https://github.com/ionic-team/cordova-plugin-ionic-webview/issues/133

Thanks @olivermuc, @scottmizo.
@matejkramny Merge request solved the issue for me.
https://github.com/ionic-team/cordova-plugin-ionic-webview/pull/135/commits/b18237209b398869ea70d34db6b53a0aee73094f

fixed #129

You can also modify this in getCachedImagePath method:
 // check if file already exists in temp directory               this.file.resolveLocalFilesystemUrl(tempDirPath + '/' + fileName)                 .then((tempFileEntry: FileEntry) => {                   // file exists in temp directory                   // return native path                   // Replace file with localhost.                   resolve(fileEntry.nativeURL.replace('file:///', 'http://localhost:8080/'));                   //resolve(tempFileEntry.nativeURL);                 })


SequencerRepair: test optimization

In SequencerRepair, when we run the tests, we run all tests at once.
Excellent suggestion by @martinezmatias, we should first run the failing test, see if it passes, and then run the other tests

And later, we can also do more sophisticated optimization, as suggested by @sophiehye, see
Test-Equivalence Analysis for Automatic Patch Generation
http://mechtaev.com/publications/tosem18.pdf


EPIC: ARM support

We'd like to support ARM with Rio. This brings Rio into alignment with K3S; for example we'd like to support running rio on k3s on armhf and arm64.
We need to describe what the considerations are to support arm:

[ ] Make sure all system images have arm64 and armhf manifests. This includes cert-manager, linkerd, gloo, envoy, tekton. This is an impossible task, so it is very likely that we will drop the feature if arm manifest is not supported.

[ ] Rio controller should be able to run in arm. This includes testing efforts.

Most likely to support arm we just need to run three features:

Rdns(Dynamic dns domain assigned for each cluster)

Letsencrypt(letsencrypt certs for each public domain and one cluster domain)

Core stack(The ability to define rio services and launch k8s deployments and services

Routing gateway(The ability to do host-path routing to each kubernetes service)

See https://github.com/linkerd/linkerd2/issues/1165 for linkerd2 support

We are going to add a lightweight installation which can bring support for ARM. This will remove build, service mesh, autoscaling functionality in arm, and replace api gateway(gloo) with ingress in ARM.

I discovered this the hard way when I tried running it on my raspberries with k3s and got exec format errors 😢
looking forward for this!

I recently submitted a bug, and now noticed the same error. When will this be available?


Drop support for cabal < 2

My experience with cabal sandboxes and hadrian has been that they've been buggy and did not rebuild as needed. As hadrian is a tech preview in 8.4 I would like to put cabal >= 2.0 as a requirement for hadrian up for discussion.
It also kills one script to be maintained. Instead of falling back to sandboxes, tell the user to grab a binary distribution of cabal2 from https://www.haskell.org/cabal/download.html.

Yes, I'm in favour of this too.
A few of the recent issues seem to be related to the old Cabal, e.g. #463 and #465.

Actually, wait a moment. Unless I'm mistaken we don't support building in anything but sandbox mode with cabal 2. Don't we require cabal-install >= 2.1 to use new-build mode?

@bgamari Yes, the current constraint is actually cabal-install >= 2.1, since otherwise we could not pass additional parameters to the executable, see #438. Maybe we can relax this to cabal-install >= 2.0 by finding a workaround for #438.

Perhaps we could pass parameters to the executable through a environment variable rather than the command line?

So apparently the plan is to release cabal-install 2.1 well before the GHC 8.4 release, so it's possible we could do mandate 2.1 and keep the global database codepath around for users who really can't upgrade for some reason.

@duog I don't think we want to rework Hadrian just to support pre-2.1 Cabal...
@bgamari Sounds good!


How can i decode the quarantined items

for the quarantined items, i want to know where and which script caused this. it is in .xml format, and i don't know how to decode it. Seems kindling doesn't support it.

i find some info in the forum. so maybe the issue can be closed https://forum.inductiveautomation.com/t/base64-in-export-of-store-forward-quarantined-item/15656

It's not perfect, but basic support for deserializing quarantine.xml files was added in 1.3.0: https://github.com/inductiveautomation/kindling/releases/tag/1.3.0


Add support for editing data in place

Closing this because it can be accomplished fairly simply with custom cell components. Would be willing to re-visit down the line if someone has a compelling reason why custom cell components don't work for their use case.


Simplify async certificate validation

Simplify async certificate validation. Currently, the ValidateResultCallback can be passed in to doVerifyChain() one of two different way:

Via the optional callback argument
Via the optional ssl_extended_info argument (by invoking createValidateResultCallback())
This is a bit confusing as both arguments are optional but the callback is not.

In addition, the handling of ssl_extended_info is slightly cumbersome. Since this argument is optional, all the code which attempts to set the ClientValidationStatus status on it is forced to wrap it with if (ssl_extended_info). It is also quite easy to omit a call to set this status.
To remedy these issues, this PR removes requires the ValidateResultCallback to passed via callback. It also removes the ssl_extended_info completely, and adds ClientValidationStatus to onCertValidationResult() and ValidationResults. This allows the caller to set the  ssl_extended_info as needed.
Risk Level: Low, no behavior change
Testing: Existing unit tests
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A

/assign @danzh2010

/assign @ggreenway

FWIW, the clang-tidy issue is an annoying unfixable known issue :/

/retest

/retest

/retest


Can't build after installing this package.

After building, nuxi build and previewing nuxi start it has this error.
[nuxt] [request error] [🍍]: getActivePinia was called with no active Pinia. Did you forget to install pinia?
        const pinia = createPinia()
        app.use(pinia)
This will fail in production.
  at useStore (/S:/dev-projects/anand-kali-projects/iragugal/.output/server/node_modules/pinia/dist/pinia.mjs:1631:19)
  at /S:/dev-projects/anand-kali-projects/iragugal/.output/server/chunks/server.mjs:5981:21
  at ModuleJob.run (node:internal/modules/esm/module_job:197:25)
  at async Promise.all (index 0)
  at async ESMLoader.import (node:internal/modules/esm/loader:337:24)
  at async /S:/dev-projects/anand-kali-projects/iragugal/.output/server/chunks/renderer.mjs:540:24
  at async /S:/dev-projects/anand-kali-projects/iragugal/.output/server/chunks/renderer.mjs:597:20
  at async /S:/dev-projects/anand-kali-projects/iragugal/.output/server/node_modules/h3/dist/index.mjs:417:19
  at async Server.nodeHandler (/S:/dev-projects/anand-kali-projects/iragugal/.output/server/node_modules/h3/dist/index.mjs:367:7)

Thanks for your feedback.
Can you provide a minimal reproduce repo or link?
We don't even know which nuxt version you are using. 😅

After installation, you must also install the plugin:
https://github.com/iendeavor/pinia-plugin-persistedstate-2#ssr
There are all examples for nuxt 2, 3 and bridge:
https://github.com/iendeavor/pinia-plugin-persistedstate-2/tree/main/examples

Thanks for the quick reply, i tried nuxt3 only.
Sorry to say that, i faced the build errors after using these packages.
For the reproduce, here is the repo

plugins<EMAIL_ADDRESS>

Even if i add it to nuxt.config.ts  still i see this error?

Try moving const xxxStore = useXXXStore(); into the function defineXXXMiddleware in ./middleware/guest and ./middleware/auth.
https://github.com/anburocky3/iragugal-web/blob/main/middleware/auth.ts#L3

Thanks, that fixes it. Thank you.
Will close this for now, will reopen if i have any similar error in the future.


Add a command to restart the language server

This has been discussed for vscode-python extension.
A command called restartLanguageServer has been created.
However this command can't be found in my command palette, maybe in pylance extension it's already deleted.
I'd like a way to re-analyse the code in a jupyter notebook, since the language server (or the extension) is always broken weirdly   microsoft/pylance-release#4736.

Can confirm I have the same issue(works in python file, doesn't show up in jupyter file) for the following environment
Version: 1.82.2 (Universal)
Commit: abd2f3db4bdb28f9e95536dfa84d8479f1eb312d
Date: 2023-09-14T05:59:47.790Z
Electron: 25.8.1
ElectronBuildId: 23779380
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 22.6.0

Name: Black Formatter
Id: ms-python.black-formatter
Description: Formatting support for Python files using `black`.
Version: 2023.4.1
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-python.black-formatter

Name: isort
Id: ms-python.isort
Description: Import Organization support for Python files using `isort`.
Version: 2023.10.1
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-python.isort

Name: Jupyter
Id: ms-toolsai.jupyter
Description: Jupyter notebook support, interactive programming and computing that supports Intellisense, debugging and more.
Version: 2023.8.1002501831
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter

Name: Pylance
Id: ms-python.vscode-pylance
Description: A performant, feature-rich language server for Python in VS Code
Version: 2023.10.20
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance

Name: Python
Id: ms-python.python
Description: IntelliSense (Pylance), Linting, Debugging (multi-threaded, remote), code formatting, refactoring, unit tests, and more.
Version: 2023.18.0
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-python.python

Hi! Has there been any progress on this? We just ran into the same problem and it's quite annoying.
The "Python: Restart Language Server" command is listed in Python files but not in Jupyter notebooks. The "Python: Show Language Server Output" command, however, does show up in any file. So I'm wondering, would this just be a one-line change to remove the editorLangId == python in the when-condition of the restart command   in package.json? To make it match the when-condition of the show-output command.


Provide GitHub actions based build pipeline

This is an initial GitHub workflow that triggers the Maven build. The workflow was created with the GitHub workflow template for Maven and enhanced with inspirations from JReleaser's build workflow.
The build fails at this moment, but this is not fault to the pipeline, more to an instable state with failing tests.
Fixes #6, #24

The build is not triggered here, but you can see it on my fork: build log

Thanks for the contribution! I'm wondering about the flaky tests, never saw those issues locally. In the errors from your linked build logs it seems like the values have issues with timezone offsets 🤔
I approved the pipeline run for this MR and will check that output, too.

Yes, the XML timezone offsets are an issue here. Should be a separate bug. After that the build should perform better.

I have opened https://github.com/operaton/operaton/issues/24 to track the timezone issue

The single remaining error could have happened due to my last merge (removing Telemetry, #1), I'm looking into that

I have seen the current issue in the pipeline, when trying to build the project with mvnd. I think, this flag in the maven.config is the issue, as the project cannot be reliably built with a parallel execution: --threads 2C

The build pipeline is now green. @javahippie Please check again.

Added a build badge. Therefore I changed the workflow's name so that it reads "build" lower case, such as license.

Thank you very much for this contribution, this will make our builds much more stable and help other contributors :+1:


Is there a way to test API key ?

I'd like to test the mailchimp api key, to test if the user enter the right one, for example if my api key var is wrong
i have a php notice :
notice: Undefined offset: 1 in /MailChimp.php on line 31
If someone have an idea, maybe be ping the mailchimp API
Thanks

There's nothing in the class to validate the API key. If you wanted to make a PR with that, it would be a nice addition.

thanks for answer,
var_dump($mailchimp_ping);```
that's works, return false on wrong API key or
```array(1) { ["msg"]=> string(20) "Everything's Chimpy!" } ``` on correct API key

https://apidocs.mailchimp.com/api/2.0/helper/ping.php

but if wrong api key i still have the php notice
```notice: Undefined offset: 1 in /MailChimp.php on line 31```

Right, the code still expects a valid API key.

@drewm @dimitrilongo Added Validation Support. Pending PR (https://github.com/drewm/mailchimp-api/pull/42)


It a good idea add the helmet lib how default in the express?

The helmet is a good lib that completes the express security, would not be better add per default in express?

Express doesn't really include anything out of the box, besides the absolute essentials. Express 3.x used to include a lot, but it got out-of-hand, especially when those modules didn't match the same support policies of Express itself.
Now, I'm not saying this applies to helmet, I would have to talk with the maintainer(s) to better understand, ideally they should be willing to support this as well. Just wanted to give some background, especially around the goal of Express 4 was specifically to not include middlewares with Express.

If express goal is not include middlewares, include helmet sounds unnecessary, but would be nice to add helmet features on express core.

Which features? What would it take to add those features? We could maybe do so, but need to better understand what the ask is here.

Security should be a concept handled at design / architecture stage of an App / Service and not a package being added to core - please don‘t even consider adding it to core.

Please keep express minimalistic and free of opinionated middleware. I especially don’t like how helmet was written. The core concepts in helmet are good, but most of it is setting the correct response headers. Trivial stuff to rewrite.
If OP wants to include certain middleware into their app then encourage them to write their own opinionated app framwework on top of express.

Absolutely agree with previous comment! Please, don't pollute codebase with external plugins.

Definitely we don't need a big, bloated with 'middleware of someone choice' Express. Keep it minimal.
And leave links to all good middlewares in "best practices' (just like it is now). People will find it, learn it and use if them need it.

Another great reason to not include Helmet or other plugins is FOCUS.  More developers will stay FOCUSED on the other repos and improve that code and that concept.  Otherwise, Express becomes a webserver/security project when it should focus on being a webserver.


Makefile: format all packages in GOFILES

Closes: #1445 (Run gofmt as part of the regular build)
Signed-off-by: Alexander Alemayhu<EMAIL_ADDRESS>

Can you provide an example output of how it looks like if there is a formatting error?

@tgraf If there is a formatting error you won't see any output.  It would just be reformatted. Considering that this is running right after building where it should not reach reformatting if there is a build error. So seems safe to assume the tooling can reformat in place. Let me know what you think, alternative we can change it if you don't like this.
@aanm Thanks for approving.

Say someone runs a build with unformatted Go code - this will run go fmt on the build slaves, but is it possible that the unformatted code gets merged? I.e., are the changes made in the workspace in Jenkins made reflected in master after a merge is done?

@tgraf If there is a formatting error you won't see any output. It would just be reformatted. Considering that this is running right after building where it should not reach reformatting if there is a build error. So seems safe to assume the tooling can reformat in place. Let me know what you think, alternative we can change it if you don't like this.

I think failing with the diff will be better. Replacing requires the editor to reload the files. Some editors will do this automatically, most won't.


Make Wifi only mode pass on iOS for 3 locally

Today we tried to run tests on 3 devices locally in Minsk.
For now some of them fails. For example Client to server request coordinated.
@artemjackson will investigate this issue tomorrow.
I will disable invalid test files and will try to run tests again, so we will have a set of problem files by tomorrow.

@artemjackson tested wifi-only mode on 3 iOS devices with @dersim-davaod, issue #1029.
He faced with an issue with Socket ping timeout on Client to server request coordinated test, so currently not all tests passed on iOS. We need some time to investigate it deeper. Will work on it tomorrow.
@artemjackson tried to fix 'superbranch' again (in #1010). But logs indicate that something is wrong with teardown, i.e. # 15. #_doImmediateSeqUpdate - create new seq doc. So @aaladev tried to fix teadrown issue in #1007. @artemjackson created and worked on a new ticket #1013 where he was trying to fix the ’superbranch’.
@artemjackson reviewed #1007 (@aaladev 's  test Server) and merged it with ’superbrach’ in a separate branch (#1010), but currently it fails on build. Will investigate in deeper tomorrow.

@artemjackson are we having issues with new test server or the old one? Why we cannot try the old one server in case if we're having issues with new test server?

@larryonoff we have the teardown issue with old test server, @andrew-aladev fixing the issue by completly rewriting the server.
I tried to use the @andrew-aladev's test server implementation by merging #1007 into #1010 but got a build failure. Tomorrow I'll investgate and fix it.

#1010 moved to #1033

#1010 moved to #1033

@artemjackson,
for now we have following results:
we definitely have an issue with:

Client to server request coordinated test in testThaliNotification.js file.
Coordinated seq test in testLocalSeqManagerCoordinated.js
Coordinated replication action test in testThaliReplicationPeerActionCoordinated.js
test write in testThaliManagerCoordinated.js
test thali manager spies
Coordinated pull replication from notification test in  testThaliPullReplicationFromNotificationCoordinated.js

Each of them fails every time I run it.
Also for now we have issues with following tests (they can fail randomly from time to time, so I think the real reason may be different):

emits routerPortConnectionFailed

output: info: Socket to device iPhone disconnected: ping timeout

Resolves an action locally

output: debug: Too many emit retries to device: iPhone

does not emit duplicate discoveryAdvertisingStateUpdate

output: debug: Too many emit retries to device: iPhone

should be able to call #startListeningForAdvertisements many times

output: info: Socket to device iPhone disconnected: ping timeout

Do nothing and make sure we time out

output: debug: Too many emit retries to device: iPhone

Make sure docs replicate

output: info: Socket to device iPhone disconnected: transport error

#update - do we cancel timer properly on an immediate?

output: warn: Failed on ios test: 24. #update - do we cancel timer properly on an immediate?

#update - test that we pick up new sequences while we wait
should be able to call #startListeningForAdvertisements many times

output: info: Socket to device iPhone disconnected: ping timeout

On the other hand when I moved invalid files into "disabled" folder, then all other tests passed locally (see full log with 3 iOS devices  here)

Also following test fails randomly:
does not emit duplicate discoveryAdvertisingStateUpdate
output:
info: Socket to device iPhone disconnected: ping timeout
debug: Too many emit retries to device: iPhone
Then all tests passed (log here)

Get 3 Android devices passing all wifi only tests with 100% reliability in Minsk
Get 3 iOS devices passing all wifi only test with 100% reliability in Minsk

@chapko got 3 Android devices passing 3/3 times in a row with all tests enabled from 'superbranch'
@evabishchevich got 3 Android devices passing 2/3 times with all tests enabled from #1033 (it's a 'superbranch' with setImmediate workaround without which CI devices didn't work).
At one of the test runs he faced the issue #1057

For iOS problem tests are:
testThaliNotification.js
testLocalSeqManager.js
testLocalSeqManagerCoordinated.js
testThaliManagerCoordinated.js
testThaliReplicationPeerActionCoordinated.js
testThaliPullReplicationFromNotificationCoordinated.js
testCreateNativeListener.js (what? it shouldn't)
testThaliNotificationClient.js
testThaliMobile.js
testThaliManager.js
testThalireplicationPeerAction.js

So you mean all the tests in all those files fail?

@dersim-davaod Once @andrew-aladev has checked in thaliproject/Thali_CordovaPlugin#1061 and thaliproject/Thali_CordovaPlugin#1064 and once he has finished and had PRs accepted for thaliproject/Thali_CordovaPlugin#1070, thaliproject/Thali_CordovaPlugin#1072 and thaliproject/Thali_CordovaPlugin#1073 THEN please re-run the iOS WiFi only tests. Please run all tests, see which ones fail and record them. We need to find one test that passes reliably on WiFi only mode on Android (ask @evabishchevich for help) but fails reliably on iOS. Then please assign the bug with the name of that test to me.

@artemjackson, log file with test results on clear origin/vNext_artemjackson_1015: log
We have info: Socket to device Apple-iPhone disconnected: ping timeout during Coordinated seq test.

Log file with tests running on simulators (the same branch origin/vNext_artemjackson_1015): log.
We also have info: Socket to device Apple-iPhone Simulator disconnected: ping timeout during Coordinated seq test.

@yaronyg I updated the https://github.com/thaliproject/Thali_CordovaPlugin/issues/1029#issuecomment-247613603

Also a small note.
Looks like Coordinated seq test passed on 2 simulators, but not when 3.

@artemjackson has merged @andrew-aladev's changes into vNext_artemjackson_1015 and I've tried to run tests again.
We have INFO HttpServer: 'Socket to device name: 'Apple-iPhone' disconnected, reason: 'ping timeout'' during DEBUG UnitTestFramework: '#run: 'test write''.
See full log here

@yaronyg,
I and @artemjackson decided that test repeat write 1 tests fails everytime we run it.
So I've created a new issue #1082 and assigned it to you.

This will now be investigated by Enrico and we'll bring this bug back to active when Enrico gets a result.

@artemjackson,
also a couple of logs with new test server: this one and this one.
Coordinated seq test  and test thali manager multiple starts and stops  failed respectively.

This blocked on thaliproject/Thali_CordovaPlugin#1082


Update tag Azure SQL Managed Instance

This document is also applicable to SQL Managed Instance. Proposing changes to add the tag SQL Managed Instance.

@rwestMSFT
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@rarandiv Thank you for your contribution. Unfortunately this contribution doesn't meet our style guidelines for include files. However, I will create an internal PR which incorporates your changes, which will publish in the next business day or so.


Ways of Freezing part of parameter and not the whole layer.

Using grad_req == null freezes whole layer, i want to freeze certain weights in the current parameter, how to do this ?
Eg: Freezing 1 of 5 kernels in conv parameter during training..
Thanks
@zhreshold help ?
#question and not #featureRequest

You can't freeze part of a parameter. However, you can overwrite the gradient arrays, once computed, accordingly and set those parts to 0 that you like "freezed".

Unless you separate the e.g. conv layer to multiple one and concat you can't freeze partial weights.

Okay, thanks

Instead of freezing, i can use a custom layer and slice them back in the weights in forward and backward passes, wouldn't it serve the same purpose ?

It may not have the same performance


Question: apply filters in 'custom' resolver

Hi, thank you for the library. This is a question rather than an issue. If I implement a custom resolver, is there a way to 'reuse' the functionality of applying the filters to a base queryset in some way?

Example for that pushed to repo.
https://github.com/strawberry-graphql/strawberry-graphql-django/blob/main/tests/filters/test_filters.py#L138-L151

Very nice, thanks a lot.

For posterity: https://github.com/strawberry-graphql/strawberry-graphql-django/commit/98edfa4d8032f19570b21aa252a2e57e3c78c9e4


Where is the .db file ? On which path, the database file is stored ?

https://github.com/craftzdog/react-native-sqlite-2/blob/master/ios/RNSqlite2.m#L55
https://github.com/craftzdog/react-native-sqlite-2/blob/master/android/src/main/java/dog/craftz/sqlite_2/RNSqlite2Module.java#L221

Thank you for your reply !

Would you mind helping me to prepopulate a db file ?

That's duplicated of https://github.com/craftzdog/react-native-sqlite-2/issues/54.
I made this library because it was necessary for my project.
But I don't need pre-populated database, so it is not planned to be supported.
I'd appreciate PRs for that.

The .db file is not accessible with file manager on my physical android device. It needs root user(jailbreak or rooted device).
Any link or solution for this.context.getFilesDir() ??

where this .db file location in windows


problem with aztec decoding

zxing is not able to  detect aztec barcode like this:
aztec.pdf

Problems seem to be zxing (zxing.net in specific) related. Even the java based zxing app from the play store can't decode it. The Scandit demo app works.

yes i know, but scandit is expensive.

You may take a look at Googles Vision API, depending on the platform you work with.
https://developers.google.com/vision/barcodes-overview

Eventually the plan is to make Google's Vision API an option for the scanning engine in ZXing.Net.Mobile, but that's going to take some time yet...

I could successfully decode the aztec code with ZXing.Net. I used a png image which I created with the snipping tool from the PDF file.

This may be a case of needing to use higher resolution preview buffer which you can do by implementing the MobileBarcodeScanningOptions.CameraResolutionSelector delegate and choosing the resolution yourself.

I use maximum camera resolution:
public CameraResolution GetResolution(List availableResolutions)
{
CameraResolution cr = availableResolutions.FirstOrDefault(c => c.Width == 1920);
if (cr != null)
return cr;
		return availableResolutions[0];
	}

Yep, I've tried with maximum resolution too. Aztec barcode by micjahn can't be decoded (also with original ZXing app from the market), but more simple barcodes works well.

Thanks for reporting this issue!  Unforunately it took me way too long to respond 😭.  Sorry, I apologize!  Recently the source code for this project was completely refactored to modernize it.  Many PR's were included in this effort, and many bugs were hopefully fixed.  Please try out the latest 3.x series of NuGet packages (currently in prerelease).  To try and make the project more maintainable in my spare time going forward, I've decided to close all existing issues to start with a clean slate.  If you're still experiencing this issue on the newest version, please open a new issue with as much detail as possible.  Thank you for your patience and understanding!  Happy scanning!


Custom locust images for master and worker

The helm chart documentation says this for the locust image:
configmap.LOCUST_IMAGE_NAME: Default Locust image name/repository if none is provided when creating a new loadtest
I understand it like there is a way to specify in each new loadtest the image to use for locust.
To get so I tried with the envvars file defining the following:
"LOCUST_IMAGE_NAME","thisisnotaninamge/locust"
"LOCUST_IMAGE","thisisnotaninamge/locust"
"LOCUST_IMAGE_TAG","noimage"

But even in that case the default image is used.
Is this a bug? Is this the right mechanism to use a custom locust image in a per loadtest basis?

Hey @jdani 👋
The environment variables you mentioned are meant to be set on the controller, which can be done in the helm chart values.yaml file (either in the configmap or controller environment variables).

Ok, I get it. But I'm looking for a way to define the image to use in a per loadtest basis. Is that possible? I don't think so. But would it be interesting? I can try to code it, at least for Locust backend. My idea is to use the env vars to read LOCUST_IMAGE and LOCUST_TAG and use it in the spec transformers as it is done for resource limits. Would it be something interesting?

Hey @jdani !
Thank you for offering your contribution! We appreciate your passion.
Please consider the following option to implement: provide the image from HTTP request. Proxy already has method fromHTTPRequestToLoadTestSpec constructing the LoadTestSpec from request. But currently, we don't update MasterConfig and WorkerConfig there. They stay empty and the default image is used.

Yep! It seems like a better idea. I will give it a try and will send PR in the coming days

Done here: https://github.com/hellofresh/kangal/pull/147

@s-radyuk I'm trying to install the latest version via helm, but the docker images are not updated and I neither can find the dockerfile to build them by myself. How can I build the docker images?  Thanks


7 - Front-Running on pool guard amount setting

Two points mentioned in the document will be addressed in our documentation.


access: requesting Editor (go-approvers) for mengzhuo

Github username: mengzhuo
Email: mengzhuo1203(at)gmail.com
https://github.com/orgs/golang/teams/go-approvers
Hi, @golang/release I had be an approver (+2) for a long time and I want to help gardening Github issue
p.s. especially thoese Chinese users who report issue in Chinese :)

cc @golang/release

Thanks for making the request.
Since you've already been granted Gerrit Code-Review+2 access, that implies TryBot, GitHub access as well, so moving this issue to NeedsFix.
Your GitHub account should be invited now, so closing.
Thank you again for your continued contributions to the Go project!


Support account-web-vault disconnect

Add support for a disconnect() method in account-web-vault/vault-account.ts (https://github.com/verida/verida-js/blob/main/packages/account-web-vault/src/vault-account.ts).
Requires adding a disconnect() method to the AccountInterface (https://github.com/verida/verida-js/issues/37)

This is done.


New feature: make floating TOC, also add options

In addition to my previous comment #2 I have done it for myself and sharing if you want to merge.
I've added options to the browser button to turn on and off sidebar and TOC:

TOC is moved out of page top and becomes a floating overlay on top-right:

I had to change your css because it's now enabled partially based on options selectors.
The manifest has two additional permissions:

"storage" - to persist user options.
"tabs" - to reload current tab from the options dialog.

I've been using this for a day or so now, seems to be fine.

This is awesome! Thanks for the PR @aloneguid


Wasmtime: add one-entry call-indirect caching.

In WebAssembly, an indirect call is somewhat slow, because of the indirection required by CFI (control-flow integrity) sandboxing. In particular, a "function pointer" in most source languages compiled to Wasm is represented by an index into a table of funcrefs. The call_indirect instruction then has to do the following steps to invoke a function pointer:

Load the funcref table's base and length values from the vmctx.
Bounds-check the invoked index against the actual table size; trap if out-of-bounds.
Spectre mitigation (cmove) on that bounds-check.
Load the vmfuncref from the table given base and index.

For lazy table init, check if this is a non-initialized funcref pointer, and initialize the entry.

Load the signature from the funcref struct and compare it against the call_indirect's expected signature; trap if wrong.
Load the actual code pointer for the callee's Wasm-ABI entry point.
Load the callee vmctx (which may be different for a cross-module call).
Put that vmctx in arg 0, our vmctx in arg 1, and invoke the loaded code pointer with an indirect call instruction.

Compare and contrast to the process involved in invoking a native function pointer:

Invoke the code pointer with an indirect call instruction.

This overhead buys us something -- it is part of the SFI sandbox boundary -- but it is very repetitive and unnecessary work in most cases when indirect function calls are performed repeatedly (such as within an inner loop).
This PR introduces the idea of caching: if we know that the result of all the above checks won't change, then if we use the same index as "the last time" (for some definition), we can skip straight to the "invoke the code pointer" step, with a cached code pointer from that last time.
Concretely, it introduces a two-word struct inlined into the vmctx for each call_indirect instruction in the module (up to a limit):

The last invoked index;
The code pointer that index corresponded to.

When compiling the module, we check whether the table could possibly be mutable at a given index once read: any instructions like table.set, or the whole table exported thus writable from the outside. We also check whether index 0 is a non-null funcref. If neither of these things are true, then we know we can cache an index-to-code-pointer mapping, and we know we can use index 0 as a sentinel for "no cached value".
We then make use of the struct for each indirect call site and generate code to check if the index matches; if so, call cached pointer; if not, load the vmfuncref, check the signature, check that the callee vmctx is the same as caller (intra-module case), and stash the code pointer and index away (fill the cache), then make the call.
On an in-development branch of SpiderMonkey-in-Wasm with ICs (using indirect calls), this is about a 20% speedup; I haven't yet measured on other benchmarks. It is expected that this might be an instantiation-time slowdown due to a larger vmctx (but we could use madvise to zero if needed).
This feature is off by default right now.

(I'll run some benchmarks to see what the compile-time impact is like, and how this benefits non-SpiderMonkey workloads; TBD.)

Benchmarks:

Sightglass measures the following for spidermonkey.wasm:

compilation :: cycles :: benchmarks/spidermonkey/benchmark.wasm

  Δ =<PHONE_NUMBER>.40 ±<PHONE_NUMBER>.02 (confidence = 99%)

  original.so is 1.01x to 1.17x faster than cache-indirect-calls.so!

  [17934023164<PHONE_NUMBER>7.60<PHONE_NUMBER>2] cache-indirect-calls.so
  [15377276916<PHONE_NUMBER>0.20<PHONE_NUMBER>2] original.so

execution :: cycles :: benchmarks/spidermonkey/benchmark.wasm

  Δ = 27069455.80 ± 22219096.46 (confidence = 99%)

  original.so is 1.00x to 1.05x faster than cache-indirect-calls.so!

  [1079208474<PHONE_NUMBER>.00<PHONE_NUMBER>] cache-indirect-calls.so
  [1035034082<PHONE_NUMBER>.20<PHONE_NUMBER>] original.so

instantiation :: cycles :: benchmarks/spidermonkey/benchmark.wasm

  No difference in performance.

  [834480 856949.40 902120] cache-indirect-calls.so
  [831744 860156.60 978994] original.so

so compilation time does take a little hit but my system is noisy; somewhere between 1% and 17%, the mean looks to be around 8.7%. Instantiation apparently unaffected. And execution time... slightly slower? (But again, noisy system.)
I tried running the next benchmark in the list (pulldown-cmark) and Sightglass crashed mysteriously, so on to trusty hyperfine: no deltas in runtime on spidermonkey or bz2, my two usual suspects.
I suspect that mostly we'll see mostly in-the-noise results for most benchmarks because indirect calls are somewhat rare in C-ish code; it will matter mostly when compiling dynamic languages, or something like Java with a lot of virtual calls. The speedup on weval'd SpiderMonkey is real though so I'd like to at least have this in tree as an option :-)

FWIW, I did a 100-iteration sightglass run of the default suite and got these results:
instantiation :: cycles :: benchmarks/spidermonkey/benchmark.wasm

  No difference in performance.

  [472878 584750.13 1435913] cache.so
  [471975 647599.28 1762837] main.so

execution :: cycles :: benchmarks/pulldown-cmark/benchmark.wasm

  No difference in performance.

  [7422842 8744920.24 28196476] cache.so
  [7439782 9281270.19 32569639] main.so

instantiation :: cycles :: benchmarks/bz2/benchmark.wasm

  No difference in performance.

  [165456 245749.33 728069] cache.so
  [161764 251740.72 723740] main.so

execution :: cycles :: benchmarks/bz2/benchmark.wasm

  No difference in performance.

  [95484875 104221743.11 196171026] cache.so
  [95454637 105918836.28 208434699] main.so

compilation :: cycles :: benchmarks/pulldown-cmark/benchmark.wasm

  No difference in performance.

  [358282063 404458268.52 568579026] cache.so
  [367557812 399158971.64 551388853] main.so

compilation :: cycles :: benchmarks/bz2/benchmark.wasm

  No difference in performance.

  [194765165 225581880.12 437412507] cache.so
  [197703277 222917937.46 281571195] main.so

execution :: cycles :: benchmarks/spidermonkey/benchmark.wasm

  No difference in performance.

  [895587497 923280792.22 972838288] cache.so
  [891917856 927697965.55<PHONE_NUMBER>] main.so

compilation :: cycles :: benchmarks/spidermonkey/benchmark.wasm

  No difference in performance.

  [8325711261<PHONE_NUMBER>.94<PHONE_NUMBER>] cache.so
  [8370183347<PHONE_NUMBER>.49<PHONE_NUMBER>] main.so

instantiation :: cycles :: benchmarks/pulldown-cmark/benchmark.wasm

  No difference in performance.

  [214742 289658.22 800685] cache.so
  [204642 290351.57 854625] main.so

I think it is safe to say that this doesn't have an affect on our regular suite, and I expect that the JS speed ups you are reporting rely on weval'ing first.

Updated, let me know what you think!

(Oh, and forgot to mention: thanks for the thorough benchmarks on this! I've gotta dig into why Sightglass is so finicky for me...)

Oh also, I mentioned this in the Cranelift meeting, but wanted to put it down here for posterity too: it seems like the limit on the number of caches isn't actually implemented.

Yep, I missed that entirely in this iteration of the patch -- sorry about that! Just updated. I ended up wiring the limit through to a new config option (with docs, CLI flag, fuzzing) so that I could easily test it without a huge test input.

The merge queue did its job (nice!) and found a conflict with #8515 which merged after this PR's CI ran. I pushed a fix which is fairly small but @fitzgen maybe PTAL at least commit just to be sure?

(or @jameysharp feel free to review last commit too as it interacts with your change in #8515!)


Minimum size tests

Use downsampling to remove water bodies <3 ha. Removed CONF layer since this method requires us to recalculate PSW from Open Water and Not Water pixel averages.

dont want to merge into main branch so canceling PR


[REVIEW] Add Apache arrow 0.9 support

Can one of the admins verify this patch?

add to whitelist

The code looks good to me @pearu! Thanks for putting this in.
Unfortunately, the gpuCI is failing to get the arrow version, it looks like:
15:03:11 -- Checking for one of the modules 'arrow'
15:03:11 CMake Error at /home/jenkins/.conda/envs/libgdf_dev/share/cmake-3.6/Modules/FindPkgConfig.cmake:646 (message):
15:03:11   None of the required 'arrow' found
15:03:11 Call Stack (most recent call first):
15:03:11   cmake/Modules/FindArrow.cmake:76 (pkg_search_module)
15:03:11   CMakeLists.txt:64 (find_package)
15:03:11
15:03:11
15:03:11 CMake Error at cmake/Modules/FindArrow.cmake:80 (math):
15:03:11   math cannot parse the expression: " * 10000 + * 100 + ": syntax error,
15:03:11   unexpected exp_TIMES, expecting exp_OPENPARENT or exp_NUMBER (2)
15:03:11 Call Stack (most recent call first):
15:03:11   CMakeLists.txt:64 (find_package)
15:03:11
15:03:11
15:03:11 -- ARROW_NUMERIC_VERSION=

The gpuCI failure is most probably originated from missing pkg-config in gpuCI:
12:03:11 -- Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE)

Could  pkg-config added to gpuCI package list?
If not, another way to determine arrow version needs to be implemented in FindArrow.cmake.

FYI, all tests pass with recently released Apache Arrow 0.10.0.

That is excellent news about 0.10.0!

Looks good to me! Will merge when @scopatz approves.

@kkraus14 please hold on merging.
I have one fix coming up that makes all pygdf tests pass with arrow 0.10.0.

This LGTM, once the pygdf fix is in! Thanks a ton @pearu!

@kkraus14 @scopatz please review.
Btw, pygdf is now also arrow 0.10 ready: https://github.com/gpuopenanalytics/pygdf/pull/200

@pearu Can we remove the 0.7.1 Arrow hardcoded data from this PR as well and use the programmatically generated data?

@kkraus14, arrow hardcoded data is removed from tests.
Created JIRA RAPIOP-79 for adding pyarrow dependency.

@pearu Thanks. This looks good to me, the travis CI failures are from networking issues on Travis's end it looks like. @scopatz @mt-jones Would you review?

This LGTM!


Install script needs to reflect new PulseTile Path

Installer script needs minor amend to reflect new UI codebase (PulseTile) Path
change from
wget https://github.com/RippleOSI/Org-Ripple-UI-rf3/raw/develop/build/ripple_latest.zip
to
wget https://github.com/PulseTile/PulseTile/blob/master/build/ripple-latest.zip

Presumable this should be in reference to the raw file:
https://github.com/PulseTile/PulseTile/raw/master/build/ripple-latest.zip

Also, the previous link referred to the develop branch where as the new link uses the master branch. Is this deliberate?

good points, thanks Chris
Yes should be the raw file
Should be pointing to master branch also
We need to update this install script, @robtweed will tackle this in due course
thanks again
T

this has since been actioned by @robtweed


inconsistency with color plots /KEY=CENTERLAB

Reported by ansley b manke on 17 Jun 2016 18:47 UTC
If /KEY=centerlab is given, the number of color levels used is different from a command with the same /LEVELS qualifier but without /KEY=CENTERLAB.
If /NOLAB is added to a command with /KEY=CENTERLAB, the colors on the plot change.
yes? let pts = {1,3,1,4,2,6,7,2,1,0}
yes? let vals = {10,10,10,10,10,10,10,10,10,10}
yes? set view ul
yes? ribbon/nolab/sym=18/thick=3/lev=(6,10,1)/key=centerlab/pal=ten_by_levels pts, vals

yes? set view ur
yes? ribbon/nolab/sym=18/thick=3/lev=(6,10,1)/key=centerlab/pal=ten_by_levels/nokey pts, vals

yes? let v2d = vals + y[y=1:5] - 5
yes? set view ll
yes? shade/lev=(6,10,1)/key=centerlab/pal=ten_by_levels v2d

yes? set view lr
yes? shade/lev=(6,10,1)/key=centerlab/pal=ten_by_levels/nokey v2d
yes? frame/file=nokey_centerlab.gif

The plots on the left would be expected to look like the plots on the right, but the colors are different.  /NOKEY means that /KEY=CENTERLAB is ignored.
See also Ticket 2335
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/2442

Attachment from ansley.b.manke on 17 Jun 2016 18:47 UTC
REPLACE THIS TEXT WITH UPLOADED FILE ./attachments/TRAC_2442_GIT_1714/nokey_centerlab.gif


Decrease lock timeout

10 min -> 1 min default node repo lock timeout.

Ah, right. But I think we have a considerably more tenacious retry mechanism now?


[HTTP/2] TPS is lower in HTTP/2 than HTTP/1.1 for passthrough scenario

$subject can be observed in all concurrency levels(100, 300, 1000)
Perf Results >> https://docs.google.com/spreadsheets/d/1KfMXPbXbWIGbRNY4gtljRRIRqabhdUs8DHRLVaCM52k/edit?usp=sharing

According to the AWS results https://github.com/ballerina-platform/ballerina-lang/blob/performance-test-162-2019-03-18_10-05-56/performance/benchmarks/summary.md, @subject is no longer true, hence closing.

According to the AWS results https://github.com/ballerina-platform/ballerina-lang/blob/performance-test-162-2019-03-18_10-05-56/performance/benchmarks/summary.md, @subject is no longer true hence closing.

The issue is fixed with [1] and the latest test results can be found at [2].
[1] https://github.com/wso2/transport-http/pull/308
[2] https://github.com/ballerina-platform/ballerina-lang/blob/performance-test-162-2019-03-18_10-05-56/performance/benchmarks/summary.md


Deprecate bdist_wininst

Deprecate bdist_wininst

For #1988.
Already deprecated in CPython 3.8's distutils.
The deprecation method, message and tests are modelled on the recent https://github.com/pypa/setuptools/pull/1764 (deprecate "eggsecutable" scripts).
I had a go at the other bdists mentioned in #1988, but had a hard time with the tests, so here's just one to be getting on with.
Pull Request Checklist

[x] Changes have tests
[x] News fragment added in changelog.d. See documentation for details

@hugovk I made a change to the news fragment and I've changed the test in two ways:

Flattened it so that it is no longer part of a class (I've noticed we don't usually do this in other test suites, and this one seems particularly unnecessary).
Added the assertion that the original bdist_wininst.run command is invoked as a sanity check.

Let me know if you disagree with these changes, otherwise I'll go ahead and squash my fixup commits into your commits and merge.

Thanks, both look good!
Do you use some tool for fixing up (I noticed the "fixup! XXX" comments), or just vanilla Git tools?

Do you use some tool for fixing up (I noticed the "fixup! XXX" comments), or just vanilla Git?

This is vanilla git, you can use git commit --fixup to mark a commit as a fixup for another commit, and then git rebase --autosquash to automatically squash the fixups into the relevant commits. Here's an article I found on it: https://thoughtbot.com/blog/autosquashing-git-commits
There is a fancy tool that I've been starting to use lately (I got hooked on it when using hg at work), called git-absorb: https://github.com/tummychow/git-absorb
This will automatically determine what parts of whatever you've staged belongs with what commits and create fixup commits for it. Very handy for my workflow.


WIP: add visible aspects of Wild Life of Our Homes cnxn

@madprime looks good aside from the one comment :)

Current coverage is 71.27%

Merging #307 into master will not affect coverage as of a2e82c6

@@            master    #307   diff @@
======================================
  Files          106     106
  Stmts         2841    2837     -4
  Branches         0       0
  Methods          0       0
======================================
- Hit           2025    2022     -3
  Partial          0       0
+ Missed         816     815     -1

Review entire Coverage Diff as of a2e82c6

Powered by Codecov. Updated on successful CI builds.

Removing WIP and assigning @beaugunderson -- I think this is ready for review and Wild Life of Our Homes should be going to production. We anticipate sending email invitations soon.

@madprime looks good to me! :+1:


KeyError at --as step

Spotted this error in the --as step:
2019-03-13 11:05:24,219 mrtarget.common.Redis DEBUG - ========> Processing evidence: target[ENSG00000185527], disease[EFO_0000311]
2019-03-13 11:05:24,279 mrtarget.common.ElasticsearchLoader WARNING - push to elasticsearch failed for chunk.  retrying in 5s...
2019-03-13 11:05:24,668 mrtarget.common.Redis ERROR - Error processing job<PHONE_NUMBER>ba412aa8d5f94c44cf4d15: hits
Traceback (most recent call last):
  File "mrtarget/common/Redis.py", line 300, in _inner_run
    job_results = self.process(data)
  File "mrtarget/modules/Association.py", line 329, in process
    available_evidence = self.es_query.count_evidence_for_target(target)
  File "mrtarget/common/ElasticsearchQuery.py", line 451, in count_evidence_for_target
    return res['hits']['total']
KeyError: 'hits'
2019-03-13 11:05:24,696 mrtarget.common.Redis DEBUG - ############# found 64 evidences for target ENSG00000113721
2019-03-13 11:05:24,821 mrtarget.common.Redis DEBUG - ############# found 1 evidences for target ENSG00000154678

I wonder if this is a similar problem to the file descriptor `fork() issue descibed in opentargets/platform#493
For 19.04 the redis based queues will be replaced with pypeln . I will have a close look at our log files to see if this has happened recently.

I've reviewed our most recent internal pipeline runs and seen no evidence of this problem. Therefore I expect it to be resolved with 19.04. I'll leave this ticket open for now, and it should be re-examined with 19.04 to ensure the problem is solved.

seems to be solved in 19.04 :+1:


How to get pub to list package as compatible with Flutter

I have a package published on pub at:
https://pub.dartlang.org/packages/servicestack
Which contains Dart HTTP Client library with JSON serializeration support. Unfortunately pub is flagging it incorrectly that it only works in Dart WEB.
The library was primarily designed to work in flutter where there's a working example referencing it over at:
https://github.com/ServiceStackApps/HelloFlutter
The same package also contains a HTTP Client that also works in Dart Web / AngularDart where this is the only file that references 'package:http/browser_client.dart':
https://github.com/ServiceStack/servicestack-dart/blob/master/lib/web_client.dart
In flutter projects, the only file that's referenced is:
https://github.com/ServiceStack/servicestack-dart/blob/master/lib/client.dart
Which only contains references of packages that are available in Flutter.
So it appears that the heuristics which only classifies it as compatible with Dart WEB is not accurately reporting the compatible platforms, as it should also report that it's compatible with Flutter.
Is there anyway I can indicate to pub that this library works in Flutter, whilst being able to continue support Dart WEB projects in the same package?
Ideally I'd like to keep having the same package support all Dart platforms, which it currently does, unfortunately it's not classified as such.

@mythz: for such multi-platform packages we support and recognize the following pattern: use a generic lib/<package_name>.dart file to define your common interface and the shared API methods, and use e.g. lib/web_client.dart for your web-specific code.
Otherwise the current analysis looks at the package, it sees 7 libraries in the lib/ directory and it won't be able to identify a single main library, so it just uses an overall impression of what the platform could be.

@mythz: I'm closing this as I don't see anything I can immediately fix or implement. Feel free to re-open if you still have questions related to the platform classification.

I've decided to workaround the pub conflicts by extracting the Dart Web Client into a separate servicestack_web package, which whilst inconvenient at least reports gets pub to report the correct platforms with the latest version of servicestack now says it supports [FLUTTER] [OTHER] and servicestack_web says it supports [WEB].
IMO we should be able to override/specify which platforms our libraries support as the inference doesn't cover use-cases with multiple classes having different dependencies.
One issue resulting from splitting the classes into different packages is that I've chosen to use the same client.dart name which reads better as client library from the servicestack or servicestack_web package:
import 'package:servicestack/client.dart';
import 'package:servicestack_web/client.dart';

Pub is now giving me a warning every time I try to publish a change:
Suggestions:
* The name of "lib\client.dart", "client", should match the name of the package, "servicestack_web".
  This helps users know what library to import.

Package has 1 warning. Upload anyway (y/n)?

As it wants you to use the convention of repeating the library name:
import 'package:servicestack/servicestack.dart';
import 'package:servicestack_web/servicestack_web.dart';

I would like to disable this warning as I have ample docs and examples showing how to use the library and I believe the above makes the code read worse.
If Dart/Pub wanted to enforce the convention of repeating the library name it should IMO make the library easier to use by being able to reduce the unnecessary repetition and assume a default import so library users could be able to write:
import 'package:servicestack';
import 'package:servicestack_web';

If we could do this then I'd rename it back to using servicestack.dart and servicestack_web.dart to match the library names as there's a clear end user benefit in doing so, as at the moment the trade-off is having worse repetitive naming vs clearer naming + repeated warnings.

If we could do this then I'd rename it back to using servicestack.dart and servicestack_web.dart to match the library names as there's a clear end user benefit in doing so, as at the moment the trade-off is having worse repetitive naming vs clearer naming + repeated warnings.

I fail to see the why this couldn't be handled by the following:
// Web client
import 'package:servicestack/servicestack.dart';
import 'package:servicestack/servicestack_web.dart';

// Console client
import 'package:servicestack/servicestack.dart';
import 'package:servicestack/servicestack_console.dart';

or
// Web client
import 'package:servicestack/servicestack.dart';
import 'package:servicestack/web_client.dart';

That way you have only a single package, with a pub-friendly naming, with platforms clearly separated. You can even omit the package:servicestack/servicestack.dart part if you export it from the platform-dependent libraries.

This issue is because the inference of supported platforms in the packages is broken, please read my previous issues. e.g. Renaming to servicestack/servicestack.dart made it even worse where it was being misidentified as [UNIDENTIFIED].
So I decided to split it into the different packages which was the only way I could get it to report the correct platforms for each package.
The previous comment explained why I don't want to use import 'package:servicestack/servicestack.dart'; over import 'package:servicestack/client.dart'; which reads better as to what exactly is being imported.

Ok fantastic thanks, I've refactored it so:

servicestack.dart Contains the platform agnostic interfaces and converters
client.dart Contains the concrete dart:io JsonServiceClient
web_client.dart contains the concrete http/browser_client.dart JsonWebClient

And now the servicestack Dart package is correctly importing [FLUTTER] [WEB] [OTHER] platforms! Which also works in both the Flutter Example and Angular Dart Example applications.
To make it so users don't have to import 2 references I've re-exported the platform-agnostic servicestack.dart in both client.dart and web_client.dart. i.e:
import './servicestack.dart';
export './servicestack.dart';

There seems to be little info on what the side-effects of re-exporting the main library are but it seems to work where the generated DTOs need only reference the platform-agnostic library:
import 'package:servicestack/servicestack.dart';

Whilst users only need to import the concrete library depending on if they're referencing a web or non web client:
import 'package:servicestack/client.dart'; //for Flutter + Dart VM Apps

import 'package:servicestack/web_client.dart';  //for Dart Web Apps

Given there shouldn't be any Apps that should ever reference both client.dart and web_client.dart I think it should be ok to re-export servicestack.dart as there doesn't appear to be any conflicts from doing so yet.


NoMethodError is raised when validating non-hash objects with a Dry::Validation::Contract that has config.validate_keys set to true

Describe the bug
NoMethodError is raised when validating non-hash objects with a Dry::Validation::Contract that has config.validate_keys set to true.
Example
To Reproduce
class TestContract < Dry::Validation::Contract
  config.validate_keys = true
  json do
    required(:name).value(:hash) do
      optional(:title).filled(:string)
    end
  end
end

TestContract.new.call(1)
NoMethodError: undefined method `flat_map' for 1:Integer

        hash.flat_map { |key, value|
            ^^^^^^^^^

Expected behavior
=> #<Dry::Validation::Result{} errors={:name=>["is missing"]}>
The expected behavior is observed when config.validate_keys = false
My environment

Affects my production application: NO
Ruby version: 3.1.0
OS: MAC OS M1

I couldn't reproduce it with dry-validation 1.9.0 and dry-schema 1.11.2
class TestContract < Dry::Validation::Contract
  config.validate_keys = true
  json do
    required(:name).value(:hash) do
      optional(:title).filled(:string)
    end
  end
end

TestContract.new.call(name: nil)
# => #<Dry::Validation::Result{:name=>nil} errors={:name=>["must be a hash"]}>

TestContract.new.call(name: 1)
# => #<Dry::Validation::Result{:name=>1} errors={:name=>["must be a hash"]}>

@solnic I think the problem raised initially is if the contract is called with a non-hash value:
TestContract.new.call(1)

Of course, that's nonsensical usage for the structure of the contract we've been discussing here.
I wonder if we should raise a more meaningful error earlier in the call stack rather than waiting for a NoMethodError about flat_map?

Oh right. Thanks Tim. I'm pretty sure it happens regardless of the validate_keys setting though. dry-schema doesn't check the input and assumes you passed in a hash. We could change it to only expect a hash and raise a meaningful error in case of non-hash values.

Can the issue be closed?


Jupyter Notebook progress bar is broken with Julia (not Python)

Applies To

[X] Notebooks (.ipynb files)
[ ] Interactive Window and/or Cell Scripts (.py files with #%% markers)

What happened?
Progress bars on Julia Jupyter notebooks are broken, as they were previously in Python. This is what happens:

This is what should happen:

This also happens with Julia's ProgressBars.jl package.
This does not happen in Python, with tdqm for example. I.e., it works as expected in Python.
Here's the example code for demonstrating this behavior:
import Pkg; Pkg.add("ProgressMeter")

using ProgressMeter

@showprogress for i in 1:10
    sleep(0.8)
end

VS Code Version
Version: 1.72.2 Commit: d045a5eda657f4d7b676dedbfa7aab8207f8a075 Date: 2022-10-12T22:16:26.920Z Electron: 19.0.17 Chromium: 102.0.5005.167 Node.js: 16.14.2 V8: <IP_ADDRESS>-electron.0 OS: Linux x64 5.15.0-52-generic snap Sandboxed: No
Jupyter Extension Version
v2022.9.1202862440
Jupyter logs
No logs are generated when running the notebook.

Coding Language and Runtime Version
Julia 1.6.7
Language Extension Version (if applicable)
Julia extension v1.38.2
Anaconda Version (if applicable)
No response
Running Jupyter locally or remotely?
Local

looks like it works now

Hi @amunger , I retested this on Linux (Ubuntu) and Windows, with VS Code 1.73.1 and Jupyter extension v2022.9.1303220346, and the problem remains. I also tested with various Julia versions.

This bug persists in VSCode 1.80.1 on macOS and Jupyter extension v2023.6.1101941928.
Any news on this? Author of timholy/ProgressMeters.jl#231 is positive with merging a fix if the problem is from theirs.


Wallet > Balance: Proof URL cut off

Hi,
In wallet version 1.1.4 the proof is cut off in portrait mode, can it be made to wrap?
Same applies to the Total supply (Minima) field.

Thanks,
Jazmin

Hi,
Just to clarify this can also be an issue in landscape mode depending on the length, as for incentive cash.

Cheers,
Jazmin


Support named urls and RelativeTo namespaces

We want to support URL schemes like so:
/[latest|:namespace-hash]/[namespaces|types|terms]/[:definition-name|:definition-hash]

When we have a namespace hash (either for the top level codebase or for a sub namespace), any term or type name in the url will be relative to that and does not need to be identified by hash unless that definition sits outside of the enclosing RelativeTo namespace.
Aside: Unison hashes in URLs use @ instead of # to conform to the URL specification.
Relative URL example
A relative URL refers to URLs that point to the latest version of codebase or definition. It's addressing by name instead of by hash.
Relative URLs will be turned into absolutes as soon as the page loads by exchanging latest for the latest hash of the codebase. We want to encourage absolute linking over relative, but support relative for things like a project website linking to the latest of a codebase.

Top__ level of a Codebase: /latest
Workspace namespace: /latest/namespaces/base/List
Definitions: /latest/[types|terms]/base/List
Ambiguous definitions:/latest/[types|terms]/base/List@je2wR6

Absolute URL examples
Absolute URLs link directly to the version of a codebase or definition by using hashes.

Workspace namespace: /@785shikvuihsdfd
Definitions:/@785shikvuihsdfd/[types|terms]/base/List
Ambiguous definitions:/@785shikvuihsdfd/[types|terms]/Nonempty/map@dkqA42
Definitions outside of workspace:/@785shikvuihsdfd/[types|terms]/@jf615sgdkvuihskrt
Definitions outside of workspace:/latest/[types|terms]/@jf615sgdkvuihskrt—Only supported URL currently

Absolute URL notes

@785shikvuihsdfd refers to a specific namespace hash in the codebase. In this case base.List , but could also be the hash of the top level codebase. @jf615sgdkvuihskrt refers to a definition outside of base.List
With this it is not possible to relatively link to a definition in where the workspace is also set relatively. The user would instead link with an absolute workspace: /@785shikvuihsdfd/[types|terms]/Nonempty

Implications

This feature requires a way to exchange a namespace name or "latest" to a hash.
The frontend will make a request to the server when it is first initiated with a relative URL to exchange it for a hash and rewrite the URL.
This feature allows nice URLs on Unison Share, allowing users to see what they are being linked before clicking through

Additional reading: https://github.com/unisonweb/codebase-ui/blob/main/docs/design/relative-to-changing-fetching-by-name-vs-hash-indexing-and-urls.md

Having a stable URL would be great for reviewing rendered docs while editing them. At the moment, if I'm looking at DirectProblem.doc in the codebase-ui, update it and then refresh the page, I get something that doesn't render and to review my updated changes rendered, I need to navigate the tree to select the item that was previously selected.
#jth3k84373fd0b53m2lnigvhkpps0ks3ci7b4iivv87s1nf6mbjln6hdnl4kt2sb8hqkuksagbvo8tkn3ur983s9j7g0p93bcurtng8
Unable to load definition: Term #jth3k84373fd0b53m2lnigvhkpps0ks3ci7b4iivv87s1nf6mbjln6hdnl4kt2sb8hqkuksagbvo8tkn3ur983s9j7g0p93bcurtng8 — please try again.

We definitely intend to be able to render old definitions, which is the whole point of having the hash in the url, but its also an interesting point that the hash in the url is perhaps mostly (exclusively?) useful on Unison Share 🤔
Also interesting to consider what this would mean in the Electron world for the local app where there are no URL.

Removed the backend requirement as this can be done with the /list API (though we'd likely eventually want to move this to a /namespace API that gives more detail, like a readme).

This is finally fixed by https://github.com/unisonweb/codebase-ui/pull/189