Found a bug while copying and pasting the code

We have written the needed data into your clipboard because it was too large to send. Please paste.
Issue Type: Bug
At first i copied two lines of html code and i tried to paste those two lines of code in another two line of same file by using ( alt + left click ) on two different lines . But those copied codes didn't paste on the two different lines as i expected. I expected that both lines of code would be copied on two different lines but only first line of code was pasted on first line and second code was pasted on another second line where i wanted the code to be copied
VS Code version: Code 1.44.2 (ff915844119ce9485abfe8aa9076ec76b5300ddd, 2020-04-16T17:50:03.709Z)
OS version: Linux x64 5.3.0-51-generic snap

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-2430M CPU @ 2.40GHz (4 x 1442)

GPU Status
2d_canvas: unavailable_softwareflash_3d: disabled_softwareflash_stage3d: disabled_softwareflash_stage3d_baseline: disabled_softwaregpu_compositing: disabled_softwaremultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: disabled_offrasterization: disabled_softwareskia_renderer: disabled_off_okvideo_decode: disabled_softwareviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: unavailable_softwarewebgl2: unavailable_software

Load (avg)
1, 1, 1

Memory (System)
3.78GB (0.13GB free)

Process Argv
--force-user-env --no-sandbox --unity-launch --no-sandbox

Screen Reader
no

VM
0%

Extensions (4)

Extension
Author (truncated)
Version

python
ms-
2020.4.76186

cpptools
ms-
0.27.1

material-icon-theme
PKi
4.1.0

LiveServer
rit
5.6.1

@binay798 I think you are looking for this setting "editor.multiCursorPaste": "full". By default it's set to "spread"


WISH: This looks compatible with Firefox already! Please consider submitting to addons.mozilla.org

After looking over your code, I noticed that it was likely compatible with Firefox as well - I cloned your repo and tested it, and found that it loaded fine as a temporary extension. It would be quite easy to package and upload for Firefox users to install easily (here is the Mozilla documentation about packaging) (link to Mozilla documentation about submission)
In the interests of a more accessible web, I would be happy to do legwork for this, but I want to respect your wishes. Please consider - this extension can serve more than just Chrome users!

Has any progress on this been made? I have an FF addon in the store already and would also be happy to do this. Is it waiting on someone to take the initiative or is there a reason not to do this?

feel free to do this if you have the time!

Submitted to addons.mozilla.org. We'll see how long they take to review it (in my experience they're often pretty fast).

We're live! https://addons.mozilla.org/en-US/firefox/addon/twitter-required-alt-text


Is ScintillaNET the same as Notepad++, in theory, but with C#.NET instead of C++ (non .NET)?

Hello, I'm trying to understand Scintilla and how it works with Notepad++, and I stumbled onto your project.  After reading it looks like Notepad++ is a C++ consumer of the Scintilla engine, if that is the proper term, and ScintillaNET is a C# .NET runtime consumer.
Is that correct?  It's not that C++ is some how more integrated with NPP than ScintillaNET.  Rather, it is only a choice of language(s) bindings?
Thanks.

Scintilla is a text editor control, so the text portion only, no buttons, menus, tabs, just a box for text. That control is used in Notepad++, NP++ being the tabbed interface, menus, buttons, etc. to provide features and interface with Scintilla. ScintillaNET is a control itself, basically a wrapper around Scintilla that make it easier to use ScintillaNET in a .Net program. If you wanted to write your own NP++ in .Net, you would use the ScintillaNET control much like NP++ uses the Scintilla control.


dotnet restore

How do i start the command dotnet restore, ive tried from the cmd but it wont work.
plz help

Just install the bot again, it will auto restore it for you.
1. for Dev Build.
2. for Stable Build.


use .data$ instead of .$ for Exercise 24.3.3 & Exercise 24.3.4

I think that the biggest drawback for dplyr is using system function name as variable name.
For example,
tibble::tribble(
    ~date, ~mean,
    '2018-11-22', 1
)

would cause great trouble for dplyr::mutate() and so on.

date and wday are both function name, so I understand that using .$ can reduce ambiguity.
But there is another problem, x %>% f(g(.)) means x %>% f(., g(.))
From ?`%>%`

iris %>% subset(1:nrow(.) %% 2 == 0) is equivalent to iris %>% subset(., 1:nrow(.) %% 2 == 0)

So every time I use . in nested function, I would add {} to create a lambda expression.

what about .data$ since they are all inside dplyr::mutate()

I checked the book, it neither introduces .$ not .data$.
We may need to add a paragraph explaining why we use .data$.

At one point .$ was required to get case_when() to work within mutate(). This was before tidyeval standardized everything. I'll need to check what will work now.

Fixed in 159facabaafc697b2


[WIP][SMALLFIX]Make client write recover from lost worker

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/997/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/1000/
Test FAILed.


Fix unsafe type assertions on object literals

<T>{ ... } style type assertions are unsafe as they can hide some common typing errors such as missing properties on the object. This has caused errors for me multiple times now, so I think it would be good to make a pass through the code
Fixing
I've added a new eslint rule for this called local/code-no-dangerous-type-assertions. You can turn it on in .eslintrc.json
In most cases, we should prefer using proper typings such as:
const x = <T>{...};

// Becomes --->

const x: T = {...};

arr.map(x => <T>{ ... })

// Becomes --->

arr.map((x): T => ({ ... }));

If you want to make sure an object fulfills a certain type, prefer using the satisfies operator instead which will enforce the type without actually changing its shape:
const x = <T>{...};

// Becomes --->

const x = {...} satisfies T;

Note that this rule still allows <any> casts for now. You can also suppress this rule in the few cases where you need to workaround it using an eslint comment

Tracking

[x] src/vs/base/browser/ui/grid/gridview.ts @mjbvz

1733:12

[x] src/vs/base/browser/ui/splitview/splitview.ts @mjbvz

625:112

[x] src/vs/base/browser/ui/tree/asyncDataTree.ts @mjbvz

527:41

[X] src/vs/base/browser/ui/tree/objectTree.ts @mjbvz

222:26

[ ] src/vs/base/common/event.ts

1271:21

[ ] src/vs/base/common/objects.ts

261:17

[x] src/vs/base/common/processes.ts @mjbvz

108:5

[ ] src/vs/base/common/uri.ts

472:25

[ ] src/vs/base/common/worker/simpleWorker.ts

411:17

[ ] src/vs/base/parts/ipc/common/ipc.ts

429:36
432:37
440:37
461:68
487:37
556:10
848:10
997:9
1013:9

[ ] src/vs/base/parts/ipc/node/ipc.cp.ts

105:10

[ ] src/vs/editor/browser/coreCommands.ts

77:44
255:44

[ ] src/vs/editor/browser/services/webWorker.ts

110:27

[ ] src/vs/editor/browser/widget/diffEditor/utils.ts

192:17

[ ] src/vs/editor/contrib/codelens/browser/codeLensCache.ts

75:21

[x] src/vs/editor/contrib/folding/browser/folding.ts @mjbvz

1130:37

[ ] src/vs/editor/contrib/hover/browser/markerHoverParticipant.ts

159:43

[ ] src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.ts

116:135

[ ] src/vs/editor/standalone/browser/standaloneServices.ts

251:10

[ ] src/vs/editor/standalone/common/monarch/monarchCompile.ts

437:60

[ ] src/vs/nls.ts

250:15

[ ] src/vs/platform/environment/node/argv.ts

270:13

[x] src/vs/platform/extensionManagement/common/extensionEnablementService.ts @mjbvz

122:94

[x] src/vs/platform/extensionManagement/common/extensionGalleryService.ts @mjbvz

511:42
802:10

[ ] src/vs/platform/extensionManagement/node/extensionManagementService.ts

323:33

[ ] src/vs/platform/issue/electron-main/issueMainService.ts

413:36

[ ] src/vs/platform/list/browser/listService.ts

1157:12

[ ] src/vs/platform/product/common/product.ts

56:12

[ ] src/vs/platform/quickinput/browser/quickInputController.ts

337:135

[ ] src/vs/platform/quickinput/browser/quickInputService.ts

151:135

[ ] src/vs/platform/quickinput/browser/quickPickPin.ts

60:53

[ ] src/vs/platform/request/node/requestService.ts

168:13

[ ] src/vs/platform/terminal/common/capabilities/commandDetectionCapability.ts

50:11
442:33
525:44
784:44

[ ] src/vs/platform/theme/browser/defaultStyles.ts

25:17

[ ] src/vs/platform/update/common/update.ts

76:17
77:44
78:53
81:15

[ ] src/vs/platform/userDataProfile/node/userDataProfile.ts

96:107

[ ] src/vs/platform/userDataSync/common/abstractSynchronizer.ts

664:10

[ ] src/vs/platform/userDataSync/common/globalStateSync.ts

247:49

[ ] src/vs/platform/utilityProcess/electron-main/utilityProcess.ts

244:56

[ ] src/vs/server/node/webClientServer.ts

33:22
309:64

[x] src/vs/workbench/api/browser/mainThreadComments.ts

429:24
443:33
458:32

[ ] src/vs/workbench/api/browser/mainThreadDebugService.ts

214:23
251:49
286:52
439:36
464:34

[ ] src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts

435:157
445:167
460:153
562:25

[ ] src/vs/workbench/api/browser/mainThreadNotebook.ts

107:62

[ ] src/vs/workbench/api/browser/mainThreadTask.ts

492:13

[ ] src/vs/workbench/api/common/extHost.api.impl.ts

1471:25

[ ] src/vs/workbench/api/common/extHostDebugService.ts

416:39
886:36
893:32
899:41
904:36

[ ] src/vs/workbench/api/common/extHostTypeConverters.ts

631:63
640:54
647:54
660:62
670:63
791:35
970:43
984:38
990:48
997:44
1010:36
1015:46
1021:53
1031:50
1602:44

[x] src/vs/workbench/api/node/extHostTunnelService.ts

43:5
102:5
132:5

[ ] src/vs/workbench/browser/actions/quickAccessActions.ts

168:21

[ ] src/vs/workbench/browser/parts/editor/breadcrumbsControl.ts

88:47

[x] src/vs/workbench/browser/parts/editor/editorActions.ts

1968:37
1987:37
2006:37
2025:37
2037:37
2049:37
2061:37
2073:37
2092:37
2111:37
2123:37
2135:37
2147:37
2159:37
2174:37
2186:37
2198:37
2210:37
2224:39
2238:39
2252:39
2266:39
2280:39
2294:39
2308:39
2322:39

[x] src/vs/workbench/browser/parts/paneCompositeBar.ts

581:107
588:132
597:117

[x] src/vs/workbench/browser/parts/views/treeView.ts

831:53

[x] src/vs/workbench/browser/parts/views/viewPaneContainer.ts

46:70

[x] src/vs/workbench/browser/web.main.ts

180:23

[ ] src/vs/workbench/contrib/accessibility/browser/accessibleView.ts

531:45

[ ] src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPane.ts

123:30

[ ] src/vs/workbench/contrib/chat/browser/actions/chatActions.ts

119:73

[ ] src/vs/workbench/contrib/chat/browser/actions/chatImportExport.ts

99:92

[ ] src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.ts

100:110
114:109

[ ] src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.ts

102:133
166:61

[ ] src/vs/workbench/contrib/chat/common/chatModel.ts

657:7

[x] src/vs/workbench/contrib/comments/browser/commentsController.ts

404:27
1172:27

[x] src/vs/workbench/contrib/comments/browser/commentsTreeViewer.ts

319:36

[x] src/vs/workbench/contrib/comments/browser/commentsViewActions.ts

51:55
62:55

[ ] src/vs/workbench/contrib/debug/browser/debugActionViewItems.ts

262:87
317:56

[ ] src/vs/workbench/contrib/debug/browser/watchExpressionsView.ts

424:10

[ ] src/vs/workbench/contrib/editSessions/browser/editSessionsViews.ts

47:53

[ ] src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.ts

243:91

[ ] src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts

638:72
933:74
1019:70
1132:70

[ ] src/vs/workbench/contrib/extensions/browser/extensionsActions.ts

1669:35
1670:30
2089:35
2665:14

[ ] src/vs/workbench/contrib/extensions/browser/extensionsViewer.ts

267:72

[ ] src/vs/workbench/contrib/extensions/browser/extensionsViews.ts

210:74

[x] src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.ts @mjbvz

356:145

[ ] src/vs/workbench/contrib/extensions/browser/keymapRecommendations.ts

23:113

[ ] src/vs/workbench/contrib/extensions/browser/languageRecommendations.ts

23:115

[x] src/vs/workbench/contrib/extensions/browser/webRecommendations.ts @mjbvz

27:110

[ ] src/vs/workbench/contrib/files/browser/explorerService.ts

187:111

[ ] src/vs/workbench/contrib/interactive/browser/interactive.contribution.ts

145:30
164:30

[ ] src/vs/workbench/contrib/logs/common/logsActions.ts

174:84
185:104

[ ] src/vs/workbench/contrib/markers/browser/markersViewActions.ts

95:55
106:55

[ ] src/vs/workbench/contrib/mergeEditor/browser/commands/commands.ts

483:12

[ ] src/vs/workbench/contrib/mergeEditor/browser/utils.ts

107:17

[ ] src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.ts

167:40
183:40
193:40
324:38

[ ] src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.ts

59:117
82:117

[ ] src/vs/workbench/contrib/notebook/browser/contrib/outline/notebookOutline.ts

478:13

[ ] src/vs/workbench/contrib/notebook/browser/contrib/troubleshoot/layout.ts

101:34

[ ] src/vs/workbench/contrib/notebook/browser/services/notebookServiceImpl.ts

198:29

[ ] src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.ts

126:50
330:75

[ ] src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.ts

83:60
205:56

[ ] src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.ts

61:54

[ ] src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts

1111:112

[ ] src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.ts

382:24
390:23

[ ] src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.ts

116:46

[ ] src/vs/workbench/contrib/notebook/test/browser/testNotebookEditor.ts

236:110
454:29

[ ] src/vs/workbench/contrib/preferences/browser/keybindingsEditor.ts

737:19
746:19
755:19
764:19
773:19
782:19
791:19
800:19
809:19
878:19
889:19

[ ] src/vs/workbench/contrib/preferences/browser/preferencesRenderers.ts @rzhao271

398:21
403:16
412:21
426:21

[ ] src/vs/workbench/contrib/preferences/browser/preferencesWidgets.ts @rzhao271

188:21

[ ] src/vs/workbench/contrib/preferences/browser/settingsTree.ts @rzhao271

167:12
182:11
204:11
222:10
1719:31

[ ] src/vs/workbench/contrib/preferences/browser/settingsWidgets.ts @rzhao271

908:17
916:17

[x] src/vs/workbench/contrib/search/browser/anythingQuickAccess.ts

351:16
359:16

[x] src/vs/workbench/contrib/search/browser/searchModel.ts @andreamah

586:59
841:34
848:35

[x] src/vs/workbench/contrib/search/browser/searchView.ts @andreamah

763:52
783:52
793:79

[x] src/vs/workbench/contrib/searchEditor/browser/searchEditor.contribution.ts @andreamah

121:26
134:25

[x] src/vs/workbench/contrib/tasks/common/taskConfiguration.ts @meganrogge

1473:32
1477:32
1481:32
1546:32
1550:32
1554:32
2113:19

[x] src/vs/workbench/contrib/terminal/browser/terminalExtensions.ts @Tyriar

25:69

[x] src/vs/workbench/contrib/terminal/browser/terminalInstance.ts @Tyriar

991:8

[x] src/vs/workbench/contrib/terminal/browser/terminalView.ts @Tyriar

449:69

[x] src/vs/workbench/contrib/terminal/test/browser/terminalProfileService.integrationTest.ts @Tyriar

101:10
126:10
170:24
269:24

[x] src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminal.accessibility.contribution.ts @Tyriar

374:37

[x] src/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFixAddon.ts @Tyriar

124:21

[x] src/vs/workbench/contrib/testing/browser/testingExplorerFilter.ts @connor4312

81:24

[x] src/vs/workbench/contrib/testing/common/testingStates.ts @connor4312

33:5

[x] src/vs/workbench/contrib/testing/test/browser/testObjectTree.ts @connor4312

33:5

[ ] src/vs/workbench/contrib/themes/browser/themes.contribution.ts @aeschli

818:66
824:74

[ ] src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.ts @sandy081

95:68
103:76

[ ] src/vs/workbench/contrib/userDataSync/browser/userDataSyncConflictsView.ts @sandy081

95:107

[ ] src/vs/workbench/contrib/userDataSync/browser/userDataSyncViews.ts @sandy081

64:53
88:53
155:53
181:53
306:53

[ ] src/vs/workbench/contrib/webview/browser/themeing.ts @mjbvz

66:7

[ ] src/vs/workbench/contrib/workspace/browser/workspaceTrustEditor.ts

434:19
446:19
458:19

[x] src/vs/workbench/contrib/workspaces/browser/workspaces.contribution.ts

93:36

[ ] src/vs/workbench/electron-sandbox/actions/windowActions.ts

260:16

[ ] src/vs/workbench/services/configuration/common/configurationEditing.ts

296:112
308:137

[ ] src/vs/workbench/services/extensions/common/extensionsRegistry.ts

219:16

[ ] src/vs/workbench/services/preferences/browser/keybindingsEditorModel.ts

88:80
113:72
276:27

[ ] src/vs/workbench/services/preferences/common/preferencesModels.ts

428:48
546:22
564:26
837:19
887:27
958:26

[x] src/vs/workbench/services/search/common/fileSearchManager.ts

155:37
289:34

[x] src/vs/workbench/services/search/common/queryBuilder.ts @andreamah

113:22
183:22
543:24

[x] src/vs/workbench/services/search/common/searchHelpers.ts

56:38
70:38

[x] src/vs/workbench/services/search/common/textSearchManager.ts

203:38

[x] src/vs/workbench/services/search/node/rawSearchService.ts

126:37
192:14
239:8

[x] src/vs/workbench/services/search/node/textSearchAdapter.ts

18:53
21:30
41:19

[ ] src/vs/workbench/services/themes/common/colorThemeData.ts

449:30

[ ] src/vs/workbench/test/browser/workbenchTestServices.ts

214:31

I think I got all mine ✅

I got rid of mine, but I had to add a new cast via a mapValues function in common/objects.ts -- still better to keep the unsafeness hidden inside well-defined functions.

Getting close! Thanks for all the help. Let's plan on finishing this up in the October debt week

@mjbvz I noticed that several of the unassigned entries use generics. In that case, trying to use satisfies results in errors such as
Type '{}' is not assignable to type 'T'.
  '{}' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'object'.

In this case, would it make sense to add a suppression comment instead, or is there another way forward?

Down to a handful of file. Great work everyone! I've updated the list and also fixed a few more of these myself
@rzhao271 It depends. In some cases you can rewrite to avoid the need for the assertion, for example switching to use a spread operator instead. However in other cases we do need the assertion. After reviewing the code, if you think the assertion still makes sense, you can add a suppression comment. I've added these in a few cases myself

Thanks all! I've enabled the eslint rule now and added suppressions using eslint-disable local/code-no-dangerous-type-assertions
Please give a quick review to any code you own to see if the suppression can be removed


add crictl stats watch interruption

crictl stats with watch option doesn't give option to interrupt ie. SIGINT the same as docker stats equivalent
propose to change:
index 42fb067..bdfb710 100644
--- a/cmd/crictl/stats.go
+++ b/cmd/crictl/stats.go
@@ -18,6 +18,8 @@ package main

 import (
        "fmt"
+       "os"
+       "os/signal"
        "sort"
        "time"

@@ -151,6 +153,12 @@ func ContainerStats(client pb.RuntimeServiceClient, opts statsOptions) error {
                        return err
                }
        } else {
+               s := make(chan os.Signal)
+               signal.Notify(s, os.Interrupt)
+               go func() {
+                       <-s
+                       os.Exit(0)
+               }()
                for range time.Tick(500 * time.Millisecond) {
                        if err := displayStats(client, request, display, opts); err != nil {
                                return err

Hey @witalisoft, I think this would be a good improvement. Do you mind creating a PR for that?

The PR has been merged and I think this issue can be closed :)

Awesome, thank you!


[Enhancement] Add Events to BottomSheetView for Open/Closed

When using a BottomSheetView, you can programmatically open/close the BottomSheetView using IsPresented. But there is no way to close it after it was manually opened by the user.
Use case:
User swipes open a BottomSheetView and clicks some button that does stuff. After doing stuff, the BottomSheetView can (should in my case) close. This does not work when using IsPresented since there is no hook into the BottomSheetView for it being presented.
Workaround:
Set IsPresented to True in the same function before setting it to false so INotifyPropertyChanged propagates. But this isn't desired.
[RelayCommand]
private void SomeFunc()
 {
    IsPresented = true;
    // do stuff
    IsPresented = false;
}

Proposal:
Create an event for when the user opens the BottomSheetView and a seperate one for closing (so we can sync IsPresented if need be). Looking at the code, it looks like this would be as simple as adding an eventhandler to the OnOpened and OnClosed methods.
I do see that those are virtual, so as a second workaround, one could derive from BottomSheetView and implement the events in the meantime.
Edit -
This works if you control open/close via IsPresented with no user swiping. But once the user pans the control open, it no longer functions using IsPresented. It seems the bindings fail after panning is used to open the BottomSheetView. Maybe this is a bug.

Ignore all the stuff above as I have identified the problem. The issue is resolved by changing the defaultBindingMode to TwoWay in the BindableProperty for IsPresented. I tested this with the latest demo app and it works with the scenario above.
Change
public static readonly BindableProperty IsPresentedProperty =
BindableProperty.Create(nameof(IsPresented), typeof(bool), typeof(BottomSheetView) defaultValue: false, propertyChanged: (bo, ov, nv) => (bo as BottomSheetView).AlignBottomSheet());

To
public static readonly BindableProperty IsPresentedProperty =BindableProperty.Create(nameof(IsPresented), typeof(bool), typeof(BottomSheetView), defaultBindingMode: BindingMode.TwoWay, defaultValue: false, propertyChanged: (bo, ov, nv) => (bo as BottomSheetView).AlignBottomSheet());


Create  ?style=flat-square)

[ ] I’ve added tests to confirm my change works.
[ ] (If changing the API or CLI) I’ve documented the changes I’ve made (in the docs/ directory)
[ ] (If the change is user-facing) I’ve added my changes to changelog_unreleased/*/pr-XXXX.md file following changelog_unreleased/TEMPLATE.md.
[ ] I’ve read the contributing guidelines.

**✨Try the playground for this PR✨

**


asyncio.org is down?

asyncio.org is not an "official" website for the project. I think it is (was?) managed by @GMLudo.
You should ask this question on the mailing list, I don't think anything will be done about this website  here.
The list is here: https://groups.google.com/forum/?fromgroups#!forum/python-tulip

Alright.


Would you accept a PR that fixes the 1.6 warnings?

==> mongodb
Compiling 28 files (.ex)
warning: function slice/1 required by protocol Enumerable is not implemented (in module Enumerable.Mongo.Cursor)
  lib/mongo/cursor.ex:20

warning: GenEvent.notify/2 is deprecated, use one of the alternatives described in the documentation for the GenEvent module
  lib/mongo/events.ex:4

warning: function slice/1 required by protocol Enumerable is not implemented (in module Enumerable.Mongo.AggregationCursor)
  lib/mongo/cursor.ex:122

warning: function slice/1 required by protocol Enumerable is not implemented (in module Enumerable.Mongo.SinglyCursor)
  lib/mongo/cursor.ex:203

warning: variable "self" does not exist and is being expanded to "self()", please use parentheses to remove the ambiguity or change the variable name
  lib/mongo/monitor.ex:47

warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1
  lib/mongo/protocol.ex:82

warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1
  lib/mongo/protocol.ex:93

warning: variable "self" does not exist and is being expanded to "self()", please use parentheses to remove the ambiguity or change the variable name
  lib/mongo/topology.ex:72

warning: variable "self" does not exist and is being expanded to "self()", please use parentheses to remove the ambiguity or change the variable name
  lib/mongo/topology.ex:107

warning: variable "self" does not exist and is being expanded to "self()", please use parentheses to remove the ambiguity or change the variable name
  lib/mongo/topology.ex:124

warning: variable "self" does not exist and is being expanded to "self()", please use parentheses to remove the ambiguity or change the variable name
  lib/mongo/topology.ex:185

warning: variable "self" does not exist and is being expanded to "self()", please use parentheses to remove the ambiguity or change the variable name
  lib/mongo/topology.ex:190

warning: variable "self" does not exist and is being expanded to "self()", please use parentheses to remove the ambiguity or change the variable name
  lib/mongo/topology.ex:212

warning: variable "self" does not exist and is being expanded to "self()", please use parentheses to remove the ambiguity or change the variable name
  lib/mongo/topology.ex:217

warning: variable "self" does not exist and is being expanded to "self()", please use parentheses to remove the ambiguity or change the variable name
  lib/mongo/topology.ex:226

warning: function check_topology/1 is unused
  lib/mongo/topology_description.ex:546

warning: function invalid_set_name?/1 is unused
  lib/mongo/topology_description.ex:555

warning: variable "key" is unused
  lib/mongo/topology.ex:141

warning: variable "ret" is unused
  lib/mongo/topology_description.ex:259

warning: GenEvent.stream/2 is deprecated, use one of the alternatives described in the documentation for the GenEvent module
  lib/mongo.ex:755

Resolved in #191


Can I change the type of pageControl to a number?

If there are many pictures, the dot type pageControl will fill the screen and will not function again.
I read " https://github.com/zvonicek/ImageSlideshow/issues/26  " and it seems to be difficult to write this way.
Can I chage it numeric pageControl? like  " 1 / 36 ", " 2 / 36 " ..?

I'll comment here as I had the same problem - it wasn't too hard to simply build a square UIView with a single label, round the corners, then use snapkit to center it horizontally and offset from the bottom:

Then when going fullscreen, use SnapKit instead to centre the vertical sphere to the helpfully-exposed closebutton

If the project owner felt that was worthwhile (and is OK with the SnapKit dependency addition) I could consider adding that into a PR.

@scottcc I am sorry I'm late. I first learned about snapkit. Thank you!

I found another way.
https://github.com/shima11/FlexiblePageControl

Very nice @centell - hadn't seen that control, very nice. I do see that it's a UIView subclass as opposed to a UIPageControl subclass - but that does seem to be the way for most cool newer-kinds of page controls. Thanks for sharing!

So, finally a follow-up from me 😄
I've implemented a PageIndicatorView protocol in #251 that anyone can adopt to use their own page indicator. It can easily be used in combination with any other UI component, like FlexiblePageControl. Also, a simple numeric page indicator, LabelPageIndicator, showing just page numbers, is provided.


bug: flaky tests 🔨

Bug Report
Madara version:

https://github.com/keep-starknet-strange/madara/commit/3db1adafd06259090a2df80cae6617a904b318c3
Current behavior:

There are some flaky integration tests.
Get transaction by blockId and index
Expected behavior:

Tests should always pass.
Steps to reproduce:

Run the integration tests with npm run test-seq in the tests/ folder.
Related code:

We get the following error :
LibraryError: -32601: Method not found

Other information:

I do have errors locally on main branch but not the same ones

indeed, see related job https://github.com/keep-starknet-strange/madara/actions/runs/5043252152/jobs/9045546080

but I'm also on latest main, how come we (I) don't have the same error?

but I'm also on latest main, how come we (I) don't have the same error?

Not sure why, I'm on node v20.2.0 and did npm i before running the test, that's a bit strange we have different errors 😨

I have
$ npm install

up to date, audited 992 packages in 10s

$ node -v
v20.0.0

and git log
commit 3db1adafd06259090a2df80cae6617a904b318c3 (HEAD -> main, madara/main)
Author: Abdel @ StarkWare<EMAIL_ADDRESS>Date:   Mon May 22 09:58:13 2023 +0200

    📝 Add doc badges (#425)

I managed to replicate this, I did cargo build --release and ran the tests npm run test-seq afterwards

I do have errors locally on main branch but not the same ones

That's weird, I have every test working on my machine

That's weird, I have every test working on my machine

I think this can be closed now, @greged93 did a fix with #435  💪

I think we have two separate issues: the above failing tests mentioned by @ClementWalter and @ftupas which were fixed with #435, but we still have some flaky CI tests (see here). So for me this remains open.

I think we have two separate issues: the above failing tests mentioned by @ClementWalter and @ftupas which were fixed with #435, but we still have some flaky CI tests (see here). So for me this remains open.

Ah gotcha! Thanks sir 🫡


1.14

:tada: This PR is included in version 1.14.0 :tada:
The release is available on:

v1.14.0
Chrome Web Store
GitHub release

Your semantic-release bot :package::rocket:


[Bug]: github-actions bot keeps reverting megasync's version to older one

Prerequisites

[X] I have written a descriptive issue title.
[X] I have searched all issues/PRs to ensure it has not already been reported or fixed.
[X] I have verified that I am using the latest version of Scoop and corresponding bucket.

Package Name
magasync
Expected/Current Behaviour
megasync 4.8.1 is being reverted to 4.7.3 by github-actions bot
Here's the recent erroneous commit:
https://github.com/ScoopInstaller/Extras/commit/c4aea3d50a09f2708379ca6d83a9387c04e7c9b9
Steps to Reproduce
PS C:\Users\jason> scoop info megasync

Name        : megasync
Description : Client for automated synchronization between local folder and MEGA cloud
Version     : <IP_ADDRESS> (Update to <IP_ADDRESS> available)
Bucket      : extras
Website     : https://mega.nz
License     : Freeware
Updated at  : 12/1/2022 12:31:27 AM
Updated by  : github-actions[bot]
Installed   : <IP_ADDRESS>
Binaries    : MEGAsync.exe
Shortcuts   : MEGAsync

Possible Solution
Please help.
Scoop and Buckets Version
PS C:\Users\jason> scoop --version
Current Scoop version:
v0.3.1 - Released at 2022-11-15

'extras' bucket:
9e22242a3 (HEAD -> master, origin/master, origin/HEAD) stash: Update to version 0.18.0

'main' bucket:
2410508d5 (HEAD -> master, origin/master, origin/HEAD) trid: Update to version 2.24-22.11.30

'php' bucket:
31f073f (HEAD -> master, origin/master, origin/HEAD) php8.0: Update to version 8.0.26

Scoop Config
PS C:\Users\jason> scoop config

last_update          scoop_branch scoop_repo
-----------          ------------ ----------
12/1/2022 1:32:31 AM master       https://github.com/ScoopInstaller/Scoop

PowerShell Version
PS C:\Users\jason> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.3.0
PSEdition                      Core
GitCommitId                    7.3.0
OS                             Microsoft Windows 10.0.22621
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Additional Softwares
No response

This is an expected bug, we cannot get latest version of megasync now.

How about checking its VirusTotal hash page which shows the file version of the installer and the program itself? This might be the best way to automate it for now.
See this link: https://www.virustotal.com/gui/file/3c5db4f98ce373725edf4b8ffb83fdedc7341f08c8514aa339e4ce44f4953e80/details
Take note of the url, the hash we use in scoop is the same hash that can be used to create the VirusTotal url of megasync. Also works with the 32-bit version of installer. The hash in VirusTotal resolves to the information of the installer.

this will cause the bot to download installers each time it runs update check, even app is not updated.


Vim Ubuntu18.04, highlight mode cursor problem.

Version: 1803 (17134.345)
I have installed Ubuntu 18.04 from the Microsoft Store and VIM 8.0 using apt-get. (built-in terminal, no vimrc.)
Open any file and input a line like: asdf1234567890.
When I put my cursor after a character and press V to go to "Visual mode", then I try to highlight the left character by pressing "H", the right character is selected.

Let's say, I put my cursor after the digit "8", then I pressed "v" to go to visual mode, then I pressed "h" to select (highlight) "8", but strangely the right digit "9" was also selected.
Another problem is that after highlighting a string from left to right by pressing "l" in the visual mode, delete the highlighted string will also delete the character one next to the cursor.

Let's say, when I put the cursor after the character "f" and pressed "l" to select the right digit "1" in visual mode, press "d" will delete "1" and "2".
I am not sure if this is a bug, but it does not work like this when I use VIM on native Ubuntu.
I am sorry if this is a duplicate report.
Thanks
Sen

@orozco30
Hi, sorry I have not made this clear.
Using VIM on Ubuntu, it is supposed to only delete the highlighted item "1".
But on WSL VIM, it seems both "1" and "2" are deleted in this scenario.


Provide a way to enable Peripherals without direct access to PeripheralClockControl

Most peripherals require mutable access to PeripheralClockControl to be enabled, but there are some use cases, where we cannot have a direct access to it.
A use case would be to implement hardware acceleration for esp-mbedtls we have to rewrite extern "C" bindings, while keeping the original signature. This means we cannot access the PeripheralClockControl from this context, to enable hardware peripherals.
PeripheralClockControl seems to be provided in the system struct, and then mutably borrowed back to enable peripherals. If it's not used for other cases, should we refactor so that peripherals gets enabled with their clock when instantiated, or enabled with a .enable(self) function?

imo, long term I think we might actually want to remove the PeripheralClockControl from the public interface, and instead let the drivers manage the peripheral clocks internally. For now, though because PeripheralClockControl is a ZST you can just use some unsafe and pass initialized memory as the argument.

Hi!
Do you have an example of how to do so?
In many modules, mbedtls creates a context out of thin air and then passes it to every function.
the unsafe extern "C" fn *_init(context) {} is expected to load the hardware acceleration module, and store its pointer into the context.
So inside an unsafe extern "C" fn, I have to get the address of the peripheral, the peripheral clock control, initialize the peripheral and then store its pointer in the context to be used inside the other functions.
I can ensure safety, on the peripheral at least, by making mbedtls take the peripheral, to make sure nobody else is using it.

I think Scott is thinking of something like this
    let mut pcc = unsafe {
        let pcc: MaybeUninit<PeripheralClockControl> = MaybeUninit::zeroed();
        pcc.assume_init()
    };
    pcc.enable(hal::system::Peripheral::Sha);

It works because PeripheralClockControl is zero-sized.


Migrate login htaccess to mysql

Well, I think this will be optional, because if you install it locally, you don't need access.

Created two tables members and adm info. With admin record.

I thought this will be for v2.0.0 but it's done for v1.0.0. Close this.


Windows Defender and Malwarebytes Triggered

I would understand 1 false positive, but 10? and from malwarebytes aswell?
https://www.virustotal.com/gui/file/45d443b42f383f0a6bca72ed6fe694ddd25fcd742294059e3f811395e4d83dfd/detection

nevermind
discussed it, it's false positive

Code compiled using pyinstaller or py2exe is often incorrectly to be malware or a virus or a trojan by various antivirus programs. It can often have scary names like Trojan:Win32/Wacatac.C!ml.
This is most likely what is known in the virus industry as a “false positive”. Your code might not be doing anything malicious, but because it was compiled in a way that looks a bit like other code which might do malicious things antivirus judges it to be a virus.


Support UUID format behind feature gate

The crate uuid offers a type for UUID support and since it's already a known format, we can implement it behind a feature gate.

Add uuid = 0 (with optional = true) in Cargo.toml of core crate.
Add a new feature named uid with uuid in the array (for reference, see heck dependency and codegen feature which depends on heck in the manifest).
In schema module, we already have a number of implementations using impl_type_simple! macro. Add an implementation for uuid::Uuid with DataType::String and DataTypeFormat::Uuid.
Add a feature gate before that macro impl. It'll look something like this, but with uuid instead of actix.
We need to add tests for this too. Let's add uuid to the list of [dev-dependencies] in the root manifest. Next stop would be to add a new field (say, uid) with uuid::Uuid type to Pet struct in tests/test_app.rs. This will fail existing tests because the JSON will be different. Once we update the expected JSON outputs, the tests will pass again.

Feel free to ask any questions!

Hi, I would like take a shot at this :)

It's yours!


Add Python tests

This PR is intended to only add tests and no new functionality. A few of the functions will be modified to allow for unit tests but the function should be exactly the same.
I haven't been able to upload this to my running lambda. I need one feature in this code base that is not implemented yet because I wanted tests in place before attempting to add the feature. Please review changes to scan.py with some care.
You can now run this to get coverage:
pip install -r requirements-dev.txt
make coverage

@jaygorrell - I think there's still an issue with branch protection on this one. But it's ready to go. Can you take a look?

All good now. Thanks for this one!


Provides a way to build web component as distributable library

I don't know if it could be a feature request or a question, but anyway...
At the moment, the different build options (rollup+webpack) provide us the capacity to build an app or a demo because the build tools takes the index.html file as entry point. But here is another common use case for developers which just consists into build a component as a distributable library (production-ready) that they could then deploy to a NPM registry.
It seems that this UC is not covered but maybe I missed something?

This is an area we intend to cover very soon.
In general es modules + code that runs in modern browsers is what you want to publish for libraries and web components. If you are using non standard code like typescript, you will need to compile that away, but there is no need to do any es5 or bunding. All modern browsers support es modules, classes, async functions etc. Your consumers know best how to optimize for their users.
https://justinfagnani.com/2019/11/01/how-to-publish-web-components-to-npm/ is a good read and covers mostly our point of view.

Many thanks for your answer.

If someone has to work in that direction, here is a rollup config which can help you to start with:
import resolve from '@rollup/plugin-node-resolve';
import typescript from 'rollup-plugin-typescript';

export default {
    input: ['src/mycomp.js'],
    output: {
        file: 'dist/mycomp.js',
        format: 'esm',
        sourcemap: true
    },
    plugins: [
        resolve(),
        typescript({ lib: ["es2018", "dom"], target: "es2017", include: '**/*.{ts,js}' })
    ]
};

So to clarify, the open-wc startup skeleton app does not have a way to build a "publishable" web component and we need to add this on our own?

We actually got around to writing these docs now: https://open-wc.org/publishing/
We recommend people to write and publish standard JS, thus there is no build tools needed for the web component generator. If you use typescript you need to compile away the types, if you pick the typescript the tools for that are included.
I'll close this since the original issue was solved, but feel free to create a new issue with a followup question.

Right, the issue is that by default, the open-wc skeleton is not configured to follow the rules outlined. I've created another issue to track that: #1797
Let me know if I'm doing something wrong.

Thanks. Will close this one and track the other issue in the new one.


[SET-135] ESlint and Prettier

Refactored API to use Typescript and function with a health endpoint
Added ESlint to both frontend and Api
Added Prettier to both frontend and Api
Removed root Styling in frontend
Removed unused assets in frontend

Sorry for making this such a big PR. I didn't intend to redo the api, but needed to refactor to use typescript for eslint and I wanted to get a health endpoint up.
🎯 Summary

SET-

🔰 Checklist

[ ] I have read and agree with the following checklist and am following the guidelines in our Code of Conduct document.

I have performed a self-review of my code.
I have commented my code, particularly in hard-to-understand areas.
I have made corresponding changes to the documentation where required.
I have tested my changes to the best of my ability.
I have consulted with the team if introducing a new dependency.
My changes generate no new warnings.

We need to resolve the commits from main showing in this PR. You also haven't linked the JIRA ticket and the description / summary of the changes is not in the correct formatting. Lastly, you haven't acknowledged the checklist.

Another thing to mention, we don't mix frontend and backend changes.


Missing references

I'm seeing a bunch of missing references, but I don't know how that could be fixed. This is the source code of https://github.com/julia-vscode/LanguageServer.jl running with the language server itself, so I would expect to see no errors/warnings.

It might be related to https://github.com/julia-vscode/LanguageServer.jl/issues/804

The linter should see all installed packages from the current environment now, and there shouldn't be a warning anymore.


Update http integration tests for taint syntax change

Purpose

Describe the problems, issues, or needs driving this feature/fix and include links to related issues.

Fixes #
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

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

Check List

[ ] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

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

[ ] Increased Test Coverage
[ ] Added necessary documentation

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

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@8573afa). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master   #16312   +/-   ##
=========================================
  Coverage          ?   11.95%
  Complexity        ?     2758
=========================================
  Files             ?     1495
  Lines             ?    72320
  Branches          ?     8689
=========================================
  Hits              ?     8649
  Misses            ?    62865
  Partials          ?      806

Continue to review full report at Codecov.

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


JavaScript Split – How to Split a String into an Array in JavaScript.

Proposed title of the article
JavaScript Split – How to Split a String into an Array in JavaScript.
Introduction paragraph (2-3 paragraphs):
The split() method in JavaScript is a technique that parts a string into a variety of substrings and returns the new exhibit.
If an empty string (" ") is utilized as the separator, the string is parted between each character.
The split() technique doesn't change the first string.
In this article, I shall look deeply at how you can use the split method in JavaScript by understanding what the split method entails first and then digging deep into the real usage of the split method in JavaScript.
Key takeaways:

The split() Method in JavaScript
Splitting  a String by Each Character
Splitting  a String into One Array
Splitting  a String Using a Non-matching Character

References:
N/A

Good morning @Joshuathuo and thank you for submitting your topic to the EngEd program.
After some careful consideration it struck us that this topic may be a bit over saturated throughout other blog sites and official documentations.
We typically refrain from publishing content that is covered widely on the net or other blogs. We're more interested in original, practitioner-focused content that takes a deeper dive into programming-centric concepts.
But in order to approve the topic it has to serve value to the larger developer community at large.
An option and a great way to write this as an in-depth article and make it more add value to the greater developer community at large would be to walk the reader through the USE of methods and functions by building a unique, different, useful project.

We would love to learn your thought process behind the solution you arrived at using these concepts and topic.
That way a developer could see them in action.

As mentioned above - we believe this topic is widely covered on other blog site.
The best way for students to build a great portfolio is by building what does not exist and what can provide the most value.
Cc: @hectorkambow

Thanks@lalith1403 . That means I'm open to suggesting a new topic.
Cc@hectorkambow

@lalith1403 I changed my topic to  JavaScript Split – How to Split a String into an Array in JavaScript.
Please have a look .
Ping me if there is an issue.
Cc@hectorkambow

@louisefindlay23 Can you check this issue related to JavaScript whenever you get a chance?

@louisefindlay23  You can please have a look at this topic which was directed to you by @lalith1403
I will highly appreciate.

@zolomohan Can you take a look whenever you get a chance? @louisefindlay23 might have a heavy workload of articles. Thank you.

sure thing @lalith1403.

@Joshuathuo split is just one function in JavaScript and the MDN docs are very good and cover almost everything.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split
can you please go over this and tell me what unique approach you have on the split function?

@zolomohan Thanks. In matters regarding the topic, there are some things that I will have to cover like the following,

How to split with Array Destructuring
How to split using Regex
How to split with a limit

These are some of the topics I'll have to add

@Joshuathuo I still don't think just writing about one function provides a lot of value. Maybe you can pick several string functions and then write about them whilst making sure you are not covering the same stuff from the docs or commonly covered use cases. Our goal here is to provide unique and valuable content to the readers. Please keep that in mind.

@zolomohan  Thanks. Yeah, more especially the ones that I have stated above and also some others.

@zolomohan I agree with you , especially those that I have mentioned above and some others that I will have to cover

Yes. Please let me know what other string functions you'll be covering.

Some others methods are
1 How to split a character using a non- matching character
2 How to split a string by each character

@zolomohan Please check at my reply

I meant other JavaScript String functions. Not different methods using split function.

@zolomohan
Search (Regexp)
Split (delimiter,[limit]
substr(start,[length]

You can rename your article has JavaScript String Functions or something like that. Make sure the article provides a unique perspective.

@ahmadmardeni1 I think this is good to go.

@Joshuathuo Make sure it matches the following:

Adds value beyond what is in the official docs and what is covered in other blog sites.
To avoid any potential article closure, it should not overlap with any existing EngEd articles or incoming topic suggestions, and you have to bring a unique perspective, as Zolomohan said.

Please reference any relevant EngEd articles in yours and build a unique project - Approved.

Issue closed


Consider using more loose version range for requests in requirements.txt

Consider using more loose version range for requests in requirements.txt:
https://github.com/localstack/verdin/blob/519f3e02963341db8e2966bbb31916b78b65034f/setup.cfg#L30
This is currently causing issues in other places - to be discussed... (potentially the version ranges should be loosened up in other places as well..)

Resolved with 0.1.0


Added props to bootstrapFunction

Hi, this change makes possible to use the customProps from the register application into the singleSpaAngular bootstrapFunction. for example:
bootstrapFunction: (props) => platformBrowserDynamic(
    {provide: 'environment', useValue: props.environment }
]).bootstrapModule(AppModule)

This is released in beta 21


Aggregate country level by setting the rest of the data to null

Here's a suggestion:
We could have aggregate country-level data already done, if all the sub-fields are null
What I mean is:
Currently, for Italy, if county/city/state are all null, then the Country=italy rows give aggregate data for all the dates.
For China and US, however, that is not the case.
It would be great to backfill them (and/or write documentation on this effect) to "normalize" the dataset

@stevenqzhang absolutely. Right now, we manually make calls to transform.sumData(regions) to get a sum for the entire region. This is something that could be done once we're all done, totally automatically.
We discussed this earlier on slack: https://sars-cov-2covid-19.slack.com/archives/CV0MMQDRQ/p1584611369321800

There is another issue with Australia where there are only two entries for country level Australia.
It would be nice to have get country level by setting the others level to NULL and the same for state level and county level.
This produces some extra rows but will be easier to parse. I'm very new to this repo but I think something like this has been done to decide which source is used already.

Another option would be to just always use the city level if available then county and state and the country level.
Then one can simply aggregate over the required level.

Otherwise we would introduce errors like the county level does not sum up to state level.
If there is state level data then we don't need country level data as it should be matching anyway. It would also reduce the size of the csv even though this is not important atm.

This is the one thing breaking my visualization. If a decision is made about how to aggregate the data I can have a look into this and then use the data for my visualization.

This issue isn't really applicable in the new project (Li).  We do have a "don't use sumData in Li" issue (https://github.com/covidatlas/li/issues/51), which I'd like to get rolling.  I had started something similar in a wip PR, "add report rollups", https://github.com/covidatlas/li/pull/260, but it's tricky.
Closing this as it's effectively a duplicate of the PR.  Thanks, cheers! jz


[Feature]: Picture In Picture within App

Description
I'm trying to find a way to do Picture in Picture within the app I am working on, I don't mean Picture in Picture outside of the app, but rather inside.
I'm assuming react-native-video has a way of doing this but I cannot find anywhere where this is shown, unless I am missing something.
Why it is needed ?
Because I'm multitasking always inside of the app, but don't want to be locked into watching the video when I can be doing something else inside of the app, e.g. watching a recipie video inside of the app and following instructions at the same time in PiP.
Possible implementation
No response
Code sample
No response

Hello @pateljoel
PiP is not available for Android now.
For iOS you can check these ressources that can help:

https://github.com/react-native-video/react-native-video/discussions/3540
https://react-native-video.github.io/react-native-video/component/props#pictureinpicture
https://react-native-video.github.io/react-native-video/component/events#onpictureinpicturestatuschanged
https://react-native-video.github.io/react-native-video/component/events#onrestoreuserinterfaceforpictureinpicturestop
https://react-native-video.github.io/react-native-video/component/methods#restoreuserinterfaceforpictureinpicturestopcompleted

@pateljoel if that answers your question I'll let you close that issue.
If not, you also can open a discussion here https://github.com/react-native-video/react-native-video/discussions. It will better fit than an issue

Hi @gkueny, are you trying to say that it's not possible for a floating window inside of an app for Android? Is there a way around this that works? Is there code available for this?

that it's not possible for a floating window inside of an app for Android?

Yes for now.
A PR is open to enable PiP mode for android but only outside of your app. See https://github.com/react-native-video/react-native-video/pull/3385

Is there a way around this that works?

Yes, you can create a floating view in your app with video inside. It's how we implemented it in my company, but you have to setup all interaction yourself

Is there code available for this?

No for now as I'm aware

Hey @pateljoel, PiP is possible only possible for iOS now, but we will merge android PiP PR Soon™
As @gkueny said it already possible to do it with current library state but, to accomplish it would require quite some time to implement an example for you. Therefore if you need, we can do that as part of TheWidlarzGroup services. Feel free to contact us here: https://www.thewidlarzgroup.com/

So from what I've read, it doesn't seem like PiP within app works, even for iOS, without a custom solution - is that correct?

So from what I've read, it doesn't seem like PiP within app works, even for iOS, without a custom solution - is that correct?

pip within app work for iOS.
But not for android indeed

pip within app work for iOS.

I'm using version 6.0.0-rc.1, and PIP works well when I leave the app. But as soon as I navigate away from the parent screen within the app, the video disappears. Any idea / common causes why that could be the case?

I'm using version 6.0.0-rc.1, and PIP works well when I leave the app. But as soon as I navigate away from the parent screen within the app, the video disappears. Any idea / common causes why that could be the case?

Not sure if it's your issue, but your video instance is linked to <Video> component.
So, when your <Video> component is unmounted, your video instance is not referenced anymore by react-native-video and it explain why le video disappears when you navigate away from the parent.
In my app, we render only one video at the time (in different page) so we manage to have:

a global <Video> component
we show/hide this component when we need it
we use absolute position to show at the right place one the app
we manage which video to show with some global state

See the context here: https://github.com/TheWidlarzGroup/react-native-video/discussions/3540

appreciate the help @gkueny! I think the issue was exactly this, unmounting the <Video> component.
I'm not too well versed with navigation, but I had the video in a nested screen, which was getting destroyed every time I tried to go back to the main stack. I was able to expose the main stack navigation in this nested screen, and PiP within the app is working well now 👍🏾


Oracle University support request

Checklist

[X] I'm reporting a new site support request
[X] I've verified that I'm running yt-dlp version 2021.12.27. (update instructions)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that none of provided URLs violate any copyrights or contain any DRM to the best of my knowledge
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[ ] I've read about sharing account credentials and am willing to share it if required

Region
USA
Example URLs
https://learn.oracle.com/ols/course/csv-import-series/85174/99279/113721
Description
Could you please add Oracle University support?
Verbose log
[debug] Command-line config: ['-Uv', 'https://learn.oracle.com/ols/course/csv-import-series/85174/99279/113721']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, err utf-8, pref cp1252
[debug] yt-dlp version 2021.12.27 [6223f67] (win_exe)
[debug] Python version 3.8.10 (CPython 64bit) - Windows-10-10.0.19044-SP0
[debug] exe versions: none
[debug] Optional libraries: Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
Latest version: 2021.12.27, Current version: 2021.12.27
yt-dlp is up to date (2021.12.27)
[debug] [generic] Extracting URL: https://learn.oracle.com/ols/course/csv-import-series/85174/99279/113721
[generic] 113721: Requesting header
WARNING: [generic] Falling back on generic information extractor.
[generic] 113721: Downloading webpage
[generic] 113721: Extracting information
[debug] Looking for video embeds
ERROR: Unsupported URL: https://learn.oracle.com/ols/course/csv-import-series/85174/99279/113721
Traceback (most recent call last):
  File "yt_dlp\YoutubeDL.py", line 1353, in wrapper
  File "yt_dlp\YoutubeDL.py", line 1423, in __extract_info
  File "yt_dlp\extractor\common.py", line 599, in extract
  File "yt_dlp\extractor\generic.py", line 3829, in _real_extract
yt_dlp.utils.UnsupportedError: Unsupported URL: https://learn.oracle.com/ols/course/csv-import-series/85174/99279/113721

paywalled


I am on master but I always see a weird commit indicator?

Note: the folder name where I cloned to does not match the repository name.

Hi @bpasero,
the weird commit indicator is the short sha of the build's commit. It means that there is a build of your current commit on Travis and the status you see is of that particular build.
If there is no build for current commit on Travis(it will happen for example when you commit and don't push to server) then you will see master indicator, like here:

It means that the build status you see is the status of last build for this repository.
I should have updated the documentation on my PR. I will do it in the nearest future.

Oh interesting, somehow I thought this would tell me I am not on master. Thanks for explaining.

Maybe we should have a little hover label that explains what's happening there ;-)


Update messages.py

I noticed the wrong string was used when using the to_dmsg function in  the Display class.

Good catch! I suppose I should add a test for that code path.
The ci tests are failing for unrelated reasons. I'll investigate to be sure then merge. Thanks!


Support all valid URI schemes and add testing

Currently URI schemes that contain +,-, or . are not supported. We are working on adding a custom scheme for WKWebView that contains a + character. It would never allow our scheme to pass the whitelist.
An additional bug was preventing unwanted characters before a valid scheme. For example fakehttp://example.com would pass the whitelist because the regex was not matching from the start of the string.
Also added support for Jest tests and added tests for the changes.

:tada: This PR is included in version 5.0.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

@allcontributors[bot] please add @MalcolmScruggs for code, tool, test


Integrate with Explorer problem

After enabling Integration with Explorer and trying to open "Computer" or the user profile folder, Network, Recycle Bin, all result in opening the CS manga reader instead of Explorer.

The current implementation registry key is placed for Folder extension while other newer program use Directory instead but I wouldn't count changing it will fix the problem. I can try making a separate release and have you try it first.
withDirectoryRegistryContext x64.zip
withDirectoryRegistryContext x86.zip

Yup, I can confirm it's fixed.


Missing #include in Rom.h that prevents compilation

Hello,
I was messing with this application and as there were no releases I went to compile it myself. It got stuck early on in compilation but was given an error that basically told me to add this line. Upon doing so the compilation finished successfully and the application ran as expected. Since I already had the edit in place I decided to make a quick PR for the fix to help out.

Thanks for the contribution. This all looks good to me


belouke, consderations

This pull request was generated by the 'mq' tool
[test]
flake rate: 0.4
logical conflict every: 100
sleep for: 300s
[pullrequest]
requests per hour: 30
deps=[b,c]

/trunk merge


Add package result

Your package needs a .nimble file.

Ping @arnetheduck

fixed

fixed I think, pushed to the wrong branch..
[arnetheduck@tempus nim-result]$ nimble install https://github.com/arnetheduck/nim-result
Downloading https://github.com/arnetheduck/nim-result using git
  Verifying dependencies for<EMAIL_ADDRESS> Installing<EMAIL_ADDRESS>    Prompt<EMAIL_ADDRESS>already exists. Overwrite? [y/N]
    Answer: y
   Success: result installed successfully.


Evaluate whether we want to keep --large

As mentioned in #330, --large hasn't been used for a job submission in over a year, LARGE more often than not isn't specified on pipelines, and most current pipelines are sufficiently big to handle even large jobs with many millions of URLs and large files.
I think of --large as a workaround for when some jobs were larger than what some pipelines could handle. But computing resources only get cheaper and this seems to no longer be an issue nowadays. So I think the option has outlived its usefulness and should be removed to reduce clutter in the code base.

i'd be happy to close #330 in favor of another PR (someone else would make) that would remove the --large option altogether of course. :)

In case we decide to remove --large:
I just looked at the code a bit to see whether there's anything special we'd need to do. I think it should work if we simply drop it entirely.
The only potential issue I could think of is if the pending-large queue no longer exists and a pipeline using the old, pre-removal code tries to get a job from it. Control.dequeue_item uses Redis's RPOPLPUSH command, which returns nil if the source does not exist. I'm not entirely sure how that translates to the Python world, but I'd expect it to result in a None, which then gets treated (in Control.reserve_job). So that should probably work, but we should test it first to ensure we don't crash all running pipelines with this change. (Testing it by modifying the pipeline code to try to retrieve a job from a made-up queue name should suffice.)

The purpose of this feature was to allow us to use servers like the Scaleway baremetal C1, which is only 3 euros a month and can handle the load perfectly except that it has only a 50GB SSD.  But in principle, there's no actual reason a web crawl should need anywhere near that amount of disk, and so this flag might be the wrong solution to the problem.
On the other hand, to actually allow the use of these servers the right way would be a massive engineering effort I plan to get back to staring at when life calms down a little...

Nice to hear from you. :-)

in principle, there's no actual reason a web crawl should need anywhere near that amount of disk

It depends. We've had a number of jobs with a queue of a few dozen millions of URLs. The SQLite DB and the log file alone use a decent amount of space for such jobs. And if deduplication weren't broken (#311), the dedupe DB would presumably use a significant amount of storage as well.
We can get rid of the log issue by splitting the meta WARC up and truncating the wpull.log file. This would also fix the issue that we're missing the log files of crashed/aborted jobs if the pipeline operators don't upload them. I've actually implemented the meta WARC splitting part in wpull already (but the code isn't available currently; I need to resume working on that).
As for decreasing the DB size, we could in theory remove ignored URLs from the DB. This would require removing the ignore statements from the log file because we'd otherwise log the same URL potentially millions of times. I don't think this is a good idea though since it's good to have a log of what URLs we intentionally excluded from the crawl. We could remove some unnecessary columns from the DB, but that would not have a large effect in the big scheme of things.
The other issue, and really the major reason why small disks don't work well, are large file downloads. One huge problem there is that each download is written to disk twice, and that's obviously a massive waste of disk space. However, while we could definitely eliminate one of these copies, I don't think it's possible to get rid of the other. If we had only one download running at a time, we could simply stream the data to the document processor (which would simply ignore the data in most cases of large files since those tend to not be HTML/CSS/JS documents) and the WARC writer, which could then write to WARC directly. It could even split it up across WARC files using continuation records and move WARCs to the uploader directory while still downloading the same file. In theory, that would even allow downloading larger files than the disk size (assuming the upload's fast enough). Unfortunately, concurrent downloads throw a wrench into this. And furthermore, the WARC spec on continuation records is a bit flawed; you can't begin to write the records until you have the entire file since the first record already needs to contain the payload digest of the entire logical record (cf. iipc/warc-specifications#28).
Anyway, this probably belongs into a "make wpull more space-efficient" issue. And as you mentioned, it requires a decent amount of work.
To get back to --large, I completely understand what the idea behind it was, but I think in the end it simply doesn't work out. In addition to pipelines generally having sufficient diskspace now, people also forget to use this option when they queue jobs (or don't even know about it because they haven't read the docs; if it were in the docs in the first place, that is), or maybe they simply don't realise that there are huge files hidden somewhere in a directory. From that perspective, it would make more sense to have a --small option for sites which verifiably aren't large and can run even on very small pipelines. But in general, jobs end up being larger than one thought originally, and a single bad link (e.g. a webcam stream) is enough to cause a crash, so I'm not really convinced of that either.

While I do agree on removing the functionality of --large, I think the option itself should remain for sake of compatibility, even if it does nothing (interpreted transparently or otherwise).
Why might somebody necropost on a four year old thread for an option so seldom used as --large? ArchiveBot job 36sdsz38kvp70rjl4ziye6l8u was started using the offending option and, as a result, required manual intervention to rectify.
The job was waiting in the "pending-large" queue — no longer checked by any pipelines — and therefore would have remained in said queue indefinitely.

There's probably no reason to keep it, as it was used only for a brief time.

@systwi-again I don't see any advantage to keeping a meaningless option. Backwards compatibility is not a concern here as commands are issued by humans, not scripts. And as you said, usage of it is indeed very rare – there have only been two cases in the past three years (including tonight's). Apart from that, a couple people have included it when requesting jobs, but they undoubtedly took that from the docs, where it would be removed anyway.
I do see a disadvantage of keeping an option that just gets silently ignored though: it might lead people to think that it has a meaning and including it is important. In my eyes, that's worse than an error about an unknown option.

I agree. My original thought for keeping the backwards compatibility was that it would protect against those aforementioned situations, assuming the documentation would remain unchanged.
Furthermore, given --large's somewhat benign functionality, I felt that a silent error in this specific situation would be relatively harmless. Giving this more thought, however, I agree that errors in even these situations should be verbose.

It would be safest, most logical and most efficient to instead remove --large from both ArchiveBot and its documentation entirely, in my opinion (again, assuming this might even occur at another point in time).

The only potential issue I could think of is if the pending-large queue no longer exists and a pipeline using the old, pre-removal code tries to get a job from it. Control.dequeue_item uses Redis's RPOPLPUSH command, which returns nil if the source does not exist. I'm not entirely sure how that translates to the Python world, but I'd expect it to result in a None, which then gets treated (in Control.reserve_job). So that should probably work, but we should test it first to ensure we don't crash all running pipelines with this change. (Testing it by modifying the pipeline code to try to retrieve a job from a made-up queue name should suffice.)

I tested this the other day, and it does work. Only after testing did I realise that of course it must work: the pipelines always attempt to dequeue from pending and pending-ao anyway, and those queues are often empty. So there's no technical blocker preventing this from going ahead.


Use with non-GitHub remotes

Hi guys,
Great library - just wondering if it's possible to configure hub e.g. on a per-PR or per-repo basis to use a non-GitHub remote?
λ ip-192-168-27-134 airport-js → λ git mattysoup/cancel-latest-quote* → git remote -v
origin  http://git.tb.int/tradeblock/airport-js.git (fetch)
origin  http://git.tb.int/tradeblock/airport-js.git (push)
λ ip-192-168-27-134 airport-js → λ git mattysoup/cancel-latest-quote* → alias pr
pr='hub pull-request'
λ ip-192-168-27-134 airport-js → λ git mattysoup/cancel-latest-quote* → pr -b master
Aborted: the origin remote doesn't point to a GitHub repository.

If git.tb.int is a GitHub Enterprise host, then you can follow the steps in https://hub.github.com/hub.1.html to add your host to approved hosts list:
git config --global --add hub.host git.tb.int

And then add the following to your ~/.config/hub, because it seems your GHE instance is using the http protocol:
git.tb.int:
- user: YOURUSER
  protocol: http

If the host is not GitHub Enterprise, then hub pull-request can't possibly work.


116% cpu usage

This task called "kernel_task" is causing the cpu to heat up, the battery to drain, and the fans to spin highly.
What is the issue that is causing this? Is it a kernel panic?

I think you might be seeing the same issue as I did in #147 . My guess is that it's related to sleep or hibernation in combination with the wifi drivers. I've only seen in occasionally and a reboot always fixes it.

I've did the pmset (sleep/hibernate) settings as in the instructions, haven't had the issue after that.

Steinano had the correct answer.
For anyone else with this issue, Follow the sleep/hibernate tutorial given by Profzei in the instructions on the main page. Solved the issue.
Huge thanks to steinano!

Hi @Zephariael & @steinano! Are the following the only sleep/hibernate instructions you followed? I have the same settings but still running into the issue mentioned by @unverbraucht.
sudo pmset -a standby 0
sudo pmset -a powernap 0
sudo pmset -a proximitywake 0
sudo pmset -a tcpkeepalive 0
sudo pmset -a womp 0

Hi @Zephariael & @steinano! Are the following the only sleep/hibernate instructions you followed? I have the same settings but still running into the issue mentioned by @unverbraucht.
sudo pmset -a standby 0
sudo pmset -a powernap 0
sudo pmset -a proximitywake 0
sudo pmset -a tcpkeepalive 0
sudo pmset -a womp 0

@rohirrim27
Profzei's instructions are to apply the sleep settings after every update. Applying through terminal multiple times still hasn't worked for me however. I've gotten around this issue by either shutting down every time, or enabling hibernate. Both solutions are about the same I've found.
Maybe this will be magically fixed in MacOS Monteray lol.


Lint CSS and HTML files.

It would be great to lint these files too. For css we could use gulp-csslint and html gulp-htmlhint.

Same as #108


Export to yolo fails with 'OSError: [Errno 22] Invalid argument'

Describe the bug
I have an annoted image set of 473 tasks, all completed.
i want to export in the Yolo format but label-studio gets stuck and throws the following error in the console.
[2023-03-01 18:01:39,555] [label_studio_converter.converter::convert_to_yolo::643] [WARNING] No completions found for item #36
Traceback (most recent call last):
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/wsgiref/handlers.py", line 138, in run
    self.finish_response()
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/wsgiref/handlers.py", line 184, in finish_response
    self.write(data)
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/wsgiref/handlers.py", line 293, in write
    self._write(data)
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/wsgiref/handlers.py", line 467, in _write
    result = self.stdout.write(data)
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/socketserver.py", line 826, in write
    self._sock.sendall(b)
OSError: [Errno 22] Invalid argument

To Reproduce
Steps to reproduce the behavior:

Export all items
choose the Yolo option
Click export, browser sits there and looks like its exporting
Error above appears in console

Expected behavior
should trigger the zip download
Environment (please complete the following information):

OS: Mac OS 12.5.1
Label Studio Version [e.g. 0.8.0]: 1.7.1

Additional context
JSON file attached showing the dataset
project-3-at-2023-03-01-17-30-e9df08a0.json.zip
Only other thing to flag is some of the images are very large fle sizes, 10-15MB each, could that be the issue?  If so can i just resize them and swap them out in the data store so i dont have to re-label everything?

Woth noting that i had managed to export to Yolo format from a smaller dataset on the same machine a few months ago.

@louismustill Try to export this way in the terminal:
https://labelstud.io/guide/export.html#Export-using-console-command

I had the same issue with exporting to COCO format. Exporting from the terminal worked for me! Thanks!


Master issue to make everything work with sparse matrices

Description of feature

[ ] Quality control
[ ] normalization
[ ] encoding
[ ] [...]

After trying your example, I either get “No columns detected” for automatic mode, or when I specify the column name (taken from subject.var.iloc[-1].name ) I get the error AttributeError: ‘csr_matrix’ object has no attribute ‘ravel’
4:05
wrong name?
4:05
my call is ep.pp.encode(subject, encodings={'one-hot': ['illness,_injury,_bereavement,_stress_in_last_2_years']})

encoding doesn't work for sparse matrices yet


Feedback

Thanks @simlmx for the feedback on the datamodel, I thought I would try and write them up here

Should not have default uuid foreign keys - for example here

PD: we should do this

Change the name of colums*_uuid to *_id. This means it doesn't matter if generation_uuid is an int or uuid

PD: I like the clarity that is a uuid.

Try to use sqlalchemy default types not postgres specific ones. This will make migration to a different database easier. For example not sure how much time using real we save.

PD: I would be tempted to leave real for the moment, but any others that we can move to sqlalchemy default types, rather than postgres types, then we should

Do we need latest table for forecast values, slightly confusing.

PD: This will soon become very necessary, so I think leave it in for the moment

Where there is a created_utc column we could also have a updated_utc by default. This can also be done automaitcally, when any row is updated

for created_utc, we think there is a way to make this run on the server side. This might be safer with timezone issues

PD: we should do this

Should we get rid of datetime_interval table. It adds some confusion, and we could just have 'start_utc and 'end_utc in each table.

PD: I'm happy to leave it for the moment. I know the join slows down a query but then datetime_interval table will be smaller as datetime intervals wont be repeated. I think the only real way is to test it once we have a few million rows - or look online for other people who have done stuff.

Will need to add some indexes soon

PD: yea we should. perhaps we can do this when we need to. I would like to setup up alembic too, to make migrations easier

@simlmx Feel free to adjust anything, if I havent written it down properly.
@devsjc please have a look too

@devsjc do you want to have a look at these, and see if you fancy doing any

I'll close this for the moment @simlmx as we have simplied the schema


Add toggler to Tasl

Adds the show/hide toggle to the Tasl component (so it works on Next, without the client JS).

I've not managed to get this working – the issue appears to be with including children HOC components in our componentJsx nunjucks implementation. Pairing and or other eyes on it welcomed.


Entity creation modal (from suggester): make entity type, not label, the active element

Now, the active element is the label (the cursor is there). But the active element should be the entity type select, i.e. on arrowdown, the select should unfold.
Rationale: the label is already written when searching. The modal only opens if the entity type is not selected => makes sense to put its selection in the focus as the active element.

@davidzbiral
I was not able to change everything at once in actant modal so I made checklist in #763

OK, thanks, closing as a duplicate.


Fixes #765 Support customized beat interval of Nacos client

Describe what this PR does / why we need it
Does this pull request fix one issue?
Fixes #765 Support customized beat interval of Nacos client
Describe how you did it
Describe how to verify it
Special notes for reviews

hi, could you resolve conflicts, i updated pkg name & maven coordinates.

hi, could you resolve conflicts, i updated pkg name & maven coordinates.

Hi, the conflict has been solved.

thanks for your contribution.


Fix path to trec_eval in experiment and regression docs

#1352

Fixed path to trec_eval tool in experiments and regression docs
Changes related to runbooks/code usage are left out as the amount of these changes are going very large (and it is very hard to manually verify everything)

hi @adamyy I believe this PR has been superseded by others? Please document and then close this PR?

Hi @lintool, are you referring to https://github.com/castorini/anserini/pull/1371? I think this PR concerns a separate documentation issue 🤔

hey @adamyy I think this PR has been superseded? If so, please close? Thanks!


Babel issue

Looks good.

It looks good.

Sorry about that, I accidentally PR'd this to the wrong repo.


Use hostname in etcd authority when running etcd with SSL

Make sure libcalico will be ok - and the LGTM


markdown: Refactor backend logic for handling user mention.

Backend logic for handling user mention was cluttered
because it was handled at two stages first in
get_possible_mentions_info while fetching mention data
based on the message and then later in UserMentionPattern
which handles processing of text for mention.
Ideally UserMentionPattern should depend on
get_possible_mentions_info only for data but there was a
shared logic between these two that made it hard to debug
any possible bugs.
Updates in this commit make both of these functions
coherent in terms of logic and also add appropriate
comments to improve readability of these functions.
There was also a hidden bug that if a user A is
mentioned in with @**name|id** then @**invalid|id**
again mentioned A because of the way we handled mentions
earlier. It is solved as a result of this refactor and
appropiate test has been added for this.
This has been tested manually as well as by adding new
test to address missing case.

@timabbott this refactors backend handling of user mention. There was also a hidden bug which I noticed while testing, I've mentioned the bug in pr message, it is solved a a result of these changes. can you please have a look at this.

I posted a batch of comments; otherwise lgtm.

@timabbott I have updated this pr by making all of the changes you suggested.

Merged, after reorganizing the comments to be more appropriately above the part of the code they were most relevant to.  Thanks @m-e-l-u-h-a-n!


Improve error message when a GDScript instance fails to be constructed

I changed this error message to have a clearer cause ,since this line seems to be caused by godot attempting to initialize a script when the constructor takes more than one argument. Having a clearer message here would have saved me a lot of time.
Changes error message from a terse "Error constructing a GDScriptInstance." to "Error constructing a GDScriptInstance: {error}", where the error matches the error messages given when calling a function improperly in normal GDscript.

Bugsquad edit: This closes https://github.com/godotengine/godot-proposals/issues/5899.

Thanks for opening a pull request!
 This way, people reading the Git log can easily figure out what's going on :slightly_smiling_face:

Like this?

Like this?

This is much better already, though I recommend using present tense and not finishing the commit message with a period:
Improve error message when a GDScript object fails to be constructed

Done.

This closes https://github.com/godotengine/godot-proposals/issues/5899

I think this PR is just one of the necessary steps to close the issue. Also we need to add a note to the docs and a warning if _init of a Node-derived class has required arguments.

My bad. It was late last night. I’ll fix that later today.
On Fri, May 5, 2023 at 01:04 Danil Alexeev @.***> wrote:

@.**** commented on this pull request.
In modules/gdscript/gdscript.cpp
https://github.com/godotengine/godot/pull/76632#discussion_r1185807449:

@@ -181,7 +182,7 @@ GDScriptInstance *GDScript::_create_instance(const Variant **p_args, int p_argco
MutexLock lock(GDScriptLanguage::singleton->mutex);
instances.erase(p_owner);
}

	ERR_FAIL_V_MSG(nullptr, "Error constructing a GDScriptInstance.");

	ERR_FAIL_V_MSG(nullptr, "Error constructing a GDScriptInstance: " + Variant::get_call_error_text(instance->owner, initializer->get_name(), p_args, p_argcount, r_error) + ". Ensure this script's _init() function can take 0 arguments.");

This one is not changed.
—
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/76632#discussion_r1185807449,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC6NJRZT64TX4KOKA6DDG73XESX7RANCNFSM6AAAAAAXRFXFPQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Sent from Gmail on NOOK

Just a little more food for thought here! :)
Might there be a way to do something similarly informative without including variant.h, or is this really the only way? It's a pretty big dependency that didn't seem to be there originally, so if we could avoid it it'd keep code a little faster to compile whenever there are changes to variant.h :)

@anvilfolk does actually bring up a good point, though; should I instead copy the call message function into gdscript.cpp? Then, I can make the error messages more clear, since the function doesn't have to be for anything other than these errors. And then I can remove the header file, so it doesn't have to recompile.

I'd love to have someone else's opinion on this for sure :) maybe it's not a big deal since I don't think Variant.h gets modified that often? If the function isn't huge it might make sense! Let's see what others have to say :)

I don't see why we shouldn't just copy the error message over, instead of adding another include to gdscript.cpp.
It's not like that error message is gonna be changed often anyways.

I don't see why we shouldn't just copy the error message over, instead of adding another include to gdscript.cpp. It's not like that error message is gonna be changed often anyways.

I went and checked and the function is still like ~30 lines of code. Not a ton, but definitely not the most trivial thing either - it checks for lots of different things. @SlashScreen do you need to check for all of those or do you think that you'd only need a small part of that function? If it really is just checking for one or two conditions, then copy-pasting here makes a ton of sense. Copy pasting 30 lines of code I'd be a little more worried about - especially if the copy pasting requires the includes anyway! :)

Perhaps this function should be moved from Variant to Callable? This is a core or buildsystem question, so I may be wrong, but this move seems logical to me, since CallError belongs to Callable.
The code looks ok to me, I think the duplication here is undesirable.
However, I'm not entirely sure about the function of this error. GDScriptInstance is an internal implementation detail that is of little interest to users. As I wrote above, we could add a warning if the constructor of a Node- or Resource-derived class has required arguments.

@dalexeev

It would make sense to move the error over to callable, at least logically, but I don't know what that would break, and I am not comfortable enough with c++ and the godot codebase to make that move myself, unfortunately.
it's an error I keep running into, and I have seen other people run into it a few times. Having a more helpful error message here would have saved me hours of frustrated debugging, which is why I opened the PR in the first place.

Since we appear to have determined that the include is less of an issue than copy and pasting the function (which I was already hesitant to do anyways, since it was setting off my mental Don't Repeat Yourself alarms), is there anything else that I need to address before the PR can be merged?

since it was setting off my mental Don't Repeat Yourself alarms

🌵 🌵 🌵 🌵 DRY alarm! DRY alarm! 🌵 🌵 🌵 🌵
In seriousness, I'd remove the #include since it's already implied elsewhere and is thus redundant :)
The other thing that might make folks a little more excited about this is if you showed the original error vs the new error in yur PR description? I'd love to see it myself!

Oh, I also just noticed that you have 9 commits. You should squash that into a single commit :)
More information here: https://docs.godotengine.org/en/stable/contributing/workflow/pr_workflow.html :)

Okay. I'll rebase it this afternoon.

I think I got the squashing to work.

There's now 11 commits in the PR, so it seems like after squashing, you pulled from your remote again, solve the unnecessarily conflicts, and thus end up after the changes done multiple times.
So I went ahead and rebase the branch for you. Note that it means your fork's master branch is now different from your local Git clone's. For future PRs, we recommend creating a dedicated branch (e.g. SlashScreen/gdscript-error-instance-fail instead of SlashScreen/master), which makes it less likely that you would mistakenly pull your divergent master branch into it again, and also make it easier for you to maintain multiple branches in parallel for separate PRs.

@SlashScreen if you want some more interactive support with this, and are interested in participating more in godot I highly recommend the dev chat at https://chat.godotengine.org/ :)

Array changes are unrelated. Looks like a git rebase mistake.

Yeah, there's two commits now - other than that I'd be happy to see this in :)

Superseeded by: https://github.com/godotengine/godot/pull/86999
Thank you for your contribution nonetheless!


Recommend vagrant provision instead of vagrant reload.

Fixes #1520.

Automated message from Dropbox CLA bot
@christi3k, it looks like you've already signed the Dropbox CLA. Thanks!

Merged, thanks @christi3k!


Space Travelers' Hub

Hi Code Reviewer 👋
In this PR:

Make sure that there are no linter errors.

Make sure that we used the correct Gitflow.

Make sure that we documented our work in a professional way.

Follow Microverse's list of best practices for JavaScript.

⭐Install React Redux, Redux Logger and React Router.
-⭐Download the free image for the app logo.
-⭐Create routes and view components: rockets, missions, my profile. Add dragons [only if your team has 3 members]).

⭐ Use  for the page navigation links and style active class to indicate which section/page user is currently on (underline active navigation link).

⭐Create directories for all Redux state slice files: rockets, missions.

⭐Upon first render fetch data from the SpaceX API endpoints:

Rockets: https://api.spacexdata.com/v4/rockets.
Missions: https://api.spacexdata.com/v3/missions.

⭐Use useSelector() Redux Hook to select the state slices and render lists of rockets and missions in corresponding routes.

⭐Add actions and reducers for booking rockets and joining missions.

⭐Add actions and reducers for canceling rockets/dragons and leaving missions.

⭐Add conditional components rendering.

⭐Add  My Profile page.

⭐Set up testing libraries(React Testing Library and Jest).

⭐Add test for all components.

Hi @OyePriscilla Thanks a lot 💯 for your efforts in reviewing our code 😄 .

Hi 👋, @skyv26 Thanks a lot :100:  for your efforts in reviewing our code, we really appreciate it 😊.


[Mobile][Publication] Error messages appear for Admin are impossible to read

EPAM AI DIAL chat version
0.16.0
What happened?
Please refer to #1481 to find steps.

Confidential information

[X] I confirm that do not share any confidential information

verified on stg successfully


config.yml option to be less strict on build protections with block-break.

Description
Currently having any flag on WorldGuard to stop players from griefing will stop WM guns from breaking blocks when they are configurated to do so.
While this is useful for servers like Survivals, it is not very good for shooter minigame servers where normal block breaking is blocked everywhere.
Basically, I want my guns to break glass, but cannot because my maps are protected.
WM's custom weapon break block flag should still be used to deny block breaking even when bypassing is enabled.
Configuration
Something in config.yml:
  Bypass_Grief_Prevention: <true/false>

Payment (optional)

[ ] I'm willing to pay for this feature

# Setting this to true will disable compatibility with plugins that use the
# EntityExplodeEvent in their code. You may want to do this if you handle
# compatibility on your own.
Disable_Entity_Explode_Event: false
Disable_Block_Break_Event: false

added in next  update.


net/http: Serve violates tls.Config immutability promise

From tls.Confg docs:
After one has been passed to a TLS function it must not be modified.

But calling Serve will call setupHTTP2, which calls http2ConfigureServer, which will modify the tls.Config. Since by the time you call Serve you must have already called tls.Listen, the immutability promise is broken.
I don't think anything relies on it yet, but nothing stops someone from for example caching the NextProtos in crypto/tls.Listen or something, breaking the setupHTTP2 magic.

This might be a dup of Issue #15771

I'm not sure what, if anything, can be done about this before the 1.7 release.

Sent https://golang.org/cl/24508


No option to set custom search engine

System Details

OS:  Win11
Thorium Version: latest

Problem
Not able to add custom search engine.Brave search is also not there in latest version
Screenshots

There is no option to add a custom search engine in chromium

I just added custom presearch.com as a search engine option to thorium. Installing the extension didn't work at first, but visiting the site a few times an option in websitesearch showed up which i could acitivate and make my standard search engine

chrome://settings/searchEngines


fix: infraIR duplicate port translation for merged gateways

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes https://github.com/envoyproxy/gateway/issues/2964

let's do that

/retest

/retest

/retest


Running application using Gunicorn

Having issues with the use of gevent for deploying into production:
MonkeyPatchWarning: Monkey-patching ssl after ssl has already been imported may lead to errors, including RecursionError on Python 3.6. It may also silently lead to incorrect behaviour on Python 3.7. Please monkey-patch earlier. See https://github.com/gevent/gevent/issues/1016. Modules that had direct imports (NOT patched): ['pymongo.ssl_context (/usr/local/lib/python3.9/site-packages/pymongo/ssl_context.py)'].****

Could you tell us the Python version you are using? Taipy is compatible with Python 3.8 and above.

I use Python 3.9 and taipy 2.1

Hi @orangeluc
Do you think it would be possible (easy enough) to provide a small sample of code that allows us to replicate your issue ?
I suppose it involves pymongo ?

Sorry for the late response. We tried a few things, and it probably has sth to do with memory allocaiton. When we assign more memories, it sort of worked.


feat(ios): make all permitted user profile fields available when using limited login

Since Graph API cannot be used, this seems to be the only way to access additional user profile fields such as user's birthday, as per official documentation.
Fixes #525
Test Plan:
I granted all personalisation permissions to my app via the developer portal and specified them during login.

However, not all fields returned were populated even though the permission was granted.

So I created a test profile for e2e testing to ensure all mappings are working.

Hey @ranjit-akalilabs 👋
if you run yarn lint:prettier --write and commit the result, the lint check will pass


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-27-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3561

Questions ?
Please refer to the Backport tool documentation


No workflow for lets_encrypt

On the main AzureTRE repo there is a lets_encrypt workflow to create an SSL certificate, that doesn't exist in this repository. Just copying that workflow in fails, as it doesn't execute in the devcontainer.

I think it's not the TRE business to provide guidance / procedures on how to obtain a valid HTTPS certificate.
The AzureTRE repo has a workflow for that, but that was built primarily for dev purposes and isn't that stable and might be removed in the future.
At and case, I don't think we'll offer this option here as we don't believe this should be a deployment recommendation.
Obviously you can draw inspiration from the other repo for your own implementation.


CAMEL-11245 remove references to GlobalTracer

Thanks for the PR it has been merged. Do you mind closing this?


Script Error

Script:
C:\Users\Cryfr\Downloads\d-zone-master\d-zone-master\discord-config.js
Line: 23
Char: 17
Error: Expected identifier, string or number
Code: 800A0404

This is your own config file, you need to look at that line and figure out what you did wrong
(Hint: This should be the ID of your server encased in quotations "")

Closing this, if you are still having trouble with your config file, try out the latest version which includes a batch file for automatically creating a config file based on your bot's servers.


NOISSUE - Fix run command in README for websocket adapter

Signed-off-by: Aleksandar Novakovic<EMAIL_ADDRESS>

Codecov Report

Merging #249 into master will increase coverage by 0.66%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #249      +/-   ##
==========================================
+ Coverage   89.93%   90.59%   +0.66%
==========================================
  Files          18       18
  Lines         904      904
==========================================
+ Hits          813      819       +6
+ Misses         62       57       -5
+ Partials       29       28       -1

Impacted Files
Coverage Δ

ws/api/transport.go
82.89% <0%> (+7.89%)
:arrow_up:

Continue to review full report at Codecov.

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