Command loading inconsistencies

Commando supports reloading of its own internal commands. This, however, is used by first trying to reload the command from within the application commands and then, if that fails, try to reload from the internal Commando commands.
This approach does not enable a library creator to provide their own Commando commands that can be registered and reloaded the same way Commandos internal commands can. As well as some other issues outlined below:
Is this intended behavior or just an oversight? While we're at it, why are internal Commando commands reloadable, but not unloadable? And you can't load an unloaded commando command dynamically after the bot has ben started anyway.
Point being, if internal Commando commands are reloadable for a reason, that reason probably extends to commands in external libraries as well. If they are reloadable "just becaues", and it serves no actual purpose, the reloading of internal commands should be removed.
The current behavior is not very robust and have some rather unintuitive edge cases that could pose a problem for people trying to develop commands that override the internal commands:

Trying to dynamically load an internal command not loaded with registerDefaultCommands - fail
Trying to dynamically load an application command with the same name and group as an internal command - success
Remove application command source-file
Reload application command - successfully loads the internal command instead, due to application command now being removed

There are multiple paths to solidify the behavior of this:
1. Keep track of where a command got loaded from, and only try to reload a command from that specific path.
This will prevent reloading commands from another source than the one previously loaded
It will also enable the unload command to accurately unload the correct command, independent of the actual filename of said command. Currently, you can create a situation where if the name of the command corresponds not to its own filename, but another commands filename, the unload/reload commands will, as a result, not behave as expected
2. Allow for a list of paths to be searched for commands with load/unload/reload
This will enable dynamic loading/unloading of internal commando commands
This will also enable library creators to register their own internal commands to Commando for dynamic loading/unloading, further ensuring consistency of how commands are behaving.
Or, alternatively, disable all load/unload/reload functionality for internal commands, only make commands outside the application context dynamically loadable/unloadable.
In any case, only commands where we have a confirmed path, not inferred path, that it got required from should be considered unloadable/reloadable, as a false positive will result in undefined behavior
I'm up for the task of solidifying the behavior myself, as long as I know the intended behavior of the dynamic loading/unloading. If a maintainer could explain how it should work, I could get to work implementing it. I'll implement the changes as non-breakingly as possible, but any code that previously relied on this undefined behavior will, obviously, not work anymore

After discussion on IRC:
Internal commands should not be reloadable and get a flag similar to guarded which prevents reloading of said command
Inferred require path is intended behavior and should be kept

Reloading of built-in commands is 100% intended so that whenever Commando is updated and the only changes made are to built-in commands, you don't have to restart the bot. You're correct that there needs to be a mechanism to identify which source a command is loaded from, as this bug was identified in #124.


fixed line length not ignoring colored text

The change
Make line length not consider color characters

Pull Request Test Coverage Report for Build 61

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 59:
0.0%

Covered Lines:
179

Relevant Lines:
179

💛  - Coveralls

Pull Request Test Coverage Report for Build 61

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 59:
0.0%

Covered Lines:
179

Relevant Lines:
179

💛  - Coveralls


Vaious ishues

hello, i have various ishues

Team talk sdk doesnt extracts properly, the teamtalk5.dll is not present instead it downloads a big file, and puts it in a folder, you have to put the dll manually in root folder.
mpv.dll downloaded gives error in windows, dinamic link routine load error.
if you need more information i am available.

hello, i have various ishues

Team talk sdk doesnt extracts properly, the teamtalk5.dll is not present instead it downloads a big file, and puts it in a folder, you have to put the dll manually in root folder.
mpv.dll downloaded gives error in windows, dinamic link routine load error.
if you need more information i am available.

all of them are fixed now please check


Bicep visualizer points to parent resource instead of to child resource

Bicep version
Bicep CLI version 0.5.6 (5f2f88f0f0)
Describe the bug
In network interface using subnet reference as child resource (id: virtualNetwork::defaultSubnet.id) visualizer points to vnet:

instead of points to the subnet as it is when using reference as a separate resource (id: defaultSubnet):

To Reproduce
Use below bicep template (it's piece of code from this Learn module):

main.bicep
@description('The location into which the resources should be deployed.')
param location string = resourceGroup().location

@description('The virtual network address range.')
param virtualNetworkAddressPrefix string

@description('The default subnet address range within the virtual network')
param virtualNetworkDefaultSubnetAddressPrefix string

var virtualNetworkName  = 'ToyTruck-vnet'
var virtualNetworkDefaultSubnetName = 'default'
var networkInterfaceName = 'toytruckserver237'

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2020-11-01' = {
  name: virtualNetworkName
  location: location
  properties: {
    addressSpace: {
      addressPrefixes: [
        virtualNetworkAddressPrefix
      ]
    }
    subnets: [
      {
        name: virtualNetworkDefaultSubnetName
        properties: {
          addressPrefix: virtualNetworkDefaultSubnetAddressPrefix
          privateEndpointNetworkPolicies: 'Enabled'
          privateLinkServiceNetworkPolicies: 'Enabled'
        }
      }
    ]
    enableDdosProtection: false
  }

  resource defaultSubnet 'subnets' existing = {
    name: virtualNetworkDefaultSubnetName
  }
}

resource networkInterface 'Microsoft.Network/networkInterfaces@2020-07-01' = {
  name: networkInterfaceName
  location: location
  properties: {
    ipConfigurations: [
      {
        name: 'ipconfig1'
        properties: {
          privateIPAllocationMethod: 'Dynamic'
          subnet: {
            id: virtualNetwork::defaultSubnet.id
            // id: defaultSubnet
          }
          primary: true
          privateIPAddressVersion: 'IPv4'
        }
      }
    ]
    enableIPForwarding: false
  }
}

resource defaultSubnet 'Microsoft.Network/virtualNetworks/subnets@2020-11-01' = {
  parent: virtualNetwork
  name: 'default'
  properties: {
    addressPrefix: '<IP_ADDRESS>/24'
    delegations: []
    privateEndpointNetworkPolicies: 'Enabled'
    privateLinkServiceNetworkPolicies: 'Enabled'
  }
}

@shenglol - would you call this a bug? I think the behavior should be consistent as the two samples semantically mean the same thing. Thoughts?

Yeah, this should be a bug.


kaggle does not work with colab GPU runtime type

For some reason when I switch to GPU runtime type in Google Colab, and run the kaggle command
!kaggle competitions download -c quora-question-pairs it gives me
404 - Not Found
This is reproducible from my side.
And when I switch back to CPU everything works fine!
Not sure if that issue is related to Google Colab or kaggle command.

Experiencing the same on colab
Kaggle API 1.5.3
python3.6
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation:<PHONE_NUMBER>2675661975
, name: "/device:XLA_CPU:0"
device_type: "XLA_CPU"
memory_limit:<PHONE_NUMBER>4
locality {
}
incarnation:<PHONE_NUMBER>821152880
physical_device_desc: "device: XLA_CPU device"
, name: "/device:XLA_GPU:0"
device_type: "XLA_GPU"
memory_limit:<PHONE_NUMBER>4
locality {
}
incarnation:<PHONE_NUMBER>4232854823
physical_device_desc: "device: XLA_GPU device"
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit:<PHONE_NUMBER>9
locality {
bus_id: 1
links {
}
}
incarnation:<PHONE_NUMBER>045019095
physical_device_desc: "device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5"
]

same problem, the other day works fine, but suddenly it returns 404

If you are using Ubuntu or any other Linux distribution, try switching to Windows. I am not sure why but this actually worked for me.

How can you switch to Windows in Colab @jiteshm17

@Santiago8888, I did not mean a switch to Windows in Colab, I actually meant your desktop/laptop's OS. If your system's operating system is any Linux Distro and you get the 404 error while using the GPU runtime and if you also have Windows alongside Linux in your system(dual-booted), try running Colab in Windows (OS) with the GPU runtime enabled. Doing this worked for me. Hope this helps

I have the same 404 - Not Found issue with the NVIDIA T4 GPU. No issues with the CPU or Telsa K80 GPU. I wonder if they restricted access to the T4 GPU for Kaggle use as it would give kagglers access to more free high powered GPU compute. This issue is specific to the T4 GPU.

Cannot reproduce. The command !kaggle datasets list works fine in both CPU, GPU and TPU environments on colab.research.google.com/.


Add checksum generation during package build.

Add checksums to the package build steps.

Related to #7214.


[main] Update actions

Cron -knative-prow-robot
/cc knative-sandbox/networking-wg-leads
/assign knative-sandbox/networking-wg-leads
Produced by: knative-sandbox/knobots/actions/update-actions
Details:

/lgtm
/approve

/override codecov/project


Not receiving notifications on Teams iOS for a published app

Steps to reproduce
I have a published app in the Marketplace (via Microsoft Partner Center) and for Desktop (macOS included) and Android the app generates notifications correctly that show up as expected in the Activity tab but for Teams iOS I don't get any notifications at all.
At first I thought that they weren't working because I didn't have the Apple Team ID associated with my account, so I associated it and republished the app but still nothing.
I also tried to add the app as a local custom app instead and then I started receiving the notifications correctly but the deeplinks would send me to the install page for the published app instead of opening the custom app I had installed.
With this last test, I would assume that there is something missing related with the published app, since the app I added locally as a custom app is exactly the same package and it works.
Do you have any idea on why this is happening? I have been stuck with this for weeks now.
Expected behavior
I expect for the Teams app to receive the notifications (Activity tab) related to my published app on iOS in the same way it  receives those notifications on Desktop or Android.
Actual behavior
On Teams iOS (only) there are no notifications being shown in the Activity tab. Just when the app installed is the published one, if it is added as a local custom app, it works as intended.
Error details
No response

@diogoribeiro23 - Thanks for raising your query.
We will look into it and let you know the updates.

@diogoribeiro23 - Could you please share the deployed manifest and also repro video to investigate further?

@Nivedipa-MSFT Do you have an email that I can send these to?

@diogoribeiro23 - You can send mail to<EMAIL_ADDRESS>

@Nivedipa-MSFT Done! :)

@diogoribeiro23 - We are currently testing this out and will update you soon.

@Nivedipa-MSFT any news on this?

@diogoribeiro23 - Sorry for the delay. We have tested this at our end. But we are not getting filter options on desktop teams client.

We have tested this on Teams desktop client version 24137.2216.2931.2440.
Could you please share your Teams desktop version, iOS version and iOS Teams version?

@Nivedipa-MSFT - I am not sure I understand what you mean by "not getting filter options" (the relation with the reported issue).
Here are all the versions requested:
Teams Desktop: 24152.405.2925.6762
iOS: 17.5.1
iOS Teams: 6.10.1 (Build <IP_ADDRESS>4102601/0601)

@diogoribeiro23 - We are testing this out, facing some issue. We will let you know once we have any updates. Thanks.

@Nivedipa-MSFT - Is there any update on this? (as it is affecting our production environment)

@diogoribeiro23 - We have tested this on IOS version 17.5.1 and below Teams version but we are getting notifications at our end.

@Nivedipa-MSFT - Any updates? This is still affecting our production environment and people with Teams on iOS don't receive notifications for our published app.


Fixes 'outlook mail send' command for wrong validation message. Closes #3833

Fixes outlook mail send command for wrong validation message for bodyContentType. Closes #3833

Thank you @SmitaNachan
We'll review it ASAP!

merged manually. thanks for your awesome work 👍
you rock 🤩


Add context menu option for Image Search

Fixes #12
https://github.com/kagisearch/browser_extensions/assets/52493077/7a8cec37-124d-41ad-979c-f3bbb08590a9

Tested in Firefox and Chrome, amazing work, thank you!


Support iOS 14

It seems like images are currently not displayed when running on iOS 14.

Fixed by https://github.com/AndreaVitale/av.imageview/pull/91


Blank PDF If there are more than 5 images

When I try to export pdf from a page which has more 5 images it generates blank pdf and when I change some options it generates black pdf
these are the options I use
var opt = {
margin: 1,
filename: 'Export.pdf',
image: {type: 'jpeg', quality: 0.98},
html2canvas: {scale: 5, imageTimeout: 10},
jsPDF: {unit:'mm', format:'letter', orientation:'p'}
};
html2pdf().from(element).set(opt).save();
Notice: it works when the page contains less than 5 images, this issue appears when the page has more than 5 images

@eKoopmans any suggestions for this, please ?!

How are you suppose to close it without resolving?

@eKoopmans ?

Hi, this is known issue 6 from this list:
https://github.com/eKoopmans/html2pdf.js#known-issues
Unfortunately, the only current solutions are to:

reduce the size of your image (the easiest candidate is reducing the scale value), or
split it into multiple PDFs

@eKoopmans reducing the scale worked for me. but the thing is that I am getting my pdf file of around 250-300mb which is a lot. is there any way to optimize the pdf size?

Haha yep that is a lot! The thing is, it's literally creating images of the content, so the complexity of those images and the image quality will have a direct impact. You could try reducing the quality of the image, e.g. switching to jpeg if you're using PNG, and reducing the quality of the jpeg.


stress ran out of memory during add_50_nodes_test

scylla version a3a7bea
scylladb/scylla-dtest version 8126bd1
Seen in [dtest-release/41/testReport/update_cluster_layout_tests/TestLargeScaleCluster/add_50_nodes_test)(http://jenkins.cloudius-systems.com:8080/view/master/job/scylla-master/job/dtest-release/41/testReport/update_cluster_layout_tests/TestLargeScaleCluster/add_50_nodes_test/):
Running with 609 threadCount
Running READ with 609 threads for 300000 iteration
type       total ops,    op/s,    pk/s,   row/s,    mean,     med,     .95,     .99,    .999,     max,   time,   stderr, errors,  gc: #,  max ms,  sum ms,  sdv ms,      mb

stderr: java.lang.OutOfMemoryError: unable to create new native thread
	at java.lang.Thread.start0(Native Method)
	at java.lang.Thread.start(Thread.java:717)
	at org.apache.cassandra.stress.StressAction.run(StressAction.java:239)
	at org.apache.cassandra.stress.StressAction.runMulti(StressAction.java:146)
	at org.apache.cassandra.stress.StressAction.run(StressAction.java:87)
	at org.apache.cassandra.stress.Stress.run(Stress.java:143)
	at org.apache.cassandra.stress.Stress.main(Stress.java:62)
...
Stacktrace
  File "/usr/lib64/python2.7/unittest/case.py", line 367, in run
    testMethod()
  File "/jenkins/workspace/scylla-master/dtest-release/scylla-dtest/update_cluster_layout_tests.py", line 1596, in add_50_nodes_test
    node2.stress(['read', 'cl=QUORUM', 'n=%s' % n, 'no-warmup', '-pop seq=1..%s' % n])
  File "/jenkins/workspace/scylla-master/dtest-release/scylla-ccm/ccmlib/node.py", line 1126, in stress
    "stderr: {stderr}\n".format(**locals())
Stress command exited with error code: 1

Should we use different parameters to stress?
Should we catch this particular exception and just retry?  do that only in add_50_nodes_test?

Meant to open in scylla-dtest (though a generic fix may end up in scylla-ccm)...

closing this issue the problem is in dtest


[Bug] Unknown error

I just upgraded my router form RT AC86U to RT AX86U. Asusrouter intergration used to work just fine. Now with new router add asusrouter integration ends with unknown error.
This error originated from a custom integration.
Logger: custom_components.asusrouter.config_flow
Source: custom_components/asusrouter/config_flow.py:584
Integration: AsusRouter (documentation, issues)
First occurred: 09:44:43 (1 occurrences)
Last logged: 09:44:43
Unknown error of type '<class 'homeassistant.exceptions.ConfigEntryNotReady'>' during connection to <IP_ADDRESS>: ('Unknown error code 10', None)
The official AsusWRT integration works with new router.
Home assistant setup is the same as Whitetigerswt, exept running HASSOS 9.3 on RPI4.

Originally posted by @jullimullins in https://github.com/Vaskivskyi/ha-asusrouter/issues/414#issuecomment-1369475379

Hello, @jullimullins,
Please, let me know whether you have managed to set up AsusRouter with your new RT-AX86U or do you still experience an Unknown error code 10 error as quoted from your post above.
If so, please, answer the following:

Can you login into the Web UI of the device from the browser?
When setting up the configuration, do you select to use SSL connection?
Do you select the connection port manually?

The reason for the error code 10 found - this is a captcha request from the device
The integration will implement the correct message

I got this same error today and the integration isn't loading:

This error originated from a custom integration.

Logger: homeassistant.config_entries
Source: custom_components/asusrouter/bridge.py:173
Integration: AsusRouter (documentation, issues)
First occurred: 03:53:23 (1 occurrences)
Last logged: 03:53:23

Error setting up entry AiMesh - Router for asusrouter
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 383, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/config/custom_components/asusrouter/__init__.py", line 26, in async_setup_entry
    await router.setup()
  File "/config/custom_components/asusrouter/router.py", line 632, in setup
    await self.bridge.async_connect()
  File "/config/custom_components/asusrouter/bridge.py", line 173, in async_connect
    await self.api.async_connect()
  File "/usr/local/lib/python3.10/site-packages/asusrouter/asusrouter.py", line 253, in async_connect
    raise ex
  File "/usr/local/lib/python3.10/site-packages/asusrouter/asusrouter.py", line 251, in async_connect
    await self.connection.async_connect()
  File "/usr/local/lib/python3.10/site-packages/asusrouter/connection.py", line 298, in async_connect
    response = await self.async_request(
  File "/usr/local/lib/python3.10/site-packages/asusrouter/connection.py", line 210, in async_request
    raise AsusRouterResponseError(
asusrouter.error.AsusRouterResponseError: ('Unknown error code `10`, please report it', None)

Please let me know if you want more info. I'm not in a rush, so I can run some test if that would be useful for you.

Hello, @edwardtfn, sorry for the late reply. Unfortunately, this error cannot be processed anyhow from the integration point of view, except of just notifying the user properly. The latest will be available with the next integration version

The error origin is the request from the device to enter a captcha. This might happen with too strict device rules or if a wrong password was used several times lately. The only 'fix' will be to login to the device Web UI from the same IP as the integration tries, properly in a browser - then the captcha request will reset. Or to just wait for some time. Or remove captcha completely in the device settings

Usually I restart HTTP daemon in asus router and this helps in 99%. However not sure what is triggering and why HTTP got stacked.
service restart_httpd

The issue is fixed in 0.23.0b0 and later. The error code is reported correctly by the integration


Create how-to-catch-outgoing-emails-locally.md in german

Translate english version to german

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Closes #XXXXX

Hi @Plingooo same as your previous pull-request can you get this PR reviewed


Fix a few simple linter warnings: unused code, govet warnings etc.

Because deadcode is bad code!

/assign @vagababov

/cc @coryrc
For the test logging change.


docs: npm link from src instead of from dist

npm link from /dist means a build must be run for every small change made in the library before the change is reflected in the test demo app. This results in a tedious dev workflow. npm link from src should be the way to do it in dev mode.

I agree that it is tedious and should probably be automated with a watcher.
Although linking the src would circumvent this, I feel it would defeat the purpose of verifying whether the resulting bundle in dist works as expected and is AOT compatible.
So I think an automated build process that watches src and regenerates dist when a change happens, would be more beneficial than linking src.
What are your thoughts? Thanks!

Good point! Sounds good. But, I'm just thinking about how Angular CLI addresses this. You develop your app, add all your modules, components, etc and the resulting dev build is not AOT, just for dev purposes. They actually talked about this in ngconf, and the conclusion was "we ultimately want to run a build --aot even in dev mode so you can check whether or not your app is AOT compatible, but now it takes a lot of time to generate the aot bundle. We want to get there, but we're not there yet".
So, according to this, in my opinion, if we want to give devs an agile dev process, I guess npm link from src is the right way to do it. But we can try having the automated build process on top of a watcher, as you suggest, and see if it adds too much overhead or not. Right now the build process doesn't take too much to finish, so that could be a good idea as well :)

Agree, both sides have valid pro's and cons.
I think linking the dist directory is a little safer to avoid the following scenario:

developer writes code
developer links src directory
developer import library in local app (using npm link lib) and verifies that library works correctly
developer builds dist
developer publishes dist to npm
developer notices that published version has error because the bundled version in dist does not work as expected

Therefore I would be safer to recommend linking the dist to catch errors before they are published to npm.
Currently the build script is plain bash so we'll have to figure out how we can add a watcher.

Great. You got good points. I'm almost done implementing a gulp task to do exactly what the bash file does. We can then add a task to watch for the src folder and run the build task after that. This is just an alternative, but we can try more. I'll do an initial PR so we can discuss on top of that, if that makes sense to you.

Gulp sounds good, although it may be overkill for what we are trying to do right now.
I have just released v8.2.0, which has a script to re-run the build script when a file in src changes:
$ npm run build:watch

Depending on how the official guidelines evolve (e.g. for inlining templates), we may have to resort to using a task runner like gulp, so if you are up for a challenge, I'm definitely open to trying it as alternative.

Therefore I would be safer to recommend linking the dist to catch errors before they are published to npm.

I agree with you @jvandemo , is safer this way. And @caroso1222 hopefully the AOT compilation process speeds up in the upcoming weeks.
As to gulp vs bash:
In the name of many Windows users, I like to add that bash scripts represent an obstacle for us 😢:
Commands like rsync or cp are not natively available so we can't just run the bash script.
One alternative is to install third-party libraries to simulate the same behavior, which I've been trying ever since the release of 8.1.0 with no success.
Adhering to what the Angular team proposes is a good idea, but in the meanwhile and in order to keep this tool available for a wider audience, I'd favor Gulp over bash.

Thanks for your input, Juan. I'm already done with the gulpfile, it's working great. I'll be opening a PR tonight so we can discuss on that, if that makes sense to you guys.

@jdjuan — Agree—ideally, the build process should work seamlessly on Mac, Linux and Windows. Thank you for your input.
@caroso1222 — Sounds awesome. Looking forward to seeing your PR. Thanks again for your help 👍

Hey, sorry didn't have time to properly structure a PR, but the gulpfile is here in a project I'm working on with @jdjuan.
https://github.com/jdjuan/ng-notyf/blob/master/gulpfile.js

Quick update: v9.0.0 now contains gulp 👍


Blazor Asteroids added to community.md samples

Add Blazor Asteroids sample, alphabetically.
repo: https://github.com/aesalazar/AsteroidsWasm/
demo: https://aesalazar.github.io/AsteroidsWasm/

@danroth27 Sorry to have to tell you this based on @aesalazar's app here ... but my productivity on the docs just went right down the drain! :smile: lol
Great job @aesalazar! ... This is my new favorite Blazor app! :tada:

Another note @aesalazar ...

When you get up to the very high scores ... many roids on the playing field ... the algorthym that tries not to plop you down right in a glide path takes several minutes to put your next ship out. You might want to just have a spacebar-appear option for the player in case they don't want to wait any longer.
Again, nice job on this! LoVe It! ........... ok .... now back to real work! ⛏

I sent a PR to at least get the game to render in Edge, but keyboard controls don't seem to work. Might be related to https://github.com/aspnet/Blazor/issues/1290.

@guardrex LOL  Thats some score.  I will create a ticket for myself for the space bar idea.  That will take a little effort.  Nothing terrible but not a 5 min thing.
@danroth27 Thanks for the PR to fix the Edge error.  For the keyboards, it looks like the trick to use tabindex="-1" so I can do blazor-side Key Up/Down event handlers doesnt work in Edge :/.  Looks like I will have to go back to Interop.  Should be easy enough to revert.

Thats some score

I have quite a bit of experience. I mean I played A LOT of Asteroids ... for real ......
"for real" ....... as in I played it in an arcade when it came out in 1979! Yikes! lol 👴

@danroth27 Ok, updated the demo and seems to be fully working in Edge for me:

@guardrex  That is slightly before my time.  I started playing it in the 80's on Atari 👍

One other thing ... it loads to say "Game Over" ... there's no indication that the player should tap an arrow key to get the game started.
btw -- Tweeted it, too. https://twitter.com/guardrex/status/1050733255102816257
Next??!! ... Blazor Missile Command ?????

@guardrex :
https://www.c-sharpcorner.com/article/missile-command-net/
Totally!!!!


Recovery code

Pull Request Test Coverage Report for Build 1616
Details

6 of 6 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 88.633%

Totals

Change from base Build 1615:
0.0%

Covered Lines:
2347

Relevant Lines:
2648

💛  - Coveralls


Integrated terminal prompt erases history output when remote directory was opened

VSCode Version: 1.42.0/1, and vscode insiders with Remote SSH Nightly
OS Version: Local: Windows 10 or Linux (test on x86-64 kernel 5.4)

remote ssh terminal error.zip
The zip file contains a video which shows the error.
Steps to Reproduce:

Use the newest vscode or  vscode insider and the remote ssh extension to connect to a remote host. I have tested with remote ssh nightly as well as 0.49, 0.48 and 0.47
Open a directory or workspace. I have not encountered this error when no remote directory is opened.
Open the integrated terminal, and then close it (with Ctrl+J) after executing some commands.
Reopen the terminal again, you will find that some of the history output will be deleted as the prompt has shifted up several lines by error.

Does this issue occur when all extensions are disabled?: Yes/No
Yes. I have tested on vscode insider only with Remote SSH Nightly installed.

I have checked submitted issues, and did not find one with similar error.

Interesting, this looks like it could be a Windows only issue, are you sure you saw it on Linux?

OS Version: Local: Windows 10 or Linux (test on x86-64 kernel 5.4)

Can you clarify this for which local and remote OS's, including the Windows build number (run ver in cmd.exe) whether it's both local and remote.

Hi @Tyriar, I have two client machines which run Linux and Windows respectively. Both of Vscode on them have encountered this error.
And the server runs Linux.
And, the error exists no matter how I choose which shell such as bash or zsh.

And the server runs Linux.

@milesxu oh ok, you're connecting to the same machine from both clients, I get it.
Can you enable escape sequence logging and check what gets printed in the console when you try to repro?

I have tried to copy the texts only, but I cannot make them readable. So I capture the screen above.

These images are captured when on a Windows 10 client which was connected to a Linux server by Remote SSH.
If you need debug info on a Linux client, I can capture some when I go to work tomorrow.

Hmm, not exactly what I was expecting. Toggling it on should show this in the logs (even for remote workspaces) when any changes occur in the terminal:

I think the info surrounded by red rectangle is what you need. It's outputted when I close or open the terminal.
This is captured on a Linux client connected with a Linux server.
Sorry for the unreadable letters. If you can tell me how to set a font to show these letters, I will try again.
And I will capture another one on a Windows client again

Sorry for the unreadable letters. If you can tell me how to set a font to show these letters, I will try again.

Ok so the interesting part here is that [A part on the last line, that is your shell telling the terminal to move the cursor up, at which point it goes through the regular prompt (styles, erase current line and below, print prompt). I can't tell you why it's happening but it's definitely your shell erasing the line as it's instructing the terminal to do so.
Something else we could check is to enable trace logging mode (F1, "log level"), then hide and show the terminal and then check the output channel "Log (Remote Extension Host)"

That will tell us what native calls are happening to the underlying pty. Looking for log messages containing IPty# like this:
[2020-04-08 05:56:45.612] [exthost] [trace] IPty#resize 203 26

Thanks a lot!
But if this is only the problem of my systems, why I have got this error on different clients?
And if this is the problem of my systems, could you please help me to find and solve this problem?

@milesxu so this is what's logged from only toggling visibility via ctrl+j? Is so, that's very likely the issue that it's getting resized to a very small size and then back up again:

But if this is only the problem of my systems, why I have got this error on different clients?

Pretty sure the issue is server side, not client.

I can't reproduce here unfortunately though, toggle visibility always just resizes to the same size which shouldn't cause problems 🤔
[2020-04-08 07:28:47.492] [exthost] [trace] IPty#resize 203 29
[2020-04-08 07:28:47.492] [exthost] [trace] IPty#resize 203 29
[2020-04-08 07:28:48.389] [exthost] [trace] IPty#resize 203 29
[2020-04-08 07:28:48.964] [exthost] [trace] IPty#resize 203 29
[2020-04-08 07:28:49.536] [exthost] [trace] IPty#resize 203 29
[2020-04-08 07:28:50.049] [exthost] [trace] IPty#resize 203 29

Yes, all your captured info is produced by vscode when I only use ctrl+j and ctrl+~.
So is there any other info can be traced by me to find the problem?

@milesxu can you reproduce this on Linux locally? If so you could potentially debug it if you're up to it by checking when this gets called:
https://github.com/microsoft/vscode/blob/16a06751fe9da1a82c7791674e74db87ebd9dd10/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.ts#L247

@Tyriar I do no understand how to do.
Do you mean I should not use remote ssh, and debug vscode on a linux client?
Could you please tell me the detail steps?

@milesxu if you can reproduce it in a regular local Linux window (not SSH) then you could debug by setting up the repo with these instructions https://github.com/Microsoft/vscode/wiki/How-to-Contribute#build-and-run
Don't feel obligated to do that of course. Additionally I have a feeling this is related to remote only as I've also had this reported for ssh as well here https://github.com/microsoft/vscode/issues/92258#issuecomment-610689047

It's a pity that I haven't got this error on local machines, neither Windows or Linux.
If I got it on Linux, I will try debugging it.

This issue appears to have been resolved in the new release.

I have some doubt about this.
It's true that I cannot find any text erased by prompt when I am using VS Code 1.45.
However, when I use tmux in a remote integrated terminal, each time when I reopen the terminal, there is a bright line flashing in it (but the contents in terminal are remained intact).
Before VS Code 1.45, if I use tmux in a remote integrated terminal, reopen it would cause all the contents in tmux disappeared.

Yes, I also encountered this problem, the bright flashing line looks like the bottom status bar of tmux，anyway, there is not much inconvenience now for me :)

This issue appears to have been resolved in the new release.

This issue appears in vs code insiders 1.47.0 with attached files inside in ${workspaceFolder}/.vscode/
settings.json.txt
c_cpp_properties.json.txt
launch.json.txt
If I remove these files and start fresh, this issue doesn't come.


Make TF Eager the default runtime.

We need this for the jupyter notebooks and this is the future anyway. :)

@swift-ci please test tensorflow

You can also remove this line in tests which turns on usesTFEagerAPI explicitly.
This is done as well.

I will merge this after https://github.com/apple/swift/pull/19865 that disables the test.


Establishing a SASL connection on macOS

Hi,
It's okay if this question is out of scope of this crate and you close this issue. I'm hoping to understand working with SASL.
At the moment, I'm using simple_bind with username and password. This may not be relevant, but I am working on macOS and can get my AD info using klist and authenticate myself using kinit.
How do I use sasl_external_bind to achieve the same thing without username and password?

You can't, since sasl_external_bind() is specialised for the SASL EXTERNAL mechanism. For Kerberos and AD, you'd need GSSAPI, which is something I thought about, but don't plan to support soon.


Is there a way to include comments inside the generated SQL statement?

What do you want to change?
Hi!
I'd like to use sqlmw interceptors with sqlcache.
sqlcache relies on query "annotations", like so:
-- name: GetUsers :many
-- @cache-ttl 30
-- @cache-max-rows 10
SELECT * FROM users;

However, upon generating the code, those comments get stripped out and instead got shoved on top of the generated Go method. Is there a way to prevent this from happening?
// @cache-ttl 30
// @cache-max-rows 10
func (q *Queries) GetUsers(ctx context.Context) ([]User, error) {

What database engines need to be changed?
PostgreSQL
What programming language backends need to be changed?
Go

Currently there isn't a way to change this behavior, but your use case makes sense.


Update base debian:10.1-slim -> bullseye-20200224-slim

Includes security updates for:

libidn2.0

LGTM, @johngmyers  can you please confirm too

actually this is ok. we can merge it.


login, signup, navigation and react-bootstrap implementation

establish a develop branch locally (git checkout -b develop)
pull origin develop (git pull origin develop)
go back to yours (git checkout nkatha)
merge develop and yours (git merge develop)
if there are conflicts fix those locally and then when they are fixed do another push to github (git push origin nkatha)
create a pull request from nkata branch to develop branch in github
and merge it there.


You can change that picture into a serrated

@cradonn

If you want to customize the look and feel you can add your own custom css.
How to do it was outlined in the documentation: https://docs.fluidplayer.com/layout_configuration/#custom-icons-style


[CI][Release][Python] sdist generates different filename with setuptools 69.2.0 and 69.3.0

Describe the bug, including details regarding any error messages, version, and platform.
https://github.com/apache/arrow/actions/runs/8666239730/job/23766621006#step:7:59
<["dist/pyarrow-16.0.0a0.tar.gz"]> expected but was
<["dist/pyarrow-16a0.tar.gz"]>

69.2.0: pyarrow-16.0.0a0.tar.gz
69.3.0: pyarrow-16a0.tar.gz
https://github.com/pypa/setuptools/pull/4286 will be related.
Component(s)
Continuous Integration, Python, Release

https://github.com/pypa/setuptools/issues/4302
We don't need this because the behavior is reverted.


Extended responseDecodable for JSONDecoder injection

And also added test for responseDecodable

Also, tests require a swift(>=3.2) guard.

Done and committed
It is not clear to me how I can run Travis CI on it.
Sent from my iPhone

On 25. Feb 2018, at 23:45, Max Howell<EMAIL_ADDRESS>wrote:
Also, tests require a swift(>=3.2) guard.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Sorry somehow I missed your commit.

It is not clear to me how I can run Travis CI on it.

Travis runs automatically.


Can't execute search against a Data Product with hundreds of assets

When trying to use the Filter assets... search box on the Assets page under a Data Product with hundreds of assets, I get the following error popup:

Looking at the GMS logs, I see:
2024-10-07 17:02:09,905 [ForkJoinPool.commonPool-worker-4073] ERROR c.l.d.g.r.d.ListDataProductAssetsResolver:171 - Failed to execute search for data product assets: entity types [], query test, filters: [], start: 0, count: 10

2024-10-07 17:02:09,905 [ForkJoinPool.commonPool-worker-4074] ERROR c.datahub.graphql.GraphQLController:147 - Errors while executing query: query listDataProductAssets($urn: String!, $input: SearchAcrossEntitiesInput!) {  listDataProductAssets(urn: $urn, input: $input) {    ...searchResults    __typename  }}fragment searchResults on SearchResults {  start  count  total  searchResults {    entity {      ...searchResultFields      __typename    }    matchedFields {      name      value      entity {        urn        type        ...entityDisplayNameFields        __typename      }      __typename    }    insights {  ..., result: {errors=[{message=An unknown error occurred., locations=[{line=2, column=3}], path=[listDataProductAssets], extensions={code=500, type=SERVER_ERROR, classification=DataFetchingException}}], data={listDataProductAssets=null}, extensions={tracing={version=1, startTime=2024-10-07T17:02:09.815761075Z, endTime=2024-10-07T17:02:09.905829636Z, duration=90069538, parsing={startOffset=2758768, duration=2735935}, validation={startOffset=10412041, duration=7643216}, execution={resolvers=[{path=[listDataProductAssets], parentType=Query, returnType=SearchResults, fieldName=listDataProductAssets, startOffset=15339882, duration=74591642}]}}}}, errors: [DataHubGraphQLError{path=[listDataProductAssets], code=SERVER_ERROR, locations=[SourceLocation{line=2, column=3}]}]

In elasticsearch, the log is
"Caused by: org.elasticsearch.ElasticsearchException$1: bytes can be at most 32766 in length; got 37986",

I think this has to do with pre-fetching all the entities that are with the data product, and that exceeds a max bytes? https://github.com/datahub-project/datahub/blob/7884c855a9776524ecb98ffb1d78dc575e629256/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/dataproduct/ListDataProductAssetsResolver.java#L183
Is there a workaround for this?

Hi there! Unfortunately, for Data Products many hundreds of assets are currently not supported. For now, you should be able to change the elasticsearch settings to increase the max query size by changing the http.max_content_length parameter for elastic!

Also trying to understand why you have so many assets in a Data Product? We did not expect Data Products to take that level of scale :)

Also trying to understand why you have so many assets in a Data Product? We did not expect Data Products to take that level of scale :)

We have a situation where we have hundreds of datasets that represent the same type of data, but for different specific items. So grouping them as a Data Product makes sense because they are all logically the same data, but different instances of it.

Makes sense. At this time we don't have any plans to change this behavior. We are open to contributions that may improve performance here


Fix missing ##FASTA directives, better handling of feature scores

Previously, the GFF3Writer failed to write the ##FASTA directive for output containing sequence records. Also, the Feature class used a single format for printing all numeric values, which was not ideal for small integers, floating point real numbers, and large integers in scientific notation.
This PR introduces fixes to these two problems.

Current coverage is 100% (diff: 100%)

No coverage report found for master at 40daa4b.

Powered by Codecov. Last update 40daa4b...620702f


🔧  Adjust codecov config

This contains the same change as the other PR, right? 🙃

This contains the same change as the other PR, right? 🙃

Not only that, this PR mainly changes the codecov config. I was wondering why the error of the other PR has not been revealed since the code coverage according to the badge was 100%. Apparently, I had a bad configuration of codecov and it did not calculate the coverage correctly.

This contains the same change as the other PR, right? 🙃

Not only that, this PR mainly changes the codecov config. I was wondering why the error of the other PR has not been revealed since the code coverage according to the badge was 100%. Apparently, I had a bad configuration of codecov and it did not calculate the coverage correctly.

Yeah, saw that. But then only one of those PRs is really necessary, right? 🙃

This contains the same change as the other PR, right? 🙃

Not only that, this PR mainly changes the codecov config. I was wondering why the error of the other PR has not been revealed since the code coverage according to the badge was 100%. Apparently, I had a bad configuration of codecov and it did not calculate the coverage correctly.

Yeah, saw that. But then only one of those PRs is really necessary, right? 🙃

I wanted to merge the other one first to preserve the separation of concerns. As soon as that one is merged, this does only change the config.


Expose engine's stop and start functions.

Engine continues polling after code execution is done, resulting in Dapple hanging instead of exiting. There needs to be some way to stop block polling.

Thanks @ryepdx. Quick question. How are you using the TestRPC within your application? i.e., are you using TestRPC.server() or TestRPC.provider()? I have tests that use both methods to instantiate the provider and neither have an issue with keeping the process open.
Here's my guess:

Either you're using var server = TestRPC.server(), and forgetting to call server.close() when you're done; OR,
You're using var provider = TestRPC.provider() and I'm stumped as to why that would keep the process open (i.e., its for the reasons you mentioned).

If it's not the first case, can I see the code that's using the provider? Is it open-source? I'd love to investigate this myself so I at least understand what's going on before accepting the PR - though I'm happy to accept once I do. That said, the provider-engine will soon be removing block polling by default, and there might be a way that we can get away without block polling, so I'd like to investigate that as well.

@ryepdx Hey can you confirm if this PR is still valid, or if @tcoulter's suggestions are sufficient for your use case. Will close this PR in 7 days if we don't hear from you. Thanks!

This pull request should fix your issue once it's been merged.

This has been fixed, and is now available in v2.2.4. You shouldn't have to stop the engine anymore, hence no need to expose it. Cheers!


NOT WORKİNG AT ALL

When I try to add YT video url and push the "Generate summary" button it gives me error! The error is that "Error: [YoutubeTranscript] TypeError: Cannot read properties of undefinied (reading 'transcriptBodyRenderer'). So I can't use the plugin...

Same. Just tried now

Does not work for me either.

See https://github.com/langchain-ai/langchainjs/issues/4994

@Medullitus thanks for opening this issue -- I was also experiencing it, but haven't had time to dig in or debug
@hardchor -- thanks for the reference link -- very helpful!
@ozdemir08 I started looking into this today.
I updated my local package.json with the latest version of youtube-transcript "youtube-transcript": "^1.2.1" and ran some tests:
Created a new test.mjs file:
import { YoutubeTranscript } from "youtube-transcript";
YoutubeTranscript.fetchTranscript("https://www.youtube.com/watch?v=nJ660t5ku9A").then(console.log);

And ran it with node src/test.mjs and was able to get the transcript data back -- no issues.
While running it in the plugin loaded in Obsidian though, I'm seeing a CORS error:

This fetch from YoutubeTranscript seems to be failing:

I found one possible solution, but haven't tried it out yet: https://github.com/wanadev/obsidian-http-request -- this runs a proxy and wraps the requests so that CORS errors are bypassed.  Implementing this would probably require us to bring in the fetchTranscript functionality from YoutubeTranscript, which I don't really like.
@hardchor @ozdemir08 & others -- do you have any suggestions?

YoutubeTranscript Pull Request created here: https://github.com/Kakulukian/youtube-transcript/pull/35
@ozdemir08 @hardchor & others - please review
Once these changes are in, then TranscriptSummarizer.ts can be updated with this:
import { request } from "obsidian";
...
export class TranscriptSummarizer {
...
  async getSummaryFromUrl(url: string): Promise<string> {
  ...
  const ytt = new ObsidianYoutubeTranscript(url);
  const transcriptList = await ytt.fetchTranscript();
  ...
  }
...
}

class ObsidianYoutubeTranscript extends YoutubeTranscript {
	videoId: string;
	videoPageBody: string;
	transcriptBody: string;

	constructor(videoId: string) {
		super();
		this.videoId = YoutubeTranscript.retrieveVideoId(videoId);
	}

	public async getPageBody(): Promise<string> {
		const videoPageResponse = await request(
			`https://www.youtube.com/watch?v=${this.videoId}`
		);
		this.videoPageBody = videoPageResponse;
		return this.videoPageBody;
	}

	public async getTranscriptResponse(transcriptURL: string): Promise<string> {
		const transcriptResponse = await request(transcriptURL);
		this.transcriptBody = transcriptResponse;
		return this.transcriptBody;
	}
}

And the plugin seems to work:


Updates for Gaea C4 and C5, Hera (openmpi), Hercules

Description

[x] instructions for installing 3rd party dependencies on Hercules
[x] installation of 3rd party dep on Hercules in role account space and update of config here
[x] installation of spack-stack-1.3.1 on Hercules
[x] instructions for installing 3rd party dependencies on Gaea C5
[x] installation of 3rd party dep on Gaea C5 in role account space and update of config here
[x] installation of spack-stack-1.3.1 on Gaea C5
[x] installation of spack-stack-1.3.1 on Gaea C4
[x] instructions for building openmpi on Hera with GNU
[x] general documentation updates for Hercules, Gaea C4, Gaea C5, Hera w/ GNU
[x] Fix and update readthedocs build
[x] Update submodule pointer for spack to include latest metplus version (https://github.com/NOAA-EMC/spack/pull/234)

Notes
To be merged after #545
Issues
Working towards #562
Dependencies
None

These are doc/site config updates only that are not tested in CI. The submodule pointer update for metplus was tested in a previous draft PR that got closed after testing. Therefore merging w/o full CI tests.


Move David to alumni

Unfortunately, combining a job as CTO of a startup, and maintaining Docker is too much to combine, so David asked to be moved to the alumni section.
Thanks for all the awesome work on Docker!
And, because @calavera likes a good coffee :smile:

ping @docker/core-engine-maintainers

ping @calavera feel free to close, to get up in the ranks of "dream killers" :smile:

LGTM 😢

😭


App  Engine Deployment run config editor should validate that there are credentials for the currently selected project

If the user selects a project for deployment, saves, logs out, then when they re-open the run config they should be made aware that the selected project doesn't have valid creds.

deployment output shows "permission is required"


Virtual Cards release

Related to https://github.com/opencollective/opencollective/issues/1272

[x] don't pass the values in query params, just pass the id of the virtual card and fetch the data from the frontend
[x] Show the transactions made with the virtual card on the profile page of the owner of the source payment method
[x] Show the payment method details along with the transaction (to show the owner of the source payment method)

Enhancement

[ ] Enhancement: Marketing Landing Page
[ ] Enhancement: Client side balidation of the code

General

[ ] Change link in email for the version with code, nor hardcoded parameters

Backend

[ ] createPaymentMethod should not accept queries without a paymentMethodId

Unauthenticated experience

[ ] No email explaining the account creation.
[ ] Check content of user.card.claimed email
[ ] "select €100 card from New Order" check that it's appearing like that

Authenticated experience

[ ] Should we send an email or not. Check the email content.
[ ] "Hello again, anonymous!" Hello again is not appropriate.

Redeemed page

[X] Make sure it's only accessible for owner.
[ ] Make sure invalid codes are handled.

Payment

[ ] Rename Credit Card -> Payment Method
[ ] Replace "anonymous - virtualcard €100 card from New Order" -> "anonymous - €100 Gift Card from New Order - exp 01/2019"
[ ] Use different emoji that Credit Card to differenciate
[ ] Remove "Use a Gift Card"

Consistent wording:

[ ] Redeem
[ ] Redeemed
[ ] Gift Card
[ ] Virtual Card (should never appear)
[ ] Claim (should never appear)
[ ] Claimed (should never appear)

Enhancement

[ ] Future VirtualCards implementation: possible risk of double spending? #1412

Bug fix

[ ] Zombie gift cards: if user ends up with a balance < $0.50 on its VirtualCard, he won't be able to use them (minimum amount for a transaction is $0.50). We should keep this minimum amount to avoid having too much micro-transactions, but should not allow to spend $9.99 for a $10 gift card.

Closing this giant issue. Following up in smaller ones.


better error handing

Currently errors dont have a standard interface some of the them return strings, some cause 500 errors because items fail to import. Should catch the errors and return a standard:
{"error": "error msg"}
JSON response

Partially fixed in https://github.com/seanbreckenridge/HPI_API/commit/0f1844c24bd4b8b3fc3df689efa03ac19ef79dbc, need to add a handler/wrapper for JSOn serialization failures, still causes 500 errors

Resolved in https://github.com/seanbreckenridge/HPI_API/commit/fe4197a9bc3ebef01a62b8fd6757330b86405197


MissingPluginException

this is the error i got wen ever  i try to launch the window webview
[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: MissingPluginException(No implementation found for method requestPermissions on channel flutter.baseflow.com/permissions/methods)
#0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:175:7)

#1      MethodChannelPermissionHandler.requestPermissions (package:permission_handler_platform_interface/src/method_channel/method_channel_permission_handler.dart:71:9)

#2      PermissionActions.request (package:permission_handler/permission_handler.dart:44:31)

#3      FuturePermissionStatusGetters.isGranted (package:permission_handler_platform_interface/src/permission_status.dart:90:40)

Due to the limit of flutter , you can not use method channel in widget which run by runWebViewTitleBarWidget.

Due to the limit of flutter , you can not use method channel in widget which run by runWebViewTitleBarWidget.

Does this limitation apply to any plugin that uses method channel?
I am unable to use any plugin that will assist with removing the titlebar on the 2nd window
Any suggestions would be appreciated


Remove flake8-import-order and install flake8-bugbear

Remove flake8-import-order from Pipfile and pre-commit-config.yaml as it isn't compatible with our style of import order, we can design a proper way to do this later
Install flake8-bugbear to catch some bad code practices

This is a critical PR since flake8-import-order currently causes problems with all other PRs, until that's fixed I've removed it,
I'm overriding common practices to wait for approvals as this needs to be done now, otherwise, all other PRs are pending


Show at mentions in RemoveMarkdown renderer

Summary
At mentions were not showing in RemoveMarkdown renderer. This PR makes them visible as the design.
Ticket Link
https://mattermost.atlassian.net/browse/MM-55265
Release Note
Fix mentions not appearing in the global thread view.

Building app in separate branch.

Building app in separate branch.


can't authenticate to PGB

I can't seem to authenticate to PGB and populate a list of apps i have on PGB. I have outline the steps below that brings me to the loader on the login screen.  I'm testing on the iOS simulator.

Installed Phonegap 6.4.2. and downloaded repo and installed the iOS platform.
Obtain API oauth client credentials (a CLIENT_ID and CLIENT_SECRET) and entered them in the CDVPhonegapBuildOauth.m (btw -Main application url and Callback url should be http://phonegap.com?)
I have successfully logged to pgb and allowed the app to use the application.
Last, it returns me back to the start page and the loader appears but nothing happens.

I suspect that it can't authenticate to PGB to populate the list.

The problem was not authentication. v2 is passing in null and can't be split('.')
function mismatch(v1, v2) {   console.log("my-app.js"+v1 +" "+ v2); //v2 = null   var v1parts = v1.split('.'), v2parts = v2.split('.'); ...


DTLS v1.2  connect and read with SSL_ERROR_WANT_READ

HI,
SSL_connect and SSL_read has very high error frequency with SSL_ERROR_WANT_READ. This led to the failure of SSL connection and reception.
I‘ve dump the UDP package from socket, and I have ensured that the socket receives complete packets.
Also, the handshake processs is weird. It seems that SSL do handshake twice.
tcpdump:

OS: openwrt 5.15
Arch: aarch64
openssl ver: 3.0.10

Can you upload the tcpdump in pcap format?  Its impossible to tell from the above, but it initially looks like you have two clients connecting from the same source ip/port value

Can you upload the tcpdump in pcap format? Its impossible to tell from the above, but it initially looks like you have two clients connecting from the same source ip/port value

tcpdump.zip
I have checked my code and "netstat", I'm sure there is only one UDP socket fd for this ID, and SSL_connect is only called once

SSL_connect has very high error frequency with SSL_ERROR_WANT_READ,  and the number of errors is random. When SSL_connect  return -1 and get error code = SSL_ERROR_WANT_READ, I try to call SSL_connect again.
What’s certain is that when the SSL handshake is successful, all data will be received twice, and one of them will lead to SSL_ERROR_WANT_READ.

Ah, that might be the issue.  From https://www.openssl.org/docs/man1.0.2/man3/SSL_connect.html :
If the underlying BIO is non-blocking, SSL_connect() will also return when the underlying BIO could not satisfy the needs of SSL_connect() to continue the handshake, indicating the problem by the return value -1. In this case a call to SSL_get_error() with the return value of SSL_connect() will yield SSL_ERROR_WANT_READ or SSL_ERROR_WANT_WRITE. The calling process then must repeat the call after taking appropriate action to satisfy the needs of SSL_connect(). The action depends on the underlying BIO. When using a non-blocking socket, nothing is to be done, but select() can be used to check for the required condition. When using a buffering BIO, like a BIO pair, data must be written into or retrieved out of the BIO before being able to continue.

If you are using a non-blocking socket, you shouldn't call SSL_connect again, but instead use select to wait for the required condition

Ah, that might be the issue. From https://www.openssl.org/docs/man1.0.2/man3/SSL_connect.html :
If the underlying BIO is non-blocking, SSL_connect() will also return when the underlying BIO could not satisfy the needs of SSL_connect() to continue the handshake, indicating the problem by the return value -1. In this case a call to SSL_get_error() with the return value of SSL_connect() will yield SSL_ERROR_WANT_READ or SSL_ERROR_WANT_WRITE. The calling process then must repeat the call after taking appropriate action to satisfy the needs of SSL_connect(). The action depends on the underlying BIO. When using a non-blocking socket, nothing is to be done, but select() can be used to check for the required condition. When using a buffering BIO, like a BIO pair, data must be written into or retrieved out of the BIO before being able to continue.

If you are using a non-blocking socket, you shouldn't call SSL_connect again, but instead use select to wait for the required condition

But DTLS is over UDP, and UDP is blocking socket.

The choice to use UDP is independent of the choice to use a blocking socket

The choice to use UDP is independent of the choice to use a blocking socket. What you're tcpdump is suggesting is that you are using a nonblocking UDP socket (e.g a BIO_dgram object with BIO_socket_nbio called on it with BIO_SOCK_NONBLOCK set

If the socket is non-blocking, I think the package from socket will be truncated. But I've tried to dump the UDP package by recvfrom(), the package is intact.

If the socket is non-blocking, I think the package from socket will be truncated.

Why? It is common to run UDP with a non-blocking socket.

If the socket is non-blocking, I think the package from socket will be truncated.

Why? It is common to run UDP with a non-blocking socket.

Sorry. I misunderstood the meaning of "non-blocking". My code is as below:
numBytes = recvfrom(fd, buffer, 1024,MSG_PEEK, (struct sockaddr*)&addr_str, (int32_t*)&addrLen);
if(numBytes  > 0)
SSL_read(ssl, buffer, 1024);
If socket is non-blocking, recvfrom() may return with EWOULDBLOCK. I've check my log, recvfrom() fetches the full UDP package each time it is called

No, it won't, at least not universally.  Only if there is no data on the receive queue will it return EWOULDBLOCK (or more specifically EAGAIN I believe).  If there is any data available to receive it will return that data and indicate the number of bytes filled in your provided buffer.  With UDP, just because you request X bytes, doesn't mean you will receive X bytes, you may receive less, and that is not a blocking condition.
You shouldn't use the above method as a check to see if SSL_read is callable.  You should instead call SSL_read and, if an error is reported, check the SSL error condition for SSL_ERROR_WANT_READ or SSL_ERROR_WANT_write to preform a subsequent select or poll operation on the connection ( you can see examples in the doc/designs/ddd subdirectory of the project)
The same holds true with the SSL_connect call.

UDP preserves message boundaries, you always read 1 whole packet from the kernel. It will not combine packets. If your buffer is too small, the rest of the packet is discarded. This has nothing to do with blocking on non-blocking.
The difference between blocking and non-blocking mode is that in blocking mode, the recvfrom() will hang until data is available to be returned. In non-blocking mode it will return and set EGAIN or EWOULDBLOCK if there is currently no data. In non-blocking mode you want to wait with something like select or poll to wait until data is available, and not call recvfrom() in a loop without some kind of delay.
Note that on most but not all systems EWOULDBLOCK and EGAIN have the same value, so you should check both values.


Post-uv sync hook for code generation pre development

Hi guys, this is a feature request.
I have some .proto files (Protobuf) I'd like to generate Python code for, at some point in time before the code runs.
A hook after uv sync would be a perfect place to run such code generation task.
Is it possible to implement something like that?
If not, do you see any other elegant solution? Ideally it would be something the developers won't need to execute independently before running the actual code.
Thanks.

I like the idea, but there's not a clear way to do it right now we'd need to design it.
Related #5903

I would have used such a hook to apply a patch file on a broken dependency installed in the .venv.


removed package version constraints

stack guarantees packages in a resolver working together, and there is only one version of each package connected to each resolver, so this removes the pain from updating. Well, the manual version updating pain. The rest of the pain is still there.

for some reason circle decided it needed to do an uncached build, so this may take a little while...

I'm able to successfully do a clean build (I tearfully sacrificed my stack package cache) of this PR (and #135, not that it's changes are relevant to local builds) so I'm of the opinion that we should go ahead and merge these. I'll give anyone paying attention a few minutes to object, otherwise I'll go ahead and merge them.


Issues with unexpected keyboard layouts

have gotten some indications that some keyboard layouts can cause issues when sending Function keys combinations.

think this was caused by space in jre path, fixed by a8c2f9060bd8d2b9c4aa8278ee906aed4e6ba287


Enforce tenancy

Ticket https://github.com/usdigitalresponse/usdr-gost/issues/231
Description

Changes tenant_id and main_agency_id columns to be NOT NULL in the db.
Updates the create user and create agency routes to actually set tenant_id and main_agency_id
Unrelated change to fix white spacing in vim for the project.

Screenshots / Demo Video
n/a
Testing

Manually tested and validated in DB
Updated db unit tests

Checklist

[x] Provided ticket and description
[x] Your PR title contains the ISSUE ticket number e.g "86: ..."
[ ] Provided screenshots/demo
[x] Provided testing information
[x] Provided adequate test coverage for all new code
[x] Added PR reviewers
[ ] Ensure at least 1 review before merging

@chrisxkeith Did you backfill main_agency_id as well, from the code seems like that will have also been null in some records.

@mattbroussard Mind taking a look

@bspates : I spent some time reading through this. I was able to decipher most of the code, except that I don’t understand where the value for ‘:creator_id’ comes from (line 608). I understand that it's a bind variable, but don’t see how or where a value gets bound into it.
I do have some minor comments. Apologies in advance for being obsessive-compulsive. :)

I see github flagging anonymous functions. I like names for all functions, especially when I’m looking at a stack. Not a big deal if you want to leave them alone, since those changes probably belong in a different change list focused on code cleanup.
How about enforcing a non-null tenant_id in the user object in createUser() [line 66]? I realize that the front-end server is providing this, but I tend to be cautious when putting stuff into a database.
Typo in the comment on line 590 (autoicrement -> autoincrement)

I don’t see any reason for not merging this, but might be nice to get a spot check from Rafe or Lance.

Is there a script to backfill tenant_id and main_agency_id on existing rows that have nulls for those before running this migration? Is that in a different PR? I think you will have to run that before running the migration, else the migration will fail.

@mattbroussard

Is there a script to backfill tenant_id and main_agency_id on existing rows that have nulls for those before running this migration? Is that in a different PR?
According to @bspates , this code change needs to go in first to guarantee that no new rows are added with nulls. Once that's done, I'm happy to fix up any existing nulls. What we've done in the past is (1) I dump rows that need to be modified into a Google Sheet. (2) @mhuang-usdr fills in the missing data, and (3) I make the changes using the psql command line client. If there are few changes, I do them manually one by one. If many changes, I download a CSV from the Google Sheet and run this python script to create a SQL file which I then feed to psql.

@mattbroussard @chrisxkeith Thanks for the reviews.
@chrisxkeith
I see github flagging anonymous functions. I like names for all functions, especially when I’m looking at a stack. Not a big deal if you want to leave them alone, since those changes probably belong in a different change list focused on code cleanup.
I don't know why this lint errors are part of the PR, they are outside of the scope of the changes.
How about enforcing a non-null tenant_id in the user object in createUser() [line 66]? I realize that the front-end server is providing this, but I tend to be cautious when putting stuff into a database.
Can you expand on your concern around putting the not null enforcement in the DB?
@mattbroussard
These changes only address tenant enforcement on creation of agencies and users. Since most other things have agency-scoped access checks already, that is probably sufficient, but it's worth taking a look around for any places that don't do that properly.

I have two PR I want to open after this one, that actually limit api calls by tenant. There is a bunch of re-scoping of different api calls needed defined in this issue https://github.com/usdigitalresponse/usdr-gost/issues/72. I wanted to do it after this PR, just so we could have confidence on the tenant_id fields being populated.

@bspates

I don't know why this lint errors are part of the PR, they are outside of the scope of the changes.

No problem.

Can you expand on your concern around putting the not null enforcement in the DB?

I'm not sure what the error from the database would look like. If you verify and throw from the JS, you can tailor the error message to make it easier to find problems. E.g. "Tenant id missing for user named ." Feel free to log this as a separate Github issue if you prefer.

@chrisxkeith Here is an example error output from the null constraint:
error:
        WITH upd AS (
            SELECT
              $1::integer,
              $2,
              $3,
              $4::integer,
              $5::integer,
              u.tenant_id
            FROM users u
            JOIN tenants t ON u.tenant_id = t.id
            WHERE u.id = $6
        ) INSERT INTO agencies (
            parent,
            name,
            abbreviation,
            warning_threshold,
            danger_threshold,
            tenant_id
        ) (SELECT * FROM upd) - null value in column "main_agency_id" of relation "agencies" violates not-null constraint
    at Parser.parseErrorMessage (/Users/brianspates/src/usdr-gost/packages/server/node_modules/pg-protocol/dist/parser.js:287:98)
    at Parser.handlePacket (/Users/brianspates/src/usdr-gost/packages/server/node_modules/pg-protocol/dist/parser.js:126:29)
    at Parser.parse (/Users/brianspates/src/usdr-gost/packages/server/node_modules/pg-protocol/dist/parser.js:39:38)
    at Socket.<anonymous> (/Users/brianspates/src/usdr-gost/packages/server/node_modules/pg-protocol/dist/index.js:11:42)
    at Socket.emit (events.js:400:28)
    at Socket.emit (domain.js:475:12)
    at addChunk (internal/streams/readable.js:293:12)
    at readableAddChunk (internal/streams/readable.js:267:9)
    at Socket.Readable.push (internal/streams/readable.js:206:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:188:23)

@mattbroussard

Here is an example error output from the null constraint:
Given that this is (one hopes... :) unlikely to happen, that's fine.

this code change needs to go in first to guarantee that no new rows are added with nulls

Correct. The sequence has to be:

Land and deploy code that prevents creating new nulls (notably, this means you must enforce in app code and not rely on the SQL constraint; also means that existing users/agencies without tenant should be temporarily unable to create new users/agencies)
Remove any existing nulls (manually, with a script, etc.)
Run migration

Since the migration and the new app code checks are in the same PR, it's important to do steps (2) and (3) relatively quickly after so that other potential DB migrations are unblocked.

If you verify and throw from the JS, you can tailor the error message to make it easier to find problems.

👍  Yup, this plus the reason I stated above (that there's a short window between the code landing and doing the migration where we don't want to create any new nulls)

There is a bunch of re-scoping of different api calls needed defined in this issue https://github.com/usdigitalresponse/usdr-gost/issues/72. I wanted to do it after this PR, just so we could have confidence on the tenant_id fields being populated.

👍

@mattbroussard

Land and deploy code that prevents creating new nulls

Render shows that this pull request was deployed into staging on August 17, 2022 at 11:58 AM . What is the process for merging this into the main code branch in Github and then deploying to the Render production instance?

Remove any existing nulls (manually, with a script, etc.)

This is the state of the staging database. I will fix the two user records later today.
gost_grants_tools_staging_db=> select count(*) from agencies where tenant_id is null;
 count
-------
     0
gost_grants_tools_staging_db=> select count(*) from users where tenant_id is null;
 count
-------
     2

Run migration

Is this a migration that developers must run to update the databases on their local machines? Or something else?
Thanks!

What is the process for merging this into the main code branch in Github and then deploying to the Render production instance?

It seems the process now is that feature work is merged into _staging, then periodically _staging is merged into main (a PR #289 was just opened today doing this & includes this change). Prod render auto deploys from main

Is this a migration that developers must run to update the databases on their local machines? Or something else?

It both needs to be run locally (it's a good habit to run npx knex migrate:latest after git pulling to run any migrations others may have landed) and in the staging and prod environments. Ideally run in staging first + test your changes there, then run in prod when the aforementioned _staging -> main merge happens.


Fix reading timezone from earning dates

Reading earning dates returns index timestamps without timezone. That's been fixed.

But it already has a timezone. How did you determine it was missing?

Hmm... Maybe I was working on an outdated version. Let me check and get back to this PR if necessary.

I improved the test for the bug fix


Proxy api requests through grafana dataproxy.

This PR improve security of plugin and hide API Key from client. This requires conversion into grafana app instead datasource.

@wevanscfi I made some UI improvements also. Now you can select metrics from dropdown and select application on datasource config page.

I am reviewing these changes, and looking into a couple of bugs I found in testing this.

@wevanscfi can you describe it?


MauiLocalization not work under iOS

I compiled the demo with Visual Studio 17.4 and .Net 7.0. (Tested on both Win and Mac )
Switch language not work under iOS.
But on windows and Android it's working fine.

https://user-images.githubusercontent.com/33021114/202863821-773c7329-757b-4494-b0b2-697162ac0e3e.mov

The issue is reproduced on MacCatalyst, but the issue itself is in ResourceManager, that incorrectly reads resource objects

The issue is reproduced on MacCatalyst, but the issue itself is in ResourceManager, that incorrectly reads resource objects

Thanks for the reply. It seems that satellite assemblies are not properly packaged on MacCatalyst when compile at release mode for arm64. I've reported the issue to MAUI team here: https://github.com/dotnet/maui/issues/11474

@changguangyu You mentioned it doesn't work on iOS. Is it only in release?

@changguangyu You mentioned it doesn't work on iOS. Is it only in release?

I tested it on iOS again with Visual Studio for Mac 17.4, both debug and release mode, stimulator and read device, there is no issue now. That's weird.

@changguangyu You mentioned it doesn't work on iOS. Is it only in release?

After I submit my app to App Store, it doesn't work on iOS again. But it works fine in both release and debug mode. It seems that the "optimization" process when generate distribution package broked the app.

Fixed by https://github.com/xamarin/xamarin-macios/issues/16847


Query not generated when too many filters

Bug description
I created an stackoverflow question for this stackoverflow
I am trying to query with multiple joins, but what happens is if I add conditions to the where I get the prisma version as response.
How to reproduce
The first query works, the second does not
const products = await prisma.products.findMany({
  where: {
    is_enable: true,
    is_deleted: false,
  },
  include: {
    items: {
      where: {
        is_deleted: false
      },
      include: {
        parts: {
          include: {
            subvehicles: {
              include: {
                vehicles: {
                  include: {
                    manufacturers: true
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  skip: replacements.offset,
  take: replacements.limit,
});

const products = await prisma.products.findMany({
      where: {
        is_enable: true,
        is_deleted: false,
      },
      include: {
        items: {
          where: {
            is_deleted: false
          },
          include: {
            parts: {
              where: {
                is_deleted: false,
              },
              include: {
                subvehicles: {
                  include: {
                    vehicles: {
                      include: {
                        manufacturers: true
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      skip: replacements.offset,
      take: replacements.limit,
    });

Expected behavior
Queries should be generated
In the first case the generated query is
prisma:client Prisma Client call: +1s
prisma:client prisma.products.findMany({
prisma:client   where: {
prisma:client     is_enable: true,
prisma:client     is_deleted: false
prisma:client   },
prisma:client   include: {
prisma:client     items: {
prisma:client       where: {
prisma:client         is_deleted: false
prisma:client       },
prisma:client       include: {
prisma:client         parts: {
prisma:client           include: {
prisma:client             subvehicles: {
prisma:client               include: {
prisma:client                 vehicles: {
prisma:client                   include: {
prisma:client                     manufacturers: true
prisma:client                   }
prisma:client                 }
prisma:client               }
prisma:client             }
prisma:client           }
prisma:client         }
prisma:client       }
prisma:client     }
prisma:client   }
prisma:client }) +1ms
prisma:client Generated request: +1ms
prisma:client query {
prisma:client   findManyproducts(where: {
prisma:client     is_enable: true
prisma:client     is_deleted: false
prisma:client   }) {
prisma:client     id
prisma:client     code
prisma:client     description
prisma:client     position
prisma:client     is_enable
prisma:client     category
prisma:client     filename
prisma:client     is_deleted
prisma:client     creation_date
prisma:client     last_modification_date
prisma:client     items(where: {
prisma:client       is_deleted: false
prisma:client     }) {
prisma:client       id
prisma:client       part_id
prisma:client       product_id
prisma:client       quantity
prisma:client       is_deleted
prisma:client       creation_date
prisma:client       last_modification_date
prisma:client       parts {
prisma:client         id
prisma:client         subvehicle_id
prisma:client         oem
prisma:client         is_deleted
prisma:client         creation_date
prisma:client         last_modification_date
prisma:client         subvehicles {
prisma:client           id
prisma:client           vehicle_id
prisma:client           submodel
prisma:client           is_deleted
prisma:client           creation_date
prisma:client           last_modification_date
prisma:client           vehicles {
prisma:client             id
prisma:client             manufacturer_id
prisma:client             model
prisma:client             is_deleted
prisma:client             creation_date
prisma:client             last_modification_date
prisma:client             manufacturers {
prisma:client               id
prisma:client               name
prisma:client               position
prisma:client               is_deleted
prisma:client               creation_date
prisma:client               last_modification_date
prisma:client             }
prisma:client           }
prisma:client         }
prisma:client       }
prisma:client     }
prisma:client   }
prisma:client }
prisma:client  +0ms

In the second case
prisma:client clientVersion: 3.6.0 +0ms
prisma:client clientEngineType: library +0ms

Prisma information
generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

model images_products {
  id                     Int      @id @default(autoincrement())
  product_id             Int
  name                   String   @unique @db.VarChar(255)
  type                   String   @db.VarChar(255)
  title                  String   @db.VarChar(255)
  description            String   @db.VarChar(255)
  url                    String   @unique @db.VarChar(255)
  is_enable              Boolean? @default(true)
  position               Int?
  is_deleted             Boolean  @default(false)
  creation_date          DateTime @default(now()) @db.Timestamp(6)
  last_modification_date DateTime @default(now()) @db.Timestamp(6)
  products               products @relation(fields: [product_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
}

model items {
  id                     Int      @id @default(autoincrement())
  part_id                Int
  product_id             Int
  quantity               Int?
  is_deleted             Boolean  @default(false)
  creation_date          DateTime @default(now()) @db.Timestamp(6)
  last_modification_date DateTime @default(now()) @db.Timestamp(6)
  parts                  parts    @relation(fields: [part_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
  products               products @relation(fields: [product_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
}

model manufacturers {
  id                     Int        @id @default(autoincrement())
  name                   String     @unique @db.VarChar(50)
  position               Int?
  is_deleted             Boolean    @default(false)
  creation_date          DateTime   @default(now()) @db.Timestamp(6)
  last_modification_date DateTime   @default(now()) @db.Timestamp(6)
  vehicles               vehicles[]
}

model parts {
  id                     Int      @id @default(autoincrement())
  subvehicle_id          Int
  oem                    String?  @db.VarChar(255)
  is_deleted             Boolean  @default(false)
  creation_date          DateTime @default(now()) @db.Timestamp(6)
  last_modification_date DateTime @default(now()) @db.Timestamp(6)
  subvehicles            subvehicles @relation(fields: [subvehicle_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
  items                  items[]
}

model products {
  id                     Int                    @id @default(autoincrement())
  code                   String                 @unique @db.VarChar(100)
  description            String?                @db.VarChar(255)
  position               Int?
  is_enable              Boolean?               @default(true)
  category               product_category_type?
  filename               String?                @db.VarChar(255)
  is_deleted             Boolean?               @default(false)
  creation_date          DateTime               @default(now()) @db.Timestamp(6)
  last_modification_date DateTime               @default(now()) @db.Timestamp(6)
  images_products        images_products[]
  items                  items[]
}

model subvehicles {
  id                     Int      @id @default(autoincrement())
  vehicle_id             Int
  submodel               String   @unique @db.VarChar(50)
  is_deleted             Boolean? @default(false)
  creation_date          DateTime @default(now()) @db.Timestamp(6)
  last_modification_date DateTime @default(now()) @db.Timestamp(6)
  vehicles               vehicles @relation(fields: [vehicle_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
  parts               parts[]
}

model vehicles {
  id                     Int           @id @default(autoincrement())
  manufacturer_id        Int
  model                  String        @unique @db.VarChar(50)
  is_deleted             Boolean?      @default(false)
  creation_date          DateTime      @default(now()) @db.Timestamp(6)
  last_modification_date DateTime      @default(now()) @db.Timestamp(6)
  manufacturers          manufacturers @relation(fields: [manufacturer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
  subvehicles            subvehicles[]
}

enum product_category_type {
  Buje
  Cazoleta
  Vario
}

Environment & setup

OS: Mac OS
Database: PostgreSQL
Node.js version: Node 12.22.6

Prisma Version
prisma                  : 3.6.0
@prisma/client          : 3.6.0
Current platform        : darwin
Query Engine (Node-API) : libquery-engine dc520b92b1ebb2d28dc3161f9f82e875bd35d727 (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli dc520b92b1ebb2d28dc3161f9f82e875bd35d727 (at node_modules/@prisma/engines/migration-engine-darwin)
Introspection Engine    : introspection-core dc520b92b1ebb2d28dc3161f9f82e875bd35d727 (at node_modules/@prisma/engines/introspection-engine-darwin)
Format Binary           : prisma-fmt dc520b92b1ebb2d28dc3161f9f82e875bd35d727 (at node_modules/@prisma/engines/prisma-fmt-darwin)
Default Engines Hash    : dc520b92b1ebb2d28dc3161f9f82e875bd35d727
Studio                  : 0.440.0

I can not reproduce it with either current main or 3.6.0 reported in the ticket.
Note that provided code has an error: where condition is not available on parts because in the provided schema, 1 item can have only one part. If I reverse the order of that 1:M relationship (meaning, 1 item, multiple parts) the query works correctly in both versions.
This error is also caught by both run- and compile- time checks in both versions. I assume this is a vanilla JS, so no compile time checks are done and runtime exception got lost somewhere in the application code. That would be consistent with provided prisma logs.
I am going to close this issue for now, but feel free to reopen if you manage to reproduce it without this error.

and runtime exception got lost somewhere in the application code.

Is this fixced today or might this justify a follow up issue?

Is this fixed today or might this justify a follow up issue?

Both 3.6.0 and current version correctly throw a catchable error in this case. What I meant by exception gets lost: probably some other part of the application is responsible for catching that exception and not logging in. Node < 15 also does not exit on unhanlded promise rejection by default (but prints a warning to the console), that could be another reason why this exception got unnoticed.


fix: Fixed AppContext when logged in with super admin

Some small bugfixes

:tada: This PR is included in version 1.8.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Maximum Images count not setting.

Hello, I am setting in my code the maximum images to 6 as specified in the docs, but when trying the application on multiple android phones, not one limits the selection to 6 and instead displays the message at 20 selected images.
After further testing I've noticed that none of the options are passing, the images are being saved in full size AND quality.
Here's my call:
window.imagePicker.getPictures(
    function (results) {
        ...
    },
    function (error) {
        alert('Error: ' + error);
    }, {
        maximumImagesCount: 12,
        width: 800,
        height: 800,
        quality: 50
    }
);

I'm guessing this project isn't maintained anymore since this bug has not been responded to?

I am experiencing this issue as well. @mikepc  Any luck finding an answer?


Deal with images for another arch/OS

Some image repositories have images available for architectures other than amd64/Linux. We explicitly omit these from results, but our fetching logic means that we'll go looking for exactly the same image metadata next time around.
There are two problems:

Not getting metadata for certain tags means we can't have a result at all. We need to be able to assemble a result from just the relevant tags.
We persist in attempting to fetch the results again and again. Similarly to #910, it would be good to store something saying "just ignore this tag from now on", so that we don't keep trying to fetch it.

Possibly we could fix both of these things by storing the result whatever it is, and filtering out the wrong arch/OS when assembling the result.

Is this a dup of #741?

Hmm yeah I had forgotten that one. Though #851 fixed many of the issues around fetching image metadata, including being able to handle fat manifests (like the example there has), we still have the symptom that we can't give an ListImages response for e.g., NATS. I'll put my suggestion from above in the issue instead.

Closing as duplicate of #741.


Add Ayutthaya Witthayalai to list

Add Ayutthaya Witthayalai to the list
Domain: https://ayw.ac.th

@MelidaZ Thank you for your patience while waiting for a review and processing your request. Pull request merged. Thank you!


github pr commits collection should flush record before fetching not inbetween

Describe the bug
The following code seems like we will keep only the last page of records

To Reproduce
Spotted by code reading, no existing reproduciable step available.
Expected behavior
All records from all pages should be saved into database.

I should move the code block doing delete to the beginning of the func

Can we separate the pagination part. One is for which has a lot of pages, one is for which has even only one page?


Latency when entering text in a table

When entering text in a table, there is a latency. This can even cause the editor to freeze, making text entry almost impossible.
This is also the case for me in the text editor demo on the website

I confirm the problem and it seems appear since few month

I can see that each letter entered generates a . We end up with several hundred lines of html. I guess that explains the slowdown.

Other precision, the problem exists as soon as there is a table in the editor, not just when you write in the table. you can also write outside the table and the problem is the same from the moment there is a table inserted in the editor.


When unbinding the inventory and crafting buttons for the keyboard, controller cannot open the inventory

When unbinding the inventory and crafting buttons for the keyboard, controller cannot open the inventory
Reproducing
Go to the controls menu
Go to keyboard
Unbind "Crafting"
Unbind "Inventory"
Now controller will be unable to open the inventory with square or triangle
To fix it, you have to reset to defaults and restart the game
Affected version:
1.20.4
Fabric
Latest

Can confirm, same thing happens to me. Additionally, when I went to bind the Inventory button, I set it to the E key, not realizing that this was the same button for the Crafting menu. When I did this, both my X and Y buttons on my Steam Deck opened the crafting menu. After changing the inventory button to something else (in this case [) the Y button successfully brought up the inventory.
Using the Steam Deck and the official modpack.

Fixed in version 1.6.4, thanks for reporting.


add MSRV target to CI

closes #17

looks like the 'required' checks will need to be updated also

thank you


add reactions for "Vik" :)

I want cool reaction

Looks awesome vik! congrats on getting it right on your first try


feat: add 1.3.0 contracts on Polygon Blackberry

relevant issue: https://github.com/safe-global/safe-deployments/issues/455

I'm getting 5xx errors when conneting to the RPC from chainlist.org for verifying the deployments. Will try again later to see if the errors clear up.

Can you rebase the changes?

@nlordell done :heavy_check_mark:


Duplicate tab/results for file

Issue Type: Bug
When searching (CTRL-SHIFT-F) within my project folder, some of the classes (specifically, one class in this particular instance) show up twice.
I searched for a string of characters, and I found one of the files listed twice in the results. I opened both copies to see what was going on, made changes in one, saved that file and closed it. The other tab that originally had the same file open in it was then empty (The tab still existed, still had the file's name in it, still opened the same location within Explorer, but the window showed no lines of code. Not even a number on the left to indicate that it was possible to write anything in it.). I closed that tab, at which point I was asked if I wanted to save. I clicked 'No,' thinking it would overwrite my file with nothing. The tab closed, but it reverted all of the changes I made in the previous tab.
Afterward, I opened a (different) file by searching for it within the project folder with CTRL-P. Two tabs opened for that file. They functioned exactly as the two tabs mentioned a moment ago did. I made changes in one, saved and closed it, and then noticed that the other tab was completely empty. I decided to close and save changes this time, and my file just had the changes I made in the previous tab.
I'm not sure exactly how to reproduce this, as it seems to happen sporatically. I'm using the latest version of Insiders (updated this morning and double checked just before writing all of this).
I have not tried disabling extensions, as I need the extensions I have installed in order to work with Apex and SFDX.
VS Code version: Code - Insiders 1.29.0-insider (8aef44b6426b37ccb22026f56f52f42d136f4a0a, 2018-10-24T10:07:06.221Z)
OS version: Windows_NT x64 10.0.16299

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz (8 x 2712)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
31.92GB (19.13GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (24)

Extension
Author (truncated)
Version

monokai-charcoal-high-contrast
74t
1.0.4

bracket-pair-colorizer
Coe
1.0.60

xml
Dot
2.3.2

gitlens
eam
8.5.6

LogFileHighlighter
emi
2.4.2

vscode-great-icons
emm
2.1.44

vscode-commands
fab
1.2.3

asciidecorator
hel
0.2.0

easy-icons
jam
0.3.1

apex
Joh
0.0.2

visualforce
Joh
1.0.2

vscode-simple-icons
Lau
1.8.7

theme-monokai-pro-vscode
mon
1.1.8

sublime-keybindings
ms-
4.0.0

indent-rainbow
ode
7.2.4

material-icon-theme
PKi
3.6.0

salesforcedx-vscode-apex
sal
44.3.0

salesforcedx-vscode-apex-debugger
sal
44.3.0

salesforcedx-vscode-apex-replay-debugger
sal
44.3.0

salesforcedx-vscode-core
sal
44.3.0

salesforcedx-vscode-lightning
sal
44.3.0

salesforcedx-vscode-visualforce
sal
44.3.0

trailing-spaces
sha
0.2.11

sfdx-cli
vib
0.0.1

(15 theme extensions excluded)

Next time you see this, can you try copying the files in the search viewlet (just right click > copy) so we can look at their paths to see whether one is different?
Does the path for this files have any special//unicode characters?

I checked that very carefully yesterday. The paths were identical.

Does the path for this files have any special/unicode characters?

No, and I've worked on this file before with no issues like this. It only started happening yesterday.
I haven't had any issues with it today, so maybe it has already been fixed?
I update Insiders daily.

I can't think of any relevant changes, but let me know if you see it again

Will do. Thank you for looking into it. :)

Alright, it's happening again this morning.
I've copied the search viewlet (pasting it below).
In the pasted version, the first and last entries are identical.
In the actual search viewlet, they're both at the top of the list.
=====
C:\Source\Production\Salesforce\src\Zuora\main\default\classes\CreateRequestContractCaseValidator.cls
1,14: public class CreateRequestContractCaseValidator implements IOpportunityValidator {
7,9: 	public CreateRequestContractCaseValidator() {
11,9: 	public CreateRequestContractCaseValidator(ISetErrors errorMessageSetter, IRepository repository) {
C:\Source\Production\Salesforce\src\Zuora\main\default\classes\OpportunityTriggerHandler.cls
7,22: 		validators.add(new CreateRequestContractCaseValidator());
C:\Source\Production\Salesforce\src\Zuora\tests\default\classes\ZTestCreateRequestContractCaseValidator.cls
2,20: private class ZTestCreateRequestContractCaseValidator {
4,17: 	private static CreateRequestContractCaseValidator sut;
24,13: 		sut = new CreateRequestContractCaseValidator(errorSpy, repository);
118,41: 	public class MockRepository implements CreateRequestContractCaseValidator.IRepository {
C:\Source\Production\Salesforce\src\Zuora\main\default\classes\CreateRequestContractCaseValidator.cls
1,14: public class CreateRequestContractCaseValidator implements IOpportunityValidator {
7,9: 	public CreateRequestContractCaseValidator() {
11,9: 	public CreateRequestContractCaseValidator(ISetErrors errorMessageSetter, IRepository repository) {

Was that file open when you did the search?

I don't believe so, but I've opened and closed so many files since then that I can't be 100% sure.
I suppose I'll have to wait until it happens again and let you know.

Having the same issue, as stated in #62395 on the latest insiders release:
Version: 1.30.0-insider (user setup)
Commit: c348be666adf9650b1ae1d212f019e6e9f226b7d
Date: 2018-11-21T06:25:32.454Z
Electron: 2.0.12
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
OS: Windows_NT x64 6.2.9200

Open a file with the command palette quick open:

When the file is opened and modified two tabs become available with the same file name:

Issues:

Expected only 1 tab, but got two
Changes are marked with a white circle in the second tab, not in the first one where they were made
Duplicate entries for the same file in the quick open of the command palette


Update ability_item_usage_generic.lua

Riki and invi hero are OPs in this script, increase dust desire

the desire value doesn't matter for this customized item usage method. See https://github.com/forest0xia/dota2bot-OpenHyperAI/blob/1c56bc0f1803e6296f3c28c6eb3d046ea175b153/bots/ability_item_usage_generic.lua#L769
As long as its greater than 0, it means the same in the code.
BTW, can you please put these small changes in one single pull request? easier for me to review and for us to discuss all aspect of the things in one place. This project itself isnt that big so it's better and more efficient to do more changes within a single pull request. But if you have a lot of changes introducing new features like backpack management then let's put the single feature implementation in a single pull request.

So does those desire work on other things, such as hero ability?

It depends. In most cases, desire level only matters in the generic mode_XXX_generic.lua files that with the GetDesire() method.
The ability usage for most heroes, do not need to compare desire level, as long as the conditions are met and the final desire value is greater 0 the ability will be casted.

Hmm it's weird, because I had a problem with the Mars bot earlier, where in the middle of combat it just being idle with his ulti ready, then I changed his desire to absolute then I test again and it feels like the bot actually more commit to use the spell.

Its very easy to check this. Just take a look at the code for Mars for example: https://github.com/forest0xia/dota2bot-OpenHyperAI/blob/main/bots/BotLib/hero_mars.lua#L145
As long as ArenaOfBloodDesire is greater than 0 Mars will use the ult. But to make it return ArenaOfBloodDesire  > 0 it needs to meet certain conditions. So it doesnt matter what value was returned for ArenaOfBloodDesire , but it does matter how to defined better conditions to return a desire.