Bug drag and drop from toolbar mxGraph 3.9.4

Hi,
There is a bug with the drop target highlight when drag and drop from toolbar since version 3.9.4.
Uncaught TypeError: Cannot read property 'style' of null
    at mxDragSource.dragEnter (mxClient.js:13519)
    at mxDragSource.mouseMove (mxClient.js:13417)
    at HTMLDocument.<anonymous> (mxClient.js:2372)

Error thrown there :
if (this.checkEventSource && mxClient.IS_SVG)
{
	this.previewElement.style.pointerEvents = 'none';
}

from the dragEnter function
/**
 * Function: dragEnter
 *
 * Actives the given graph as a drop target.
 */
mxDragSource.prototype.dragEnter = function(graph, evt)
{
	graph.isMouseDown = true;
	graph.isMouseTrigger = mxEvent.isMouseEvent(evt);
	this.previewElement = this.createPreviewElement(graph);

	if (this.checkEventSource && mxClient.IS_SVG)
	{
		this.previewElement.style.pointerEvents = 'none';
	}

	// Guide is only needed if preview element is used
	if (this.isGuidesEnabled() && this.previewElement != null)
	{
		this.currentGuide = new mxGuide(graph, graph.graphHandler.getGuideStates());
	}

	if (this.highlightDropTargets)
	{
		this.currentHighlight = new mxCellHighlight(graph, mxConstants.DROP_TARGET_COLOR);
	}

	// Consumes all events in the current graph before they are fired
	graph.addListener(mxEvent.FIRE_MOUSE_EVENT, this.eventConsumer);
};

It can be reproduced there : https://jgraph.github.io/mxgraph/javascript/examples/toolbar.html

Thanks for the report, this will be fixed in the next release using this on line 562:
if (this.previewElement != null && this.checkEventSource && mxClient.IS_SVG)


AttributeError: 'tuple' object has no attribute 'ndim'

Model is loaded
Realtime is done
start
yesssss
(array([ 0.00747681,  0.00985718,  0.01608276, ..., -0.00848389,
-0.01101685, -0.0112915 ]), 44100)
Traceback (most recent call last):
File "main.py", line 23, in
realtime.refresh_audio()
File "/home/dimanshu/Trigger-Word-Detection/code/realtime.py", line 41, in refresh_audio
self.new_x = self.spectrogram(self.new_audio).T
File "/home/dimanshu/Trigger-Word-Detection/code/realtime.py", line 63, in spectrogram
nchannels = sound.ndim
AttributeError: 'tuple' object has no attribute 'ndim'

im getting this error while loading 10 sec audio wav file


bumping web5 versions

Summary
Upgrading to latest versions of @web5 packages (dids, common, crypto, credentials)
Removed dependency from Jose library in Crypto.ts
Using DidResolver.dereference() from @web5/dids package, which closes #147
Using VerifiableCredentials.create() from @web5/credentials package instead of DevTools.createCredential()
Part of an effort to break apart https://github.com/TBD54566975/tbdex-js/pull/126 into smaller ones. Related to #122

ci is still failing because of test vector tests in packages/protocol, but that will be addressed in this test vector specific PR

🎉 nice!
Can we also clean up this TODO in offering.ts which is just removing the type annotation following the web5/credentials pkg update?
- get requiredClaims(): PresentationDefinitionV2 { ... }
+ get requiredClaims() { ... }

I can push a quick commit for that if you prefer - lmk!

@kirahsapong removed the return type


why do not open Realm Browser

Please provide the information that was requested in the new issue template and described in our documentation on filing issues.
Other information that is likely to be relevant in this case, beyond that listed in the Filing Issues section of the documentation:

What does the configuration look like that you're using to create the Realm?
Which version of the Realm Browser are you using to open the Realm file?

If you're still encountering this problem, please provide the information requested above and then reopen the issue.


upgrade golangci-lint to 1.62.2

This update upgrades golangci-lint to 1.62.2 and resolves the linting errors.

/lgtm

/approve


4.4.0 declares unexpected minimum engine version in package.json

Bug Report

TSLint version: 4.4.0
TypeScript version: 2.1.5
Running TSLint via: gulp-tslint

Actual behavior
Commit 4ee78397af558db8f40c24f0e8c1d4a229b62ada includes a breaking change by specifying engine: >=4.2.6 in the package.json. This breaks compatibility with projects targeting node < 4.2.6 and should have led to an incremented major version.
Expected behavior
A minor version update should not break engine compatibility.

@Bomret sorry about that. Node 4.2 is the lowest version we test TSLint with; that's implicitly been the lowest version we support. I suppose we could relax that engine constraint if you successfully run TSLint with an older Node... what are you running?

4.2.0 😉

Should this be closed by #2148?


Upgrade to buildpack API v0.5

The  Ruby buildpack currently uses CNB Buildpacks API v0.2. The CNB spec has evolved since then. To take advantage of more upstream features, the buildpack should be upgraded to API v0.5.
Since the buildpack is composed of many implementation buildpacks, the implementation buildpacks should also be updated to v0.5. Here is the list of related issues to bump the version in each of the Ruby-specific implementation buildpacks:
https://github.com/paketo-buildpacks/bundler/issues/193
https://github.com/paketo-buildpacks/mri/issues/210
https://github.com/paketo-buildpacks/passenger/issues/98
https://github.com/paketo-buildpacks/puma/issues/158
https://github.com/paketo-buildpacks/rackup/issues/152
https://github.com/paketo-buildpacks/rake/issues/100
https://github.com/paketo-buildpacks/rails-assets/issues/59
https://github.com/paketo-buildpacks/thin/issues/144
https://github.com/paketo-buildpacks/unicorn/issues/145

It'd be great to perform this upgrade so that the buildpack can take advantage of the default process with additional arguments feature supported by the lifecycle in buildpack API v0.4. This would enable workflows like building a rake-task-running image and then choosing the task at run-time with:
docker run -it rake-app my_non_default_task

That's an improvement over the current, clunkier, way of accomplishing the same thing:
docker run -it --entrypoint=launcher rake-app bundle exec rake my_non_default_task

Resolved by https://github.com/paketo-buildpacks/ruby/pull/703


Mongoose Traveller 2E - Ship, Vehicle and Psionic Enhancements

NPC Armour wrapping
Vehicle now has Mounts and Weapons with same logic as Ship
Animal has initiative
Ship hard point title Hardpoints/Firmpoints has properly defaulted [0] for number of hard points based on tonnage (and is flipped to Hardpoint/Firmpoint
Ship Power title now has [0/0] properly defaulted showing Used/Total
Vehicle and Ship now have repeating Sensor rows with Player and Sensor Mod and roll button
Psionics now represented like skills with the five Talents and then repeating Powers
Fixed bug in Passengers where wrong dice result being used for quantity
Fixed input focus colour in Firefox to be red as per Chrome
Minor styling based on CSS refactoring
Minor descriptive text changes/additions e.g. recommending using Source and Destination UWPs on Trade tab as defaults all fields for Passengers, Freight & speculative
90% of inline styles have been removed

Submission Checklist
Required

[x] The pull request title clearly contains the name of the sheet I am editing.
[x] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[x] The pull request makes changes to files in only one sub-folder.
[x] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

New Sheet Details

The name of this game is: <   >  (i.e. Dungeons & Dragons 5th Edition, The Dresden Files RPG)

The publisher of this game is: <   > (i.e. Wizards of the Coast, Evil Hat)

The name of this game system/family is: <   > (i.e. Dungeons & Dragons, FATE)

[x] I have followed the Character Sheets Standards when building this sheet.

[ ] This sheet has been made on behalf of, or by, the game's publisher.
[ ] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: <   >
[x] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description

NPC Armour wrapping
Vehicle now has Mounts and Weapons with same logic as Ship
Animal has initiative
Ship hard point title Hardpoints/Firmpoints has properly defaulted [0] for number of hard points based on tonnage (and is flipped to Hardpoint/Firmpoint
Ship Power title now has [0/0] properly defaulted showing Used/Total
Vehicle and Ship now have repeating Sensor rows with Player and Sensor Mod and roll button
Psionics now represented like skills with the five Talents and then repeating Powers
Fixed bug in Passengers where wrong dice result being used for quantity
Fixed input focus colour in Firefox to be red as per Chrome
Minor styling based on CSS refactoring
Minor descriptive text changes/additions e.g. recommending using Source and Destination UWPs on Trade tab as defaults all fields for Passengers, Freight & speculative
90% of inline styles have been removed

Character Sheet Info Roll20 Internal Use only.


Remove hardcoded registry from values.yaml for dashboard

In what area(s)?

/area runtime

/area operator

/area placement

/area docs

/area test-and-release
Expected Behavior
Dashboard should be able to pick from different registry configured by global.registry
Actual Behavior
Currently registry value for Dashboard is hardcoded here https://github.com/dapr/dapr/blob/ae49999f48858116830d18e3075f25fe7bf8cac3/charts/dapr/charts/dapr_dashboard/values.yaml#L5
So, even if global.registry is set to something else than docker hub, it will not pull the image from dockerhub only.
Steps to Reproduce the Problem
Some local tests, when global.registry is set to other than docker hub -
❯ kubectl get pods -n dapr-system -o=jsonpath='{range .items[]}{"\n"}{.metadata.name}{":\t"}{range .spec.containers[]}{.image}{", "}{end}{end}'
dapr-dashboard-597f575455-n7lm2: docker.io/daprio/dashboard:0.10.0,
dapr-operator-6fff869f87-4svjq: ghcr.io/dapr/dapr:1.7.3,
dapr-placement-server-0: ghcr.io/dapr/dapr:1.7.3,
dapr-sentry-69f86789df-msk7d: ghcr.io/dapr/dapr:1.7.3,
dapr-sidecar-injector-769b5dd55-sz959: ghcr.io/dapr/dapr:1.7.3

Release Note
RELEASE NOTE: FIX Able to use a different registry for dashboard's image

If we set registry of dapr dashboard to global.registry which have shown above ,the image address may not exist. because dashboard's registry may be different from the others.

BTW I think we can add  something like .Values.global.dashhboard.registry or use subCharts 's value  .Values.dapr_dashboard.image.registry to overwrite it.

Hi,
I run into the same issue as you, @pravinpushkar . Did you already find a good workaround to pull the container dapr-dashboard from a custom registry?
I would expect the value global.registry to have effect on all container images. I could try to draft a PR. Are you interested? And who would be a good person for a review?

@konstantin-magg  Unfortunately, I do not have good workaround.  Apart from dashboard, all other images can be pulled from different registry or GHCR instead of dockerhub.

I could try to draft a PR. Are you interested? And who would be a good person for a review?

Sure, feel free to submit a PR. All PRs are reviewed by approvers and Maintainers.


Alignment issues when "top" is set in javascript

updating the top property in javascript after window.resize will result in alignment issues even though I call refreshAll
In this example I offset the top by the window size and the element height, all works well until you resize the window. (the front of the car should stick to the bottom of the screen, this will not be the case after resizing)
example: https://codepen.io/anon/pen/EweRYV
tested in edge on windows 10

This is because you modify the top value directly on the active sticky, then you call refreshAll and Stickyfill deactivates the sticky restoring its original top value, then activates it again.
There’s a workaround for this: deactivate the sticky, make whatever changes you need, then activate it again.
Here’s a fixed pen https://codepen.io/anon/pen/PJdLYg

Thanks!


the package is not compatible with quiver 0.22.0

 quiver: '>=0.21.0 <0.22.0'

Should just be a matter of bumping the versions. I'll take a look tomorrow. Thanks for filing!

Now fixed, please re-open if you have any problems. Thanks!

Great, thanks!
A question. I tried your packages in one of my projects where I use an .analysis_options file with strong mode and most linter rules enabled. The generated code causes quite a lot of hints and warnings.
.analysis_options provides an option to exclude files but that doesn't yet work properly.
Do you plan to support strong mode (actually not tested if strong mode alone causes hints/warnings) and perhaps other linter rules?

Yes, we will definitely support strong mode. Could you file an issue with example hints/warnings please?

I saw you took the first steps already. When I find time to try it again and run into issues, I'll create a concrete issue. Thanks for your great work :)


Australian apps root detection

The following AU apps are detected in official Magisk debug version 27002 (81658d45) with Zygisk, Zygisk Assistant, Shamiko, LSPosed Mod, PlayIntegrity Chiteroman, Playcurl. All latest versions.
com.bp.mobile.bpme.aus
au.com.unisuper

A similar issue is being tracked and since there's more discussion going on there, I'll close this for now.


The duplicates method does not work correctly

Laravel Version: 9.7.0
PHP Version: 8.1.2
Database Driver & Version:

Description:
The issue:
collect(['A', 'A', 'B', 'B', 'C', 'C', 'C', 'C', 'D'])->duplicates()->all(); // it returns ['A' , 'B' , 'C', 'C', 'C']
also the duplicatesStrict has this issue too

Could you please also add what you expect the method to return?
The method's documentation Collection::class#L289 mentions it retrieving the duplicate items in the collection, which it seems to do in your provided example. It is accounting for one of the items being the original and hence not a duplicate, thus not included.

I think the behaviour is expected. If you want unique duplicates you can do:
collect(['A', 'A', 'B', 'B', 'C', 'C', 'C', 'C', 'D'])->duplicates()->unique()->all();


Prewarm compute nodes

Problem
After deploying the sync safekeepers hot path, total startup improved, but postgres startup p90 in us-east-2 got worse. I'm not sure but seems that it's only for VMs. That's the only region that has VMs, and they take about 10% of starts, and only p90 starts are impacted. Grepping logs also confirms it's mostly VMs.
Now the question is, why does postgres start faster on VMs if we run walproposer.c before it? It's possible that walproposer warms up the vm:

qemu allocates ram lazily, so walproposer breaks the ice for postgres
our binaries are large, and walproposer puts them in os cache
???

Summary of changes
When we start compute_ctl in pool mode, I run initdb and postgres to warm it up. I'm not sure if this will have an effect but it's easy to test on stage. If it doesn't work it's easy to revert.
This is draft until I resolve todos. No more changes planned

Another mystery: why does postgres start time depend so much on requester cc @ololobus in case it's obvious to you. Maybe it's a correlation, but idk what it would correlate with

Another mystery: why does postgres start time depend so much on [requester] cc @\ololobus in case it's obvious to you. Maybe it's a correlation, but idk what it would correlate with

Several correlations you should be aware of:

endpoint_api - is explicit API call to start endpoint OR create new endpoint on existing branch without endpoint (or add RO), I'm pretty sure that 99% of these calls are ours and come from e2e tests
create_branch - is start on some new timeline, it could be that on start Postgres does some get page requests, and maybe Pageserver performs better when it's a fresh timeline? (I was expecting the opposite, though)
proxy - as it's staging, this is the only one, who could be related to some wake ups for periodic perf tests we do on staging. Alexander, Lassi and Artur all have their fleet of computes, so older compute may start slower? (again if Postgres does enough get page requests)

Just random thoughts, cannot give any good explanation

Wow, that's a peculiar theory :) I'd love to see more proofs / investigation, but should be also fine just to try, though

One more data point: I found out that on staging walproposer full sync actually runs on endpoint_api and create_branch requests. And that's exactly the group of postgres starts that didn't regress :)

Now that we know this works, let's reopen the question of "avoid binding to vms that are busy prewarming". Do you think I should add a new ComputeStatus variant to deal with the "prewarming" case, or maybe avoid taking http requests until we're done prewarming? Or maybe just let cplane figure it out (prefer older VMs to newer ones)

Do you think I should add a new ComputeStatus variant to deal with the "prewarming" case

If there will be a state before empty this will work

or maybe avoid taking http requests until we're done prewarming?

That's the easiest one, I guess, just don't start http server until prewarming is finished


The branch option for gem 'simple_form' is not allowed when deploye to heroku

Hallo..
i have an error when deployin to heroku, here the log
-----> Ruby app detected
-----> Compiling Ruby/Rails
sh: 1: git://github.com/josevalim/inherited_resources.git: not found
sh: 1: bundle: not found
sh: 1: https: not found
sh: 1: Gemfile: not found
sh: 1: branch: not found
ERROR:  While executing gem ... (Gem::CommandLineError)
Unknown command simple_form
!
!     There was an error parsing your Gemfile, we cannot continue
!     The git source git://github.com/josevalim/inherited_resources.git uses the git protocol, which transmits data without encryption. Disable this warning with bundle config git.allow_insecure true, or switch to the https protocol to keep your data secure.
!
!     [!] There was an error parsing Gemfile: The branch option for gem 'simple_form' is not allowed. Only gems with a git source can specify a branch.      #
!     #  -------------------------------------------
!
!     Push rejected, failed to compile Ruby app.
!     Push failed
When i setup in local i've change the gem into gem 'simple_form' without specify branch.
can u fixed it in repo? or there is another way
Thanks.

have the same problem.


accessibility for need help screen

#REF: #MOBILEAPPS-1507

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Ankit Goyal seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


你好，想问下如何获得counts.txt 文件呢

Thanks for being interested in our research!
I guess you are running the code on windows system.  So the input path will be like '../data\CellLine\counts.txt', which can not be correctly split by our code.
You can try  to modity the input prepare_dataset(join(configs.data_root, args.dname))  to prepare_dataset('../data/CellLine')

是这样的，非常感谢！

Glad to hear that!  If you have any problems, please feel free to ask!

你好，想再问一下，代码中好像没有得到最后的指标计算，这个中间嵌入聚类方式选择的是什么呢？
另外看到文中分两步，在代码里好像只得到了训练的中间嵌入，这个再次计算MNN是在哪里呢，如何得到矫正后的基因表达矩阵呢？
“在第二步，GLOBE在对齐的潜在空间Z中重新计算数据集之间的MNN，然后使用这些MNN通过为每个细胞计算平移向量，将一个数据集迭代映射到另一个数据集，这与Scanorama相似。第二步的价值在于，它将对比学习的结果转化为数据集之间直观的MNN关系，这些关系可以直接用于整合基因表达矩阵，从而实现更加透明的整合过程和可解释的基因整合结果。”

We just followed the  scib benchmarking to calculate the ARI and NMI scores. We also described it in our manuscript: Louvain is applied to determine the clusters with increased resolutions from 0.1 to 2.0 at interval 0.1. And the clustering output with the highest NMI is chosen as the final clustering result. So, if you wanna perform clustering on the embeddings, we recommend louvain (scanpy.tl.louvain).

We demonstrated how to use GLOBE for gene expression correction in Neocortex notebook, the 8-th cell. But please be cautious when using these expression matrices for differential expression analysis.

Ok, thank you very much for your answer. I will try to solve the problem according to the answer


feat: custom 404

Fix #22
Very basic custom 404 to at least provide to link to go back to the homepage.

@jamespohalloran I'm going to merge this to a new branch and refactor the styling.


Input for butterworth filter on audio signal

I have an array of  audio signal ranging from nearly -5000 to 5000 and I want to apply a bandpass filter on it. Its a heartbeat audio but I have to filter it .
The array when plotted on a graph looks something like this
When I apply filter on this , the result comes out distorted and the frequencies are not filtered. I am suspecting that the array range should be in range of -1 to 1 instead of -5000 to 5000.
Can anyone tell me what should be the input on the butterworth algo!?

The butterworth filter takes floating point numbers so +/-5000 is fine. Otherwise this comment is not helpful as it's vague and lacks any technical detail (fs, cutoff, expected result). Looks like bug in your program. Of course if you suspect a bug in this library provide a test case and a pull request I can review.


Add ARMv8 support

This patch adds ARMv8 support for libtbb and provides an optimized
__TBB_Pause implementation that avoids sched_yield.
I've taken the minimal approach to leave the current armv7 support mostly untouched, with the exception of __TBB_machine pause.  The aarch64 support mostly draws from gcc_generic.h since it provides a reasonable starting point for the implementation.  I've build-tested the -march=armv7-a on a raspberry pi and a full test on aarch64.

Thank you for your effort. The patch will be merged in one of the future updates.

That's great, thanks Alexey!  It sounds like the merge happens outside of github.  Should I close this PR or do you prefer to keep it open for your internal workflow?

Yes, the merge will be outside of github. I'd prefer to remain the pull request open that we can notify you when released.

The pull request was merged into TBB 2018 Update 5.


vsUpdate triggered too often

Documentation for vsUpdate states:

This event is fired every time the start or end indexes change

In practice, it seems to be triggered for every pixel change in the scroll position instead.
The issues is not present for the vsStart, vsEnd, or vsChange events.

You're right, I think the documentation for vsChange & vsUpdate is backwards. Because vsChange states that it will run any time the scroll position changes.
Regardless, I'm not sure that it's necessary to call vsUpdate on every scroll position change. We should probably read through the history to see why we added that & see if it's really necessary.


Git command incorrect shows in terminal.

VSCode Version:1.11.2
OS Version:macOS Sierria 10.12.4

Steps to Reproduce:
1.When I type in 'git s' ,the path which include Chinese always shows path twice.
2.Just look at 'time.json',the path repeat twice!

@Lucien-Lu hmm, I haven't seen this before, could you provide the following to help diagnose?

echo $LANG output
Does this happen in Terminal.app?
Can you provide the text so I can try repro with the exact string?

I wonder if this might be somehow related to (although not a duplicate of) #24737, where Chinese characters' width was being incorrectly calculated in the integrated terminal. The bug here is probably different, but I notice that the repeated part of the text is laid out differently (wider spacing between characters) than the first occurrence of the repeated string, which is what made me think of #24737. If there's some terminal layout bug that's triggered by Chinese text (and, presumably, other languages with double-width characters, such as Japanese), then it may be affecting (though probably not causing) this behavior as well.
If the layout bug is indeed related, then #19665 may somehow be related as well.

@rmunn https://github.com/Microsoft/vscode/issues/19665 is the root cause for all the Windows Creator's Update issues. This looks like a different thing as the Windows problem causes weird wrapping, not duplicated characters.

@Tyriar This doesn't happened in Terminal.app and I type the cmd you provide in integrated terminal.

@Lucien-Lu do you have anything in your settings.json?

@Tyriar Here is my settings.json.
// 将设置放入此文件中以覆盖默认设置
{
    "workbench.iconTheme": "vscode-icons",
    "workbench.colorTheme": "TwoStones",
    "workbench.experimental.colorCustomizations":{
            "editorCursor":"#f2c643",
            "editorLineNumbers": "#ff0000",
            "activeTabBackground": "#9900ee"
        },
    "window.zoomLevel": 0,
    "editor.fontSize": 14,
    "editor.renderLineHighlight": "none",
    "files.autoSave": "afterDelay",
    "window.title": "${activeEditorLong}${separator}${rootName}",
    "todohighlight.isEnable": true,
    "todohighlight.isCaseSensitive": false,
    "todohighlight.highlightWholeLine": true,
    "todohighlight.include": "{**/*.js,**/*.html,**/*.php,**/*.css}",
    "todohighlight.keywords": [
         {
            "text": "TODO:", // custom text to be highlighted
            "color": "orange", // the text color, any css color identifier is valid
            "backgroundColor": "#27a", // the text background color
            "overviewRulerColor": "grey" //the color of the ruler mark on the scroll bar. use rgba() and define transparent colors to play well with other decorations.
        }
    ],
    "workbench.statusBar.visible": false
}

@rebornix have you experienced this? I can't reproduce.

I can reproduce when there is Chinese character in a file path

VSCode Version: Code 1.12.1 (f6868fce3eeb16663840eb82123369dec6077a9b, 2017-05-04T21:26:50.689Z)
OS Version: Windows_NT ia32 10.0.14393
Extensions:

Extension
Author
Version

html-snippets
abusaidm
0.1.0

vscode-caniuse
akamud
0.5.3

Bookmarks
alefragnani
0.14.1

npm-intellisense
christian-kohler
1.3.0

path-intellisense
christian-kohler
1.2.0

gitignore
codezombiech
0.5.0

vscode-svgviewer
cssho
1.4.0

vscode-npm-source
dkundel
1.0.0

githistory
donjayamanne
0.2.0

vscode-html-css
ecmel
0.1.2

EditorConfig
EditorConfig
0.9.3

tortoise-svn
fantasytyx
0.1.1

auto-rename-tag
formulahendry
0.0.11

beautify
HookyQR
1.0.2

docthis
joelday
0.4.4

cpptools
ms-vscode
0.11.0

csharp
ms-vscode
1.9.0

material-icon-theme
PKief
2.0.5

seti-icons
qinjia
0.1.3

vscode-icons
robertohuertasm
7.6.0

aspnet-helper
schneiderpat
0.6.3

JavaScriptSnippets
xabikos
1.4.0

html-css-class-completion
Zignd
1.1.0

This bug still exists in the new version.

Duplicate https://github.com/Microsoft/vscode/issues/26038


Added staging support to deploy.yml

A new job has been added to deploy.yml to enable updates to be pushed to the staging environment.
The QA job is still going to be running until we have proven everything is working as expected.
The GitHub Staging environment has been created.
Part of the work towards: https://github.com/hypothesis/playbook/issues/1164

Closing in favour of https://github.com/hypothesis/test-pyramid-app/pull/100


Update binarytile.x for river routing

This PR is contingent on this PR in MAPL:
https://github.com/GEOS-ESM/MAPL/pull/725
This PR is needed for eventual implementation of the river routing model. The river model will require modification to the tile files to include the number of pfafstetter catchments on the first line as the 2nd number. Right now binarytile.x was copying one number from the first line (number of tiles) to the binary. This will copy two if they exist. Note that this should not break anything as no one has ever previously cared about the other numbers that may be there which is the raster size used to create the file. Sarith said no utility uses this information.

You have a few bmaa writes in there. You might want to remove them!

Thanks! I removed the comments


Method get_prompts in MetricWithLLM does not return any values

Describe the bug
Calling get_prompts for any metric always returns an empty list. I've just started exploring Ragas and haven't found documentation specifically for this method, but I assume that it should return every prompt used to compute a given metric.
I'm not a Python programmer and don't know how this should be corrected, but it seems that the method is looking for members that are instances of the Prompt class. However, the prompts are initialized with Field objects and are not picked up by isinstance(value, Prompt) test.
def get_prompts(self) -> t.Dict[str, Prompt]:
    prompts = {}
    for name, value in inspect.getmembers(self):
       if isinstance(value, Prompt):
           prompts.update({name: value})
    return prompts

Ragas version:  0.1.20
Python version: 3.12.6
Code to Reproduce
from ragas.metrics import faithfulness, answer_correctness, answer_relevancy, context_precision, context_recall
metrics = [faithfulness, answer_correctness, answer_relevancy, context_precision, context_recall]
for metric in metrics:
    print(f"{metric.name} - number of prompts: {len(metric.get_prompts())}")

Output
faithfulness - number of prompts: 0
answer_correctness - number of prompts: 0
answer_relevancy - number of prompts: 0
context_precision - number of prompts: 0
context_recall - number of prompts: 0

Expected behavior
For example, when called for the faithfulness metric, I expect get_prompts to return a dictionary containing both nli_statements_message and statement_prompt.

@dosu I'm afraid that didn't help as the default value in this case appears to be dataclasses._MISSING_TYPE since the Field is not initialized with a default value, but instead uses a default_factory lambda expression. I'm not sure how the test needs to be adjusted to take this into account.
statement_prompt: Prompt = field(default_factory=lambda: LONG_FORM_ANSWER_PROMPT)

Actually, while the suggestion above appears to be correct in that it will identify any Prompt members in a metric that have been initialized with a Field's default_factory, there seems to be a second problem. The faithfulness metric, and I suppose other metrics, defines its prompts using a different Prompt class than the one being checked by the get_prompts method.
Metric faithfulness uses:
from ragas.llms.prompt import Prompt

Method get_prompts checks for:
from ragas.experimental.llms.prompt import PydanticPrompt as Prompt

If I replace the PydanticPrompt import in the base.py file with the import from ragas.llms.prompt, the method begins to return the expected values. However, I don't understand why there is a different Prompt class and whether this change breaks something else.

Hey @f2bo . The reason why you don't get prompts for those metrics is because as you found out those metrics still use old Prompt Obeject. We are preparing the release of Ragas 0.2 version in which these will be completed.
If you want to use the latest version from github please also refer to https://docs.ragas.io/en/latest/

Hi @shahules786.
It's a bit unexpected to find such partial changes in the release version but thanks for letting me know. Looking forward to v0.2. Feel free to close the issue.
Thanks!


Use new TAMNAMS names and extensions

Replace subset based system with anti-pairs and family tree names
refs #262

The MOS pyramid should now use the new names for scales <= 10 notes and extended names like m-chro machinoid for larger scales such as 6L 5s.


On Task Authoring, would be helpful to be able to download the CSV that I uploaded

Right now I'm trying to check the CSV that I uploaded to see if the data there is wrong, but I can't access the CSV any more.

agreed


Missing components: spawn rules

Missing documentation on the following properties:

[x] minecraft:delay_filter
[x] minecraft:distance_filter
[x] minecraft:height_filter
[x] minecraft:player_in_village_filter
[x] minecraft:permute_type
[x] minecraft:mob_event_filter
[x] minecraft:spawn_event
[x] minecraft:spawns_on_block_filter
[x] minecraft:spawns_on_block_prevented_filter
[x] minecraft:spawns_lava
[x] minecraft:spawns_underground
[x] minecraft:weight
[x] minecraft:world_age_filter

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

ID: 8bbb56c6-1b3f-effd-e17d-4293cd4ecb28
Version Independent ID: 212d4b6c-84d1-8786-3647-1a0a32212918
Content: Spawn Rules and Data-Driven Spawning
Content Source: creator/Reference/Content/EntityReference/Examples/ClientEntityDocumenation/DataDrivenSpawning.md
Product: gaming
GitHub Login: @v-josjones
Microsoft Alias: v-josjones

Additionally those components are missing:
minecraft:disallow_spawns_in_bubble
minecraft:is_experimental
minecraft:is_persistent
minecraft:spawns_above_block_filter

Hi @DaanV2, many of these are available now in the docs. I will follow up on the couple you had reported and the ones listed by @stirante above. Thanks!
Data Driven Spawning Filters Docs

Thanks for the help!

minecraft:spawn_event has been added
minecraft:disallow_spawns_in_bubble has been added
minecraft:is_experimental - not a spawn rule. It is part of the description, usually seen alongside is_spawnable and is_summonable
minecraft:is_persistent - not a spawn rule, used as a test, exists in the "filters" section
minecraft:spawns_above_block_filter - Not found in use... may be the same as minecraft:spawns_on_block_filter


Suggestion:  Don't sync on metered networks

I raised this suggestion on the Syncthing repo, and was told that since this requires platform-specific calls it belongs in the platform-specific wrapper.
Basically, my request is that Syncthing not run when it's on a metered network (e.g. tethered to my cell phone) so it doesn't burn through my data allotment for the month when I'm not looking.  Win8+ exposes a way to determine whether the currently connected network has been marked as metered:  The NLM_CONNECTION_COST enum returned by INetworkCostManager::GetCost.  If the result is Fixed or Variable, you probably shouldn't sync.  "Unknown" might be worth a separate config; I don't know how often that gets returned, but it would be unknown on older versions of Windows (i.e. Win7 or earlier) where the interface hadn't been added yet.
Interfaces become metered in a couple different ways:

Mobile broadband interfaces are assumed to be metered by default; users or operators can override the assumption.
Wi-Fi networks are assumed to be unrestricted by default; users can manually mark networks as metered
There's an IU a Wi-Fi access point can set to announce itself as metered, and Windows will pick that up at connection time (Windows Phones do this in Connection Sharing mode; don't know about other phones.)
Unfortunately, there's no way to mark an Ethernet interface as metered; this is an unpleasant gap, in my opinion.

I think this will be possible, given that I have to develop this on win7 and build on Windows Server 2012... Let me have a play at home later this week.

It might make most sense to combine this with device pausing (coming in v0.12).

Looks like it's going to be harder than I first though: the generate interop assemblies look like they might be a bit buggy (?), at any rate I've yet to find a way of calling the appropriate method correctly ><

I don't want to add complexity if you're already frustrated but when it's figured out ... it would be desirable to pause anything going through the default gateway on a metered network while still allowing sync to things on the local subnet. (e.g. My son and I each tether to my phone's hotspot; our laptops are still syncing while everything else pauses).

Apparently INetworkCostManager::GetCost allows you to get the cost associated with the first hop of talking to a given IP. I haven't yet found the correct way of calling it though: it's new enough that there are very few code examples of calling it fro any language, never mind from C# via COM interop.

First hop to get to a device on a local subnet should (according to IP routing, at least) be the local interface. First hop to anything else would be the default gateway.  I'm not sure if there's an easier way to determine this, although it shouldn't be too hard to write some test code (once the interface is figured out, that is) and iterate over a number of endpoints to see if this is true.
Another objective is keeping track of what was paused because of network metering and what the user manually paused (which should not un-pause when we get to an unmetered network).

Note also that If NULL, this method will instead return the cost associated with the preferred connection used for machine Internet connectivity.  You can simply request the cost of the Internet connection.
The thornier question is whether peers on the local network should be paused or not -- if the first hop is Wi-Fi and the metering happens on the next hop, sync away.  If the first hop is a VPN connection which traverses mobile broadband and the peers are across the VPN, it should pause.  I'm not aware of a way to differentiate, and would probably pause out of an excess of caution.

The API doesn't cover more than the first hop anyway, so it's moot IMO.

While we're compiling wishes - it would be nice if there were a way to override metering limitations for certain files/folders.
Example: I am on a metered connection. I have 10+GB of photos waiting to sync. I want to push one important document to someone I sync with.
I could now click the "force sync" button (if syncthing supports that). Or I could copy the file into the "always sync"-folder. Is something like this possible?

Syncthing doesn't currently provide a way of pausing folders, only devices. I think we need folder-pausing support before we can even begin to consider your suggestion, unfortunately.

I've finally figure out how to call INetworkCostManager::GetCost, so this is back in development.
Quick TODO list:

[] Introduce a Device Manager, which tracks the connectivity state of devices and allows them to be paused/unpaused
[] Create wrapper around INetworkCostManager, which goes from IPAddress -> cost. Also watches for cost changes. Handles not being able to load the interop library (Windows too old).
[] Create a Metered Network Manager - watches for connectivity events from the Device Manager and network cost change events from the INetworkCostManager wrapper. Has the logic to device when to pause/unpause devices - raises events when it does.
[] Integrate into the Alerts Manager - watches the Metered Network Manager for events, updates the alerts state
[] Bar Alerts need to watch the Alerts Manager for this new alert (thinking of displaying a blue bar at the top, saying "Devices X, Y, Z paused because networks A, B are metered")
[] The Tray Icon needs to watch the Alerts Manager for this new alert (thinking of displaying a blue 'paused' symbol if some devices are paused, or something)
[] Need to add to settings
[] Need the whole lot to degrade nicely if either Windows or Syncthing is too old.

Right, this should be working.
If anyone wants to test it out before the next release, you can grab a build from https://ci.appveyor.com/project/canton7/synctrayzor/build/<IP_ADDRESS>/artifacts

Just to clarify, does this requite Windows 8 or newer?

Yes it does - Windows 7 doesn't have the concept of a metered network.

... the build works fine on Windows 7 and Vista: this feature just isn't available.


Using Tailwind3 with Docz

Question
Description
Hi, I am trying to use docz in my NextJS project that uses TailwindCSS 3 for styling. I have created a simple mdx file that loads a component, the component is building fine but the styles are missing.
What I have tried?
Apart from the steps specified on the official documentation, here's what I have done:

yarn add gatsby-plugin-postcss

Create gatsby-browser.js
import "tailwindcss/tailwind.css";

Create gatsby-config.js
module.exports = {
  plugins: ["gatsby-plugin-postcss"],
};

I got an error with this steps
https://imgur.com/azXAakC


Multiple Wasm execution engine support

Reactr should theoretically be able to support multiple Wasm runtime backends. Currently Wasmer is built pretty tightly into rwasm, but this should be refactored to take an object conforming to an interface, and eventually have multiple runtime options such as wasmTime, SSVM, etc.

We support Wasmtime, Wasmer, and WasmEdge (soon)!


Undetected leaks in plain {m,c,re}allocs

Hi,
Symbiotic does not detect any leaks in the following piece(s) of code.
Thanks!
#include <stdlib.h>
int main(void)
{
    malloc(1); // same result with calloc(1, 1) or realloc(NULL, 1)
}

Output:
symbiotic --prp=memsafety malloc-leak-simple.c
7.0.0-dev-llvm-9.0.1-symbiotic:d26ef236-dg:e89761ff-sbt-slicer:fff6245c-sbt-instrumentation:2f9be629-klee:59f3e288
INFO: Starting instrumentation
wrapper: `which slllvm` failed with error code 1

INFO: Instrumentation time: 0.05478835105895996
INFO: Optimizations time: 0.03318643569946289
INFO: Starting slicing
INFO: Total slicing time: 0.015712261199951172
INFO: Optimizations time: 0.025635957717895508
INFO: After-slicing optimizations and transformations time: 3.409385681152344e-05
INFO: Starting verification
INFO: Verification time: 0.04804825782775879
No error found.
NOTE: In the future, the result is going to be reported in SV-COMP format only with --report=sv-comp switch
RESULT: true
INFO: Total time elapsed: 0.6929895877838135

EDIT: realloc(1, NULL) -> realloc(NULL, 1)

Hmm, yes, this problem is present when slicing is enabled, which points either to slicing or instrumentation. Checking the log shows:
Info:   0 of __INSTR_mark_allocation (blocked 1)
Info:   0 of __INSTR_mark_exit (blocked 1)

So the problem is that the instrumentation does not mark the malloc() as possibly leaked and it gets sliced away.

The problem here is that the result of malloc is not stored into a variable, therefore our check of possibly leaked memory (which searches the values stored into memory) does not see this call to malloc. For fixing this, we'll probably need to wait until https://github.com/mchalupa/dg/issues/249 is resolved.


Deprecated rules are not identified as such in the root README.md

Description
Deprecated rules (e.g. MD002) are not identified as such in the Rules / Aliases section of the root README.md.
Discussion
Considering that the Rules / Aliases section is an otherwise comprehensive list on the "front page" so-to-speak, the lack of deprecation identification there runs the risk of perpetuating deprecated rules by way of users quick-referencing this list (despite any deprecation notice in the full Rules.md). Obversely, considering that the Rules / Aliases section is otherwise able to serve as a "quick reference" for the full Rules.md documentation, it could be made even more helpful by easily identifying which rules are deprecated.
Proposal
For each rule that is deprecated, strike through the corresponding list item in Rules / Aliases.

Agreed. Your PR looks good and I should be able to complete it later after a review. Thanks!


v3

WIP for CCLv3. CCLv3 branches to be based on here. At the moment, this is a clone of master with an internal restructure in halos/ as specified below:

[x] Declutter halos/profiles: each profile in its own module.
[x] Declutter halos/concentration: each concentration in its own module.
[x] Declutter halos/hmfunc: each mass function in its own module.
[x] Declutter halos/hbias: each halo bias in its own module.
[x] Declutter halos/halo_model: separate modules for pk_1pt, pk_2pt, pk_4pt.

List of things to change:

[x] baryons
[ ] halos
[ ] nl_pt
[ ] core
[ ] boltzmann
[ ] background
[ ] cells
[ ] correlations
[ ] covariances
[ ] neutrinos
[ ] pk2d
[ ] power
[ ] tk3d
[x] tracers

Nick's to-do list, once everything is merged in here:

[ ] Go through Issues list and see what can be linked to here.
[ ] Restructure star to new dir-tree, and temporarily rebase v3_wip --> star to check for any leftover things to change.
[ ] Do a final pass and examine code quality.

[ ] if-else return statements
[ ] return without defining extra variable
[ ] self._one_over_4_pi replace the like with numbers
[ ] remove all useless type-checking (type hints where needed to enable use with mypy)
[ ] dimensional checks for arrays - create a dispatcher if there is no other way

[ ] Move easily portable code from C to Python using myccl
[ ] Fix docstrings (bring them in from myccl).

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

744 of 744 (100.0%)  changed or added relevant lines in 9 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 97.872%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
5519

Relevant Lines:
5639

💛  - Coveralls

Coverage decreased slightly but not to worry, this is largely because we aren't testing warn_api. We can add tests for this at the end.


[Bug] Compiling android model of Llama-2-7b-chat-hf on Windows

🐛 Bug
Error encountered in latest when compiling android model of Llama-2-7b-chat-hf on Windows.
python -m mlc_llm.build --target android --max-seq-len 768 --model dist/models/Llama-2-7b-chat-hf --quantization q4f16_1
Target configured: opencl -keys=opencl,gpu -max_function_args=128 -max_num_threads=256 -max_shared_memory_per_block=16384 -max_threads_per_block=256 -texture_spatial_limit=16384 -thread_warp_size=1
[23:26:03] D:\a\package\package\tvm\src\node\reflection.cc:109: AttributeError: relax.expr.Var object has no attributed shard_dim
Stack trace not available when DMLC_LOG_STACK_TRACE is disabled at compile time.

[23:26:03] D:\a\package\package\tvm\src\node\reflection.cc:109: AttributeError: relax.expr.Var object has no attributed shard_strategy
Stack trace not available when DMLC_LOG_STACK_TRACE is disabled at compile time.

Those two attrib errors repeat roughly 100 times then finally the index out of bounds hits.

[23:26:05] D:\a\package\package\tvm\src\relax\ir\expr.cc:174: Check failed: index < tuple_info->fields.size() (197 vs. 197) : Index out of bounds: Tuple params is of size 197, and cannot be accessed with index 197
Stack trace not available when DMLC_LOG_STACK_TRACE is disabled at compile time.

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "c:\Users\UserName\project\mlc-llm\mlc_llm\build.py", line 46, in <module>
    main()
  File "c:\Users\UserName\project\mlc-llm\mlc_llm\build.py", line 42, in main
    core.build_model_from_args(parsed_args)
  File "c:\Users\UserName\project\mlc-llm\mlc_llm\core.py", line 645, in build_model_from_args
    new_params = utils.convert_weights(param_manager, params, args)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\Users\UserName\project\mlc-llm\mlc_llm\utils.py", line 229, in convert_weights
    mod_transform = relax.transform.LazyTransformParams()(mod_transform)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\UserName\anaconda3\envs\project\Lib\site-packages\tvm\ir\transform.py", line 238, in __call__
    return _ffi_transform_api.RunPass(self, mod)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\UserName\anaconda3\envs\project\Lib\site-packages\tvm\_ffi\_ctypes\packed_func.py", line 239, in __call__
    raise_last_ffi_error()
  File "C:\Users\UserName\anaconda3\envs\project\Lib\site-packages\tvm\_ffi\base.py", line 415, in raise_last_ffi_error
    _LIB.TVMGetLastPythonError.restype = ctypes.c_void_p
    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\UserName\anaconda3\envs\project\Lib\ctypes\__init__.py", line 389, in __getattr__
    func = self.__getitem__(name)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\UserName\anaconda3\envs\project\Lib\ctypes\__init__.py", line 394, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: function 'TVMGetLastPythonError' not found. Did you mean: 'TVMAPISetLastPythonError'?

Steps to reproduce the behavior:
The is following the outlined Android App instructions via https://llm.mlc.ai/docs/deploy/android.html
Environment
Windows 10 10.0.19045, building for Android
Rust installed and exposed to PATH.
Android studio installed and configured.
OpenJDK  installed
All env vars configured and independently verified.
The test basis now tested on two different computers with similar but different spec.
fresh conda env py3.11
mlc-llm installed via pip with --recursive.
tvm installed via pip
python -m pip install --pre -U -f https://mlc.ai/wheels mlc-ai-nightly
zstd.dll downloaded and coped to conda env/site-packages/tvm/
Llama-2-7b-chat-hf pulled via git. into correct dist/models/Llama-2-7b-chat-hf subfolder.

-Cort

I noticed three issues with your report:
One is, which seems related to sharding:
[23:26:03] D:\a\package\package\tvm\src\node\reflection.cc:109: AttributeError: relax.expr.Var object has no attributed shard_dim
[23:26:03] D:\a\package\package\tvm\src\node\reflection.cc:109: AttributeError: relax.expr.Var object has no attributed shard_strategy

And the second one is:
[23:26:05] D:\a\package\package\tvm\src\relax\ir\expr.cc:174: Check failed: index < tuple_info->fields.size() (197 vs. 197) : Index out of bounds: Tuple params is of size 197, and cannot be accessed with index 197

The last one seems to related to some latest change from upstream TVM (CC the author @Lunderberg if you'd love to take a look):
AttributeError: function 'TVMGetLastPythonError' not found. Did you mean: 'TVMAPISetLastPythonError'?

Would you like to provide the full python stack trace of the first two issues? Particularly the first one will be helpful to me :)

Update: https://github.com/mlc-ai/mlc-llm/issues/1112#issuecomment-1776503604

Fixed


Cannot compile coresimd with cargo

Hi,
I have just tried added stdsimd to my Cargo.toml dependencies:
[dependencies]
stdsimd = "*"

and perform cargo run but it fails with hundreds of erros:
60 | #[target_feature = "+xsave,+xsaveopt"]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: #[target_feature] attribute must be of the form #[target_feature(..)]
  --> C:\Users\office\.cargo\registry\src\github.com-1ecc6299db9ec823\coresimd-0.0.4\src\x86\x86_64\xsave.rs:73:1
   |
73 | #[target_feature = "+xsave,+xsavec"]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: #[target_feature] attribute must be of the form #[target_feature(..)]
  --> C:\Users\office\.cargo\registry\src\github.com-1ecc6299db9ec823\coresimd-0.0.4\src\x86\x86_64\xsave.rs:87:1
   |
87 | #[target_feature = "+xsave,+xsaves"]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: #[target_feature] attribute must be of the form #[target_feature(..)]
   --> C:\Users\office\.cargo\registry\src\github.com-1ecc6299db9ec823\coresimd-0.0.4\src\x86\x86_64\xsave.rs:103:1
    |
103 | #[target_feature = "+xsave,+xsaves"]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 973 previous errors

error: Could not compile `coresimd`.

To learn more, run the command again with --verbose.

My current versions:
rustup 1.11.0 (e751ff9f8 2018-02-13)
rustc 1.28.0-nightly (cbc4c8380 2018-06-22)
cargo 1.28.0-nightly (e2348c2db 2018-06-07)
Windows 10 (with Command Prompt)

looks like for some reason these weren't updated

This isn't trying to compile master. This is trying to compile stdsimd from crates.io.
What problem are you trying to solve? You generally shouldn't be using this crate directly.

You have to use the master branch from git. The correct thing to do to use stdsimd directly is:
[dependencies]
stdsimd = { git = "https://github.com/rust-lang-nursery/stdsimd.git" }

Need to add this to the README.md

What I am actually trying to do is to install rustface from crates.io which fails because stdsimd fails to compile. I have raised this issue with them.
To quote the guys from rustface:

Seems to me like current simd version is outdated and incompatible with current Rust version

I see. rustface needs to stop using stdsimd on crates.io.


Normal PDF is displayed as password protected in attachment carousel when added before or after password protected PDF

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

Action Performed:

Open the app in android
Open any report
Send normal PDF
Send 1 password protected PDF
Send any attachment
Click on latest attachment and use arrows to navigate back

Expected Result:
App should display the PDF sent before password protected PDF
Actual Result:
App displays the PDF sent before password protected PDF as password protected while navigating through the attachments (Note that issue only occurs while navigating in sequence: Password protected PDF-> normal PDF)
Workaround:
unknown
Platforms:

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

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

Version Number: 1.2.88-1
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/227313728-d5297a54-4052-4a1a-987f-981783f5a8ce.mp4
https://user-images.githubusercontent.com/43996225/227313774-f8616d06-5c51-44dd-882a-62b34197ee86.mp4
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1679567039678869
View all open jobs on GitHub

Triggered auto assignment to @anmurali (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

@anmurali Whoops! This issue is 2 days overdue. Let's get this updated quick!

Hi @anmurali, can you let me know if it is eligible for reporting bonus or not?


Update polars dependencies and workflows

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (8c22b78) to head (9731fd5).

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #502   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           58        58
  Lines         1584      1584
  Branches       186       186
=========================================
  Hits          1584      1584

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Update documentation for using and updating a [TBD] release bundle

We assume that by M2 we'll have some sort of releasable/updatable bundle or at least point-in-time of the code.
As such, we'll want to update our docs to reflect this, both for install and upgrade workflows.

FYI @eseidel @abarth this is the placeholder issue, TBD on what we'll do and say. Thanks!

The scope here is that all places which mention flutter/flutter.git should point to the alpha branch.  across our websites, readmes and codelab.

I see just a few git references in flutter/flutter. I think we want to leave those as they are, right? That is, contributors and testing should continue on master, right?

That sounds right. I updated the code lab already.

Closing, I believe this has been handled and everything is now pointing to the alpha branch.

Thanks!


Removal of --requirements

Hello,
I am in dire need of the --requirements flag and was wondering why it was removed. Especially after seeing the very recent discussion in #163.
We currently experiment with both pipenv and pip in our development pipeline. Local development is done with pipenv (thanks btw!), but to deploy our servers, we fall back to plain ol' pip. More specifically, we build Docker images from our code. And in those containers there is absolutely no need for virtual environments.
Up until now, we used pipenv install --requirements to generate a requirements.txt file during the build, copy that into the image and used pip to install all requirements.
As long as pip does not support the Pipfile format, I think pipenv should offer some way to export the requirements as a requirements.txt file.
Cheers,
JD

Hey @jdno, the functionality wasn't removed but rather relocated to a more sensible place. Calling pipenv install --requirements only printed the requirements list, while not installing anything. This lead to some confusion when running commands like pipenv install Django --requirements.
The requirements.txt functionality now resides on the lock function with the command pipenv lock -r. This probably could have been documented better in the change log. Let us know if you encounter any further issues. Thanks!

Epic stuff! 👍 Thanks for the quick update.

✨🍰✨


Provisioning specification

Are there any public specification regarding the provisioning? I don't think ISO 18013 talks about provisioning, and the ISO/IEC 23220 isn't available to public yet.
I am looking mainly at the ProvisioningSession and CertifyAuthKeysSession. For example

why first provisioning and then certify auth keys?
why two separate steps ('StartProvisioning' and 'com.android.identity_credential.StartProvisioning')? Looks like it could be done in one request.
should the challenge really be fixed (FixedChallenge)?
and many many more questions like that...

The only 'specification' I found is in the mdl-ref-server/README.md file. Where can I find more info about it?

The code in the repo is indeed based on a draft of 23220-3 from last year and these are only available to members of ISO SC17 WG4 as far as I know. You can get access by joining your national standards body associated with ISO (in the US it's INCITS, in the Netherlands it's NEN, in Germany it's DIN, and so on).
As to your questions

why first provisioning and then certify auth keys?

Because that's how the Identity Credential API works.

why two separate steps ('StartProvisioning' and 'com.android.identity_credential.StartProvisioning')? Looks like it could be done in one request.

Because you want to periodically refresh MSOs.

should the challenge really be fixed (FixedChallenge)?

Nope, both the server and client side bits of this is rough work-in-progress.

One question while we are waiting for the 23220-3 to become public... is there an option to integrate the identification procedure to the provisioning protocol?
With identification I mean taking a selfie and photos of existing physical documents with your phone and send them to the backend. Backend would perform face matching of selfie and photo from the document, OCR of the document, validation etc... Only after the identification is successfull, the person can request the actual document from the backend.
In this scenario the first message wouldnt' contain the provisioningCode, but photos (selfie, front and back photos of the physical document, etc..), and the workflow would be a bit different. I'm not sure how flexible the 23220-3 standard is regarding those challenges.


error: toolchain 'nightly-x86_64-pc-windows-msvc' does not support components

Hey, running
D:\Rust Fixed\testdll>rustup target add i686-pc-windows-msvc
gives me the error
error: toolchain 'nightly-x86_64-pc-windows-msvc' does not support components
I have an x64 system. Trying to build a 32 bit DLL. Anyone here have any experience with this?

What is the output of running rustc --version in that directory?
It could be that you have a very very old nightly, from before components were added. If that's the case, you just need to run rustup update and then try again.

@Diggsey
rustc 1.18.0 (03fc9d622 2017-06-06)
Thats whats outputted. I'lll try rustup update and report my results.

@Verideth That's not right - that version is a stable rust version, but the error you posted previously shows that you're installing the target for a nightly version of rust.

@Diggsey Yes, I want to use a nightly version of rust. Anyway to fix this?

@Verideth Please run these commands in that same directory:
where rustc
where rustup
rustup show
rustc --print sysroot

And post the result.

`D:\Rust Fixed\gmod_cheat>where rustc
C:\Program Files\Rust stable GNU 1.18\bin\rustc.exe
C:\Users\gecko.cargo\bin\rustc.exe
D:\Rust Fixed\gmod_cheat>
D:\Rust Fixed\gmod_cheat>where rustup
C:\Users\gecko.cargo\bin\rustup.exe
D:\Rust Fixed\gmod_cheat>
D:\Rust Fixed\gmod_cheat>where rustup
C:\Users\gecko.cargo\bin\rustup.exe
D:\Rust Fixed\gmod_cheat>
D:\Rust Fixed\gmod_cheat>where rustup
C:\Users\gecko.cargo\bin\rustup.exe`

Those are my results

Uh, you ran where rustup three times 😛 . No matter - the problem is that you've installed rust via the installer, and that's the version of rust that's on your PATH first, so rustup is not being used.
If you're using rustup, you don't need to install rust separately. Remove C:\Program Files\Rust stable GNU 1.18\bin\ from your PATH environment variable, and uninstall it if you don't need it anymore.
Once you've done that, run rustc --version. Previously this would have been very old (hence the error about components) but now that you've done a rustup update is should be a recent version, and you should be able to manage targets successfully.

Well @Diggsey I thank you a ton!!!
It worked somewhat, it changed rustc to nightly. However I'm still having the same problem. I don't know whats going on! But here take this as a reward :) 🥇
I'll report back if I get it to work

If you're encountering similar errors with a modern rustup, please open a fresh issue.  I'm closing this one as it hasn't seen movement in over two years.


i18n(ko-KR): update pages.mdx

Description

update pages.mdx
#1613

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

ko
guides/pages.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Allow specifying timeouts for commands and downloads.

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[ ] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[x] Have you successfully run brew tests with your changes locally?

Needed for https://github.com/Homebrew/brew/pulls.

Review period will end on 2021-03-17 at 17:15:45 UTC.

Review period ended.

Thanks @reitermarkus!


Can't authenticate btw. Gitea and woodpecker

Thanks for maintaining this project! It looks very promising.
I would like to use woodpecker with Gitea. I saw in previous issues that OAuth should be working acc. to PR #226.
I'm trying to use the docker-compose.yml provided in the docs, with slight modifications:
# docker-compose.yml
version: '3'

services:
  woodpecker-server:
    image: laszlocloud/woodpecker-server:v0.9.0
    ports:
      - 80:8000
      - 9000
    volumes:
      - woodpecker-server-data:/var/lib/drone/
    restart: always
    environment:
      - DRONE_OPEN=true
      - DRONE_GITEA=true
      - DRONE_GITEA_SERVER=http://{my-domain}.net/
      - DRONE_GITEA_CLIENT={id_created_in_gitea_oauth_applicatoin}
      - DRONE_GITEA_SECRET={secret_created_in_gitea_oauth_applicatoin}
      - DRONE_SECRET={random_string}
      - DRONE_ADMIN=sysadm
      - DRONE_USER_CREATE=username:sysadm,admin:true
      - DRONE_SERVER_HOST=http://drone-server:80

  woodpecker-agent:
    image: laszlocloud/woodpecker-agent:v0.9.0
    command: agent
    restart: always
    depends_on:
      - woodpecker-server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_SERVER=woodpecker-server:9000
      - DRONE_SECRET={random_string}

volumes:
  woodpecker-server-data:

When I visit the drone server host and log in using the same admin user as I have created on the Gitea instance running at http://{my-domain}.net/, I see this:

With this error log in the terminal:
woodpecker-server_1  | time="2021-08-24T13:13:11Z" level=error msg="cannot authenticate user. basic auth required"
Another try
I tried using woodpeckerci/woodpecker-server:latest and woodpeckerci/woodpecker-agent:latest as suggested in #238.
Instead of seeing the woodpecker login screen, I see the try.gitea.io login screen.
Another try
I tried removing the DRONE_GITEA_CLIENT and DRONE_GITEA_SECRET in order to authorize communication with Gitea via username and password. It came with the exact same message as my original attempt.
What I expected to happen
With the compose config posted above, I expected to see a page where I can press a "authorize Gitea" button and then access the woodpecker UI. From here, sync the repos and run builds.
Any help is appreciated and I will gladly contribute documentation should I get a working solution up and running with Gitea.

Hello there.
Please note that the docs on the dedicated website are unfortunately outdated. I think you need an ssl-encrypted website for proper oauth.
I suggest trying my working docker-compose.yml that I based of the added environment variables. Sadly, Woodpecker still lacks a proper documentation page for Gitea like it has for Github.
So please try my config.
version: "3"

services:
  woodpecker-server:
    image: woodpeckerci/woodpecker-server:latest
    restart: unless-stopped
    ports:
      - 80:80
      - 443:443
      - 9000:9000 #might not be needed
    environment:
      - WOODPECKER_OPEN=true
      - WOODPECKER_ADMIN=admin1,admin2
      - WOODPECKER_HOST=https://woodpecker.my-domain.com
      - WOODPECKER_SECRET={SECRET HERE}
      - WOODPECKER_GITEA=true
      - WOODPECKER_GITEA_CLIENT={client id from gitea web interface}
      - WOODPECKER_GITEA_SECRET={secret from gitea web interface}
      - WOODPECKER_GITEA_URL=https://gitea.my-domain.com
      - WOODPECKER_SERVER_CERT=/path/to/woodpecker.crt
      - WOODPECKER_SERVER_KEY=/path/to/woodpecker.key
    volumes:
      - ./woodpecker-data:/var/lib/drone/
      - ./woodpecker-cert:/etc/certs/woodpecker/
      - /etc/localtime:/etc/localtime:ro
  woodpecker-agent:
    image: woodpeckerci/woodpecker-agent:latest
    command: agent
    restart: unless-stopped
    depends_on:
      - woodpecker-server
    environment:
      - WOODPECKER_SERVER=woodpecker-server:9000
      - WOODPECKER_SECRET={SECRET HERE}
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /etc/localtime:/etc/localtime:ro

@timskovjacobsen Seems like you are using DRONE_GITEA_SERVER instead of DRONE_GITEA_URL in your config. Could you try the other setting.

I have problems with that too, is there somewhere an actual correct documentation for woodpecker and gitea? The documentation website feels totally outdated.

There is an documentation update on its way #282 which you can preview under https://probable-stop.surge.sh/.  It works for me on the current master (self compiled). Which version are you running @Shuro? Latest official release is v0.14.0.

@anbraten I'm currently not running any version, since I've just looked up how to setup woodpecker. And the "official" documentation doesn't even contain any steps for gitea. I'll check out the preview one.

I think it might be that you need to use version v0.14.0 rather than v0.9.0.
I just set up Woodpecker with these env vars:
  WOODPECKER_OPEN = "true",
  WOODPECKER_HOST = "https://ci.my.gitea",
  WOODPECKER_REPO_CONFIG = ".woodpecker.yml",
  WOODPECKER_GITEA = "true",
  WOODPECKER_GITEA_URL = "https://my.gitea",
  WOODPECKER_GITEA_CLIENT = "${woodpecker.gitea_client_id}",
  WOODPECKER_GITEA_SECRET = "${woodpecker.gitea_client_secret}",
  WOODPECKER_AGENT_SECRET = "${woodpecker.agent_secret}"

and can confirm that it works
I note that I'm using image = "florianpiesche/woodpecker-server:v0.14.0" because I'm running it on ARM64 (but if you're running on AMD64, the main images should be fine).

Thanks, everyone! I will take a look.

 It stopped working, but changing DRONE to WOODPECKER and restarting fixed it.

ok it looks like the original issue is stale - and the other are fixed?
I'll close this now - if there are still issues please open new one :)

I keep stumbling into this issue but it fixes itself when restarting. The next time I get it, I'll try to debug it, but I believe it is some kind of token expiring.


[BUG] Bug in the assignment finder

See #468. Use the following spec instead:
\*SPECIFICATION Spec
INIT Init
NEXT Next

INVARIANT AllValuesEqual

CONSTANTS
    MAX_TIMESTAMP = 3
    KEYS = {key}
    VALUES = {value}
    N_NODES = 2

PROPERTIES
    EventuallyConsistent

The transition pass fails as follows:
PASS #8: TransitionFinderPass                                     I@22:14:43.403
  > Found 1 initializing transitions                              I@22:14:43.433
To understand the error, read the manual:                         I@22:14:43.439
  [https://apalache.informal.systems/docs/apalache/principles.html#assignments] I@22:14:43.439
Assignment error: crdt.tla:36:3-37:45: timestamp' is used before it is assigned. See https://apalache.informal.systems/docs/apalache/principles.html#assignments E@22:14:43.440

Not a bug in the assignment solver as such. The underlying cause for this seems to be the syntax
\E <<a,b>> \in S \X T : p

The Desugarer should rewrite this into \E a \in S : \E b \in T : p

Not a bug in the assignment solver as such. The underlying cause for this seems to be the syntax
\E <<a,b>> \in S \X T : p

The Desugarer should rewrite this into \E a \in S : \E b \in T : p

Let's fix it at the level of Desugarer

Let's fix it at the level of Desugarer

The fix is merged now

The fix is merged now


Fallback to Parking in Bounded and Unbounded Channels

Currently, the queues used by the bounded and unbounded channels (also ArrayQueue and SegQueue) are not lock-free. The linearization point of a send or receive is moving the tail or head index respectively, meaning that if a sender or receiver sees the head/tail has moved but the value has not been written yet, they must spin until the corresponding receive or send completes that frees up space in the channel. Parking in such a case is not possible, as sends might notify a receiver even though they are not visible due to a lagging sender holding up the channel, or vice versa, leading to missed wakeups.
The current solution of unbounded spinning can lead to issues, especially on platforms with a single core or custom thread priorities. One way to allow falling back to parking is if waiters that see more values in the channel after being woken up notify any other waiters, making up for any missed notifications. However, this ends up being quite expensive and can lead to many unnecessary wakeups. A solution to this is wakeup throttling as implemented by tokio and other userspace schedulers, which avoids notifications if there is already an active thread, the "waker thread". That thread will then notify another waiter if it finds a message, creating a new waker thread. This PR changes the bounded and unbounded channels to fallback to parking after observing a linearizability condition, using wakeup throttling to makeup for missed notifications without creating too many unnecessary wakeups.
Thanks to @kprotty for pointing me in the right direction for the wakeup throttling algorithm. Hopefully paired with https://github.com/crossbeam-rs/crossbeam/pull/1038 this should resolve all of the spinning issues in crossbeam/std.
Should resolve https://github.com/crossbeam-rs/crossbeam/issues/366 and https://github.com/crossbeam-rs/crossbeam/issues/997 (as well as https://github.com/rust-lang/rust/issues/114851 and https://github.com/rust-lang/rust/issues/112723 when upstreamed to std).

Falling back to parking for wait_write and wait_next in the unbounded channel still needs to be implemented.

We probably also want to introduce a non-linearizable version of try_recv, because this doesn't actually fix the issue of try_recv taking longer than expected.

Here are the benchmark results before and after. Note that all of the fallback cases are very unlikely to be hit on most setups, so this is just measuring the performance difference of new wakeup algorithm, which seems to be pretty mixed.
- test bounded_1::create    ... bench:          91 ns/iter (+/- 0)
+ test bounded_1::create    ... bench:          82 ns/iter (+/- 3)
- test bounded_1::mpmc      ... bench:  10,576,639 ns/iter (+/- 1,012,158)
+ test bounded_1::mpmc      ... bench:  11,206,415 ns/iter (+/- 2,787,440)
- test bounded_1::mpsc      ... bench:  21,551,625 ns/iter (+/- 975,344)
+ test bounded_1::mpsc      ... bench:  21,975,220 ns/iter (+/- 390,863)
- test bounded_1::oneshot   ... bench:         116 ns/iter (+/- 1)
+ test bounded_1::oneshot   ... bench:         104 ns/iter (+/- 3)
- test bounded_1::spmc      ... bench:  22,192,680 ns/iter (+/- 760,426)
+ test bounded_1::spmc      ... bench:  22,268,657 ns/iter (+/- 559,440)
- test bounded_1::spsc      ... bench:  23,097,047 ns/iter (+/- 76,889)
+ test bounded_1::spsc      ... bench:  22,753,449 ns/iter (+/- 143,048)
- test bounded_n::mpmc      ... bench:   2,387,457 ns/iter (+/- 313,821)
+ test bounded_n::mpmc      ... bench:   2,734,135 ns/iter (+/- 315,206)
- test bounded_n::mpsc      ... bench:   5,909,059 ns/iter (+/- 81,411)
+ test bounded_n::mpsc      ... bench:   6,635,209 ns/iter (+/- 134,351)
- test bounded_n::par_inout ... bench:   6,835,077 ns/iter (+/- 234,552)
+ test bounded_n::par_inout ... bench:   6,583,975 ns/iter (+/- 210,953)
- test bounded_n::spmc      ... bench:   5,649,130 ns/iter (+/- 127,809)
+ test bounded_n::spmc      ... bench:   5,748,161 ns/iter (+/- 130,954)
- test bounded_n::spsc      ... bench:   1,126,902 ns/iter (+/- 32,449)
+ test bounded_n::spsc      ... bench:   1,194,757 ns/iter (+/- 15,458)
- test unbounded::create    ... bench:          64 ns/iter (+/- 1)
+ test unbounded::create    ... bench:          57 ns/iter (+/- 1)
- test unbounded::inout     ... bench:          36 ns/iter (+/- 0)
+ test unbounded::inout     ... bench:          44 ns/iter (+/- 0)
- test unbounded::mpmc      ... bench:   1,181,564 ns/iter (+/- 204,692)
+ test unbounded::mpmc      ... bench:   1,200,760 ns/iter (+/- 174,606)
- test unbounded::mpsc      ... bench:   2,900,684 ns/iter (+/- 196,933)
+ test unbounded::mpsc      ... bench:   2,144,163 ns/iter (+/- 199,247)
- test unbounded::oneshot   ... bench:         103 ns/iter (+/- 0)
+ test unbounded::oneshot   ... bench:         113 ns/iter (+/- 0)
- test unbounded::par_inout ... bench:   4,799,151 ns/iter (+/- 487,975)
+ test unbounded::par_inout ... bench:   6,485,203 ns/iter (+/- 407,363)
- test unbounded::spmc      ... bench:   2,366,594 ns/iter (+/- 46,477)
+ test unbounded::spmc      ... bench:   2,014,760 ns/iter (+/- 28,476)
- test unbounded::spsc      ... bench:   1,061,444 ns/iter (+/- 14,589)
+ test unbounded::spsc      ... bench:   1,392,352 ns/iter (+/- 11,792)

There are some changes I made on the rust-lang PR that have to be applied to this one as well.
I believe there's a large optimization here than can be made which is only notifying a waiter if the current thread sees remaining data on the channel.

Since some of the issues indicate priority inversions I wonder if parking is the right choice or using inheritance-aware synchronization would be better on platforms that support it.


⚠ Cioos National CKAN has degraded performance

In 34b115d, Cioos National CKAN (https://catalogue.cioos.ca/) experienced degraded performance:

HTTP code: 200
Response time: 6010 ms

Resolved: Cioos National CKAN performance has improved in c6d4619 after 28 minutes.


QueryException in Messagable.php with DB Prefix

Refs #183
DB prefix was not getting added into the raw select query

@michaeltintiuc this should fix the issue. Can you update your app to use dev-master to double check on your side? This will be tagged shortly if it works.

@cmgmyr Yep, this fixed it. Thanks a lot, I really appreciate it!


Corrected package.json syntax

Fixed package.json syntax that was breaking npm install in dependent projects.

I see that the file has been corrected. Closing this pull request.


[5.7] Query Builder Contract

This is based on a conversations in the ideas repo around adding a builder contract for easier type hinting across projects (without always having to keep track of which kind of builder you're working with).
This PR is backwards-incompatible because it breaks the ability to override underlying query builder calls via macros. This practice seems pretty dangerous to me, so I don't imagine a ton of people are doing it, but I may be wrong.
Right now, more tests would need to be refactored to account for the fact that many function calls are no longer going through __call(). I'm willing to start updating tests, but I want to find out if this is something you'd be interested in pursuing first, or if anyone else has comments about using macros to override query builder calls.
The main upside here is that you could now do:
<?php

use Illuminate\Contracts\Database\Builder;

class WorksWithDatabase
{
  protected $builder;

  public function __construct(Builder $builder)
  {
    $this->builder = $builder;
  }

  public function run()
  {
    $this->builder->each(function($row) {
      // I don't need to know if this is an Eloquent query or a base query
    });
  }
}

For me this is way too risky, 2400 lines added is a hell lot to review, and 30 errors and 17 failures are still present in the tests.
Can you name more advantages in favour of this change?

Oops. I must’ve screwed up which branch I was working from. It’s only 7 or so files changed. I’ll fix shortly.

I'm not sure the benefits really outweigh the amount of changes in this PR?

Too bad. Some interfaces around Eloquent would have been pretty neat.

It's only 8 files… most of those changed lines amount to duplicated docblocks. It's really not that major of a change… it's explicitly calling the internal $query object instead of using __call() for everything.

This is a fantastic PR @inxilpro.  The changes here are fundamental and while I absolutely acknowledge the burden of testing it on the many platforms that Laravel supports and how substantial an effort such a change might entail in the long run, I'm disappointed to see it rejected nonetheless.
IMHO, The level of consistency in this approach among the various abstractions would make Eloquent unparalleled as a DBAL.  While the interface only addresses edge-cases, it does eliminate a substantial number of them, not to mention making Eloquent more extensible in general.  I sincerely hope that despite being rejected, this PR and similar ones has started a conversation that will eventually lead to an accepted implementation that fulfills the spirit of this work.

In my opinion benefits DOES outweigh the amount of changes needed to solve this issue.
Right now, we have to either guess / track what builder we are using at the time (which is not too comfortable nor practical) or ignore type hinting, which is just wrong. Moreover, even official docs still recommends going without type hints while working with Query Builder make the code more and more legacy :/.


Quickstart Script Doesn't Run Container on different architectures

I cloned the repository and navigated to the directory as described in the README. Executing the script with run causes the image to be downloaded as expected and I am told that the server is now running. However, if I immediately execute docker ps there are no containers running. If I execute docker ps -a there are no terminus containers listed.
To Reproduce
Steps to reproduce the behavior:

Clone repository
cd into the repo
execute the script with run
check docker ps

System information (please complete the following information):

OS: Ubuntu
Version 20.04
How did you run terminus-quickstart? Exactly like the instructions say

Additional context

Running on Raspberry Pi 4
Connecting to the Pi via ssh

This is caused by TerminusDB not having a aarch64 image yet. I keep this issue open since the quickstart script should give you a warning of some kind.

The script now gives a warning when the terminus-container script runs on a different CPU architecture than x86_64, as there are no images for other platforms yet.

Would I be able to build from source, or is there a fundamental limitation to some dependency or something that would make that impossible?

@SixBitProxyWax You can build from source. It's just that we haven't tested ARM64 that well, so unexpected problems may arise.


validations and model specs

In this PR, I have completed the current milestone of the project and kept to the given requirements.

no linter errors.
the project is professionally documented.
the right git-flow method has been used.
the required validations have been added for the user and post model.
unit specs have been added for all models.

Thanks @mukhammadrizooff for taking out time to review this project🤗.


settings: Rename "user avatar" to "profile picture"

This PR fixes #11824.
Things that were changed:

Any translation referencing User avatar or Organization icon
Help & documentation files referencing user avatar or organization icon
Code comments referencing user avatar or organization icon

Things that were left as-is:

No changes to Organization Logos, as mentioned in the comments on the linked issue
Any function/variable names, to avoid introducing any bugs
URLs referencing avatar were kept the same
Changelog entries were not changed

Testing Plan: Manually tested in English by visiting the pages shown in the screen recordings below
NOTE: I tried switching my browser locale to test in other languages, and even though the log-in page would load correctly, the actual application page would always load in English, even in an incognito window. Any idea why / what I can do to test other languages?
GIFs or Screenshots:

Just noticed tests are failing -- will amend the commit to include test-fixing changes

@BenMusch Thanks for working on this!  Can you back out all your changes to the translations files?  Those will be modified automatically through other processes we have.

@showell sure thing, I can still change the english-language keys that are used to look up the translation, right?

See https://zulip.readthedocs.io/en/latest/translating/translating.html for how this works, but basically, you never need to manually edit anything under static/locale -- it's all synced from Transifex.  You should still edit the source strings wherever they appear in the actual code.

@BenMusch let me know when this is ready for a final review.

@timabbott Should be set for final review now

Merged as the two commits ending with 243be91a9ba02f5251688b0784441f602155319c.  A few notes:

Please use . at the end of sentences in your commit message, including in the title.
I caught and fixed a broken link produced by this PR:

@@ -161,7 +161,7 @@ def users_to_zerver_userprofile(slack_data_dir: str, users: List[ZerverFieldsT],
         email = get_user_email(user, domain_name)

         # avatar
-        # ref: https://chat.zulip.org/help/set-your-avatar
+        # ref: https://chat.zulip.org/help/set-your-profile-picture
         avatar_url = build_avatar_url(slack_user_id, user['team_id'],
                                       user['profile']['avatar_hash'])
         build_avatar(user_id, realm_id, email, avatar_url, timestamp, avatar_list)

It's good practice to always grep for identifiers when renaming them, including the main parts of filenames, to avoid letting issues like this slip through (that's how I found this).
Thanks @BenMusch!
@rishig FYI.


CupertinoPicker refresh data not working

CupertinoPicker widget is not refreshed when you change his childCount, if you put initial data no problem, but all data added after first build is not visible.
To reproduce:
import 'package:flutter/cupertino.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return new CupertinoApp(
      title: 'Flutter Demo',
      home: new MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);
  final String title;

  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  var _devices = [];
  @override
  Widget build(BuildContext context) {
    print('build! ${_devices.length}');
    return new CupertinoPageScaffold(

      navigationBar: CupertinoNavigationBar(
        middle: Text(widget.title),
      ),
      child: Column(
        children: <Widget>[
          Container(
            height: 300.0,
            child: CupertinoPicker.builder(
                itemExtent: 40.0,
                onSelectedItemChanged: (index) {
                  print(index);
                },
                itemBuilder: (context, index) {
                  print('itemBuilder');
                  return Center(
                    child: Text(
                      'item :'+_devices[index],
                      maxLines: 1,
                      overflow: TextOverflow.fade,
                      textAlign: TextAlign.center,
                    ),
                  );
                },
                childCount: _devices.length),
          ),
          CupertinoButton(child: Text('add'),onPressed: () {
            setState(() {
              _devices.add("test");
            });
          },)
        ],
      ),
    );
  }
}

Flutter doctor:
[✓] Flutter (Channel beta, v0.9.4, on Mac OS X 10.13.6 17G65, locale fr-FR)
[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 10.0)
[✓] Android Studio (version 3.2)
[✓] IntelliJ IDEA Ultimate Edition (version 2018.2.4)
[✓] Connected devices (1 available)

The refresh is not happening because adding an element to the list doesn't not change the state. You need to create a new List from the current one, and assign it to your _devices state property.
You'll also need to add a scrollController to trigger a UI refresh (scrolling or jumping to a specific position).

By forcing the scrolling it works, I'll use it as a workaround, but not ideal as it change the user selection.
But the picker should be able to rebuild itself when the childCount changes (or provide a controller to be able to notify data change), still a bug of the picker for me.

Also when the initial data is empty, scrolling is not possible so the workaround doesn't work for that case

It seems that there is also a bug when the initial list is empty... the hack starts to work when you have 2 items...

Another solution (still ugly but worked for me)
Set a new key to the cupertino whenever you want to refresh it
initSate
_keyCupertino = GlobalKey();
build
CupertinoPicker.builder(              key: _keyCupertino ,                ... )
Whenever you want to update
        setState(() {           _keyCupertino = GlobalKey();           listofObjects = response;         });

   final int position = min(_daySC.selectedItem, newDayCount - 1);
   _daySC.jumpToItem(position - 1);
   _daySC.jumpToItem(position);

it work,but ugly

Issue exist on
[✓] Flutter (Channel dev, v1.16.3, on Mac OS X 10.15.4 19E266, locale en-GB)
    • Flutter version 1.16.3 at /Users/taha/Code/flutter_dev
    • Framework revision be3a4b37b3 (4 days ago), 2020-03-26 18:08:05 -0700
    • Engine revision b2bdeb3f0f
    • Dart version 2.8.0 (build 2.8.0-dev.17.0 1402e8e1a4)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/taha/Code/sdk
    • Android NDK location not configured (optional; useful for native profiling
      support)
    • Platform android-29, build-tools 29.0.3
    • ANDROID_HOME = /Users/taha/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_212-release-1586-b4-5784211)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.4)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.4, Build version 11E146
    • CocoaPods version 1.9.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.6)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 44.0.2
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build
      1.8.0_212-release-1586-b4-5784211)

[✓] VS Code (version 1.43.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.8.1

[✓] Connected device (4 available)
    • iPhone 11  • 41EB2A85-7EB4-4FD2-8978-FBBE2A681D74 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-13-4 (simulator)
    • macOS      • macOS                                • darwin-x64     • Mac
      OS X 10.15.4 19E266
    • Chrome     • chrome                               • web-javascript •
      Google Chrome 80.0.3987.149
    • Web Server • web-server                           • web-javascript •
      Flutter Tools

• No issues found!

Ran into this issue. Thanks for the (ugly) workaround / hack @agreensh
$ flutter doctor -v
[✓] Flutter (Channel master, 1.19.0-2.0.pre, on Mac OS X 10.15.3 19D76, locale en-US)
    • Flutter version 1.19.0-2.0.pre at /Users/agautam/tools/flutter
    • Framework revision 54524a7f95 (5 days ago), 2020-05-29 23:43:01 -0400
    • Engine revision 685699b351
    • Dart version 2.9.0 (build 2.9.0-11.0.dev 6489a0c68d)

Still does not work, also the workarounds provided do not work if you want to swap the list of times completly.

related issue https://github.com/flutter/flutter/issues/58144

A cleaner workaround:
  void _forceLayout() {
    setState(() {
      if (_squeeze == 1) {
        _squeeze = 1.000000000000001;
      } else {
        _squeeze = 1;
      }
    });
  }

Don't forget to pass _squeeze to CupertinoPicker.
This doesn't result in any noticeable visual changes.

I'm having the same issue
Flutter (Channel master, 1.23.0-14.0.pre.152, on Mac OS X 10.15.4 19E287 x86_64, locale en-EE)
    • Flutter version 1.23.0-14.0.pre.152
    • Framework revision 62cf4dbf10 (3 days ago), 2020-10-13 14:12:02 +0800
    • Engine revision<PHONE_NUMBER>
    • Dart version 2.11.0 (build 2.11.0-213.0.dev)

I'm having the same issue
and I solve this by using dynamic height:
height: 220.0 + Random().nextDouble() / 100000000,

I'm having the same issue
and I solve this by using dynamic height:
height: 220.0 + Random().nextDouble() / 100000000,

I'm having the same issue

I'm having the same issue

Is this getting fixed any time soon?
Btw, it would be useful if the builder constructor would have the missing looping parameter. Getting scrollController.jumpToItem(selectedIndex); to work when the children are refreshed is... challenging.  All in all, this class is pretty messed up.

Why is this widget so stiff


Lambda executes in loop

Hello,
I enabled layer using the method discussed on this git and am trying to execute bunch of shell scripts (.sh files) that are stored in s3 bucket. I am first copying file from s3 into /tmp folder in Lambda and then trying to execute script using /bin/bash command. I am able to get the results but lambda seems to execute in loop for complete 5 minutes and running command multiple times. That is not the behavior when I use Python Boto3. How do we stop processing and come out once all commands are executed. Following is what my script looks like.
handler () {
set -e
aws s3 cp s3://my-bucket/my-folder/download-from-other.sh /tmp/download-from-other.sh
aws s3 cp s3://my-bucket/my-folder/upload-to-s3.sh /tmp/upload-to-s3.sh
aws s3 cp s3://my-bucket/my-folder/create-emr-stack.sh /tmp/create-emr-stack.sh
cd /tmp
ls -l
/bin/bash download-from-other.sh
/bin/bash upload-to-s3.sh
/bin/bash create-emr-stack.sh
echo "{"success": true}" >&2
}

That's odd it loops. I'm not sure what could be causing that. Have you tried simply exiting manually after it's done. For example:
  echo "{"success": true}" >&2
  exit 0
}

Also do you think there's anything inside your scripts that could cause that?

I tried exit, quit, etc., without any luck. I also don't have anything that should run scrip in loop. Like I removed everything and ran simple aws s3 copy command inside my handler, but it still loops through.

This is still a mystery to me. I can't reproduce it. What are you setting on your Lambda?

Closing this as it's stale and can't reproduce. If we have more details or context we can revisit.


Cannot install extensions.

How can you use extensions? It's not quite clear in tbdriver.py. I'm passing in a list of extensions ie
extensions = []
extensions.append('/DEU/workers/Browser/adblock_plus-3.17.xpi')
Then initializing the driver:
    self.driver = TorBrowserDriver(
        tbb_path=f'{BASE_DIR}',
        extensions=extensions,
        pref_dict=pref_dict,
        options=options
    )

Your code looks right. See also the test code in test_should_install_custom_extension for reference:
https://github.com/webfp/tor-browser-selenium/blob/462b027961afc3757a935072495fd467af2930de/tbselenium/test/test_addons.py#L48-L49
If the problem persists, please check whether the options or pref_dict is interfering, and share the error message you get, if any.

Thank you for the speedy reply! The TBB_PATH used to launch the browser doesn't work, it says it needs proper path or binarary.. In the test.
In production I use 'workers' folder which has a subfolder of Browser which the current TOR browser bundle.

Sorry for not including my current unit test, please find it below
`import unittest
from os.path import dirname, realpath, join
from tbselenium.test.fixtures import TBDriverFixture
from tbselenium.test.test_addons import TBAddonsTest
from xvfbwrapper import Xvfb
vdisplay = Xvfb(width=1920, height=1080, colordepth=24)
vdisplay.start()
def start_tbselenium_with_adblock():
TBB_PATH = '/DEU/workers'  # Replace with the actual TBB path
xpi_path = '/DEU/workers/Browser/adblock_plus-3.17.xpi'
with TBDriverFixture(TBB_PATH, extensions=[xpi_path]) as driver:
    addons_test = TBAddonsTest()
    assert 'Adblock Plus' in addons_test.get_list_of_installed_addons(driver)
    # Run other test methods from TBAddonsTest if needed

if name == "main":
start_tbselenium_with_adblock()`
addons_test.get_list_of_installed_addons(driver) throws the following exception
*** selenium.common.exceptions.WebDriverException: Message: Failed to extract web element from Marionette response

`from xvfbwrapper import Xvfb
vdisplay = Xvfb(width=1920, height=1080, colordepth=24)
vdisplay.start()
from os.path import dirname, realpath, join
from tbselenium.test.fixtures import TBDriverFixture
from tbselenium.test.test_addons import TBAddonsTest
import traceback
class CustomTBAddonsTest(TBAddonsTest):
def init(self):
super().init()
self.TBB_PATH = 'workers'
def test_should_install_custom_extension(self):
    try:
        with TBDriverFixture(self.TBB_PATH, extensions=['workers/Browser/adblock_plus-3.17.xpi']) as driver:
            import ipdb ; ipdb.set_trace()
            assert 'Borderify' in self.get_list_of_installed_addons(driver)
    except Exception as e:
        print("Error occurred during test execution:")
        print(traceback.format_exc())

test = CustomTBAddonsTest()
test.test_should_install_custom_extension()
`
Sorry, I wasn't instancing the class properly in my previous post. I'm able to do things like driver.get("https://google.com") at the breakpoint but when I call the self.get_list_of_installed_addons(driver) method I'm getting *** selenium.common.exceptions.WebDriverException: Message: Failed to extract web element from Marionette response

It's hard to understand the code due to formatting issues, but if you can load a page via driver.get but you get an error for get_list_of_installed_addons, I'd recommend updating geckodriver to 0.31.0 and selenium to latest.

I'm deeply sorry about the confusion. I really should learn Github formatting!
from xvfbwrapper import Xvfb
vdisplay = Xvfb(width=1920, height=1080, colordepth=24)
vdisplay.start()
from os.path import dirname, realpath, join
from tbselenium.test.fixtures import TBDriverFixture
from tbselenium.test.test_addons import TBAddonsTest
import traceback
from tbselenium.tbdriver import TorBrowserDriver
from selenium.webdriver.common.by import By

TBB_PATH = 'workers'
extensions = ['workers/Browser/adblock_plus-3.17.xpi', '/DEU/workers/Browser/ublock_origin-1.49.2.xpi']
driver = TorBrowserDriver("/DEU/workers", extensions=extensions)
driver.get("about:addons")
driver.save_screenshot('test.png')

Using snippets from your unit test, I was able to take a screenshot. The load_url method doesn't exists for some reason. The screenshot does indeed show the adblockers are installed, but I'm getting a low score on https://adblock-tester.com/ vs when I manually run it locally with extensions installed. This is most certainly out of scope for the this repository.
Thank you very much for you help :) Feel free to mark this issue as solved.

P.S. Is there a way I can buy you a coffee?

Maybe the extensions aren't able to run in the context of a private window? Which I believe TOR browsers launches in, by default?

Hi @SheldonPatnett , glad you have it worked.
Allowing extensions to run on Private windows is a good idea.
Trying them one by one may be another...
You can also compare the (adblocker) rulesets used in the browsers to see if the (ruleset) versions match or not.
But, as you said, this issue is likely not related to tor-browser-selenium. So I'm closing.


Do not Assume all Fields are Provided when a Trigger is Posted

Ensure all needed fields are received from the client when posting a trigger
Return an error JSON payload if proper fields are not received
Don't error in Consumer if isMessageHub is set to false and credentials are not providedi

@dubeejw I added a commit here (22045bcf56dde3ccb9602989a8a1dbcf7faf61e9) that simplifies this a little bit. Please review.