Cloud-init config after template cloning at firstboot is not applied until VM is manually rebooted

System details:
Proxmox VE 8.2.2
Terraform v1.8.4
terraform-provider-proxmox v3.0.1-rc2
VM at firstboot doesn't have IP, hostname, user/password form cloud-init config. To get applied the cloud-init config VM must be manually restarted.
Seems this issue intersects with https://github.com/Telmate/terraform-provider-proxmox/issues/603 .
As per https://github.com/Telmate/terraform-provider-proxmox/issues/603#issuecomment-1627953944, tried to change ci_wait to 60, 120 and so on, but without success.
Seems ci_wait parameter is ingored at all and this is  possible root cause.
For example, after terraform apply there is no in actions this parameter:
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # proxmox_vm_qemu.cloud_vm_from_template will be created
  + resource "proxmox_vm_qemu" "cloud_vm_from_template" {
      + additional_wait        = 5
      + agent                  = 1
      + automatic_reboot       = true
      + balloon                = 2048
      + bios                   = "ovmf"
      + boot                   = "order=scsi0"
      + bootdisk               = (known after apply)
      + cipassword             = (sensitive value)
      + ciuser                 = "user"
      + clone                  = "vm.TEMPLATE"
      + clone_wait             = 10
      + cores                  = 2
      + cpu                    = "host"
      + default_ipv4_address   = (known after apply)
      + default_ipv6_address   = (known after apply)
      + define_connection_info = true
      + desc                   = "Cloud Base VM"
      + force_create           = false
      + full_clone             = false
      + hotplug                = "network,disk,usb"
      + id                     = (known after apply)
...

@maksimsamt could you provide me with a link to the iso/ova image you used to provision the template vm?
I've always done the testing with the latest Debian genericcloud-amd64 image:
https://cloud.debian.org/images/cloud/

@maksimsamt could you provide me with a link to the iso/ova image you used to provision the template vm?
I've always done the testing with the latest Debian genericcloud-amd64 image: https://cloud.debian.org/images/cloud/

I'm using a custom (build by Packer) AlmaLinux Generic Cloud 9.4 image, but underneath is this image:
https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/AlmaLinux-9-GenericCloud-9.4-20240507.x86_64.qcow2
By manual cloning and configuring cloud-init in PVE - there are no such problems.

Tried as well now with Fedora 40 Cloud:
https://fedoraproject.org/cloud/download
The same result, need VM restart to apply cloud-init config

@maksimsamt , are you able to make it work with Ubuntu 22? (I'm stuck with this... using Packer custom images also)

@maksimsamt , are you able to make it work with Ubuntu 22? (I'm stuck with this... using Packer custom images also)

Nope, in my project currently only rhel machines.
As you can see above, @Tinyblargon using Debian genericcloud-amd64 images and this almost the same as Ubuntu, differences only in autoinstall(ubuntu) vs preseed(debian) files.

I found the root cause for my case.
As I mentioned above, I use the Packer build to create PVE templates, and with adding an empty Cloud-Init CDROM drive after the virtual machine has been converted to a template.
By default Packer adds Cloud-Init drive as ide0.
In main.tf I have configured the following related cloudinit block/config:
...
  disks {
    ide {
      ide0 {
        cloudinit {
          storage = "local-lvm"
        }
      }
    }
...

So, as you can see, drives in the template and in new VM are the same - ide0. This caused the conflict. It turns out that the cloudinit drives (in template and in new vm) cannot be the same.
I don't know if this is normal behavior or is it still a bug?
Moved in main.tf cloudinit block/config into scsi drive, for instance scsi10:
  disks {
    scsi {
      scsi10 {
        cloudinit {
          storage = "local-lvm"
        }
      }

And now it works as expected, Cloud-init config after template cloning at firstboot is applied without VM rebooting.

I am having the same issue as you, I must restart for the cloud-init to work and I am using Ubuntu noble-server-cloudimg-amd64.img. I added reboot command to the image and it seems to work for ubuntu but not debian which doesn't even seem to be able to see the cloud-init drive. This seems to be a known issue on UEFI setups and the recommendation is to move it to scsi instead of IDE but on v3.0.1-rc1 attempting to add the config above gives me Blocks of type "cloudinit" are not expected here

Sorry, I see now that its rc2 that has changed many things. that allows me to use scsi for cloud-init and the previous method was removed

In my case for Ubuntu 22:
apt purge cloud-init
rm -rf /etc/cloud/
rm -rf /var/lib/cloud/
And a conflicting network configuration file created during OS installation
rm -f /etc/netplan/00-installer-config.yaml
apt install cloud-init
After that, recreate the template


Error thrown from a within a returned promise does not get caught in main promise chain

What version of bluebird is the issue happening on?
3.2.2

What platform and version? (For example Node.js 0.12 or Google Chrome 32)
Node.js 5.5.0, Mac OS X 10.10.5

Did this issue happen with earlier version of bluebird?
Haven't tried.

The problem is as follows. For an old piece of hardware which communicates via serial port, I have to send a buffer of data which may or may not get acknowledged by the hardware (depends on if it's busy doing other stuff). If it doesn't get acknowledged, it just silently fails (there is no callback or feedback), so I have to let it timeout and try again. For this reason, I am using the deferred pattern, because I need to store the deferred and resolve the promise later if an acknowledgement from the hardware does come back. This happens completely independent of the data being sent to the hardware, so there are no callbacks to rely on.
(I was a bit disappointed to find out deferred could not be created more easily in Bluebird anymore, because there are valid use cases in my opinion. But that's not the point of this issue.)
Anyway, I've created a mock setup with the same pattern as is used with the real software in the following JSbin: https://jsbin.com/lozeyo/1/edit?js,console
The function sendBuffer gets called which will attempt to send data and then wait for a response. If it times out, it will retry for a specified amount of times.
If you set NUM_RETRIES in the JSbin to 2, you can see that on the 3rd attempt the mockResponse function will send back some fake data and resolve the deferred. When this happens, the resolution is propagated to the main promise chain which initiated the command, and all works well.
However, setting NUM_RETIRES to 1 illustrates the failure case, which I think is not working properly. In this case, the deferred gets rejected with a timeout error, but this error is not caught in the main promise chain. Instead, Bluebird complains about an Unhandled rejection Error.
Is this a bug in Bluebird? Shouldn't the error be handled in the main promise rejection handler (since sendBuffer is returning a promise which throws an error)? Or am I missing something here?

You are not returning the promise chain, but the original promise.
Try var ret = promise.catch(....); ... return ret

That shouldn't matter though, should it? Is this Bluebird specific behaviour?

Promises don't mutate. When you chain a promise it always returns a new promise. If you return the original promise, it doesn't work at all. Watch:
function doSomething() {
    var promise = Promise.resolve(1);

    promise.then(function(value) {
        return value + 2;
    }).then(function(value) {
        return value + 3;
    });

    return promise;
}

doSomething().then(function(result) {
    // Logs 1 instead of 6
    console.log(result);
})

Right. Interesting that in 2 years of working with promises this has never come up for me. Thanks for clarifying.
So in my example, it was resolving because I was always resolving the original promise, but the rejection was happening further down the chain, hence why it didn't bubble.


add Persian (Farsi) language

Hi,
This is Farsi/Persian translation from EN language file.
Persian is my native language.

I think to prevent spam and misuses please use google translate to check my/any translations:
https://translate.google.com/?sl=fa&tl=en&op=translate
whole translation check :
https://translate.google.com/?sl=fa&tl=en&text=فارسی
(برای شروع دوباره 'اسپیس' بزنید)
توقف
برای حرکت از کلید 'چپ' و 'راست' استفاده کنید
برای شروع 'اسپیس' بزنید
اتمام بازی
امتیاز%3A
&op=translate

Nice! First right-to-left language! Thank you so much!
Just a quick question. Would it make sense to move the "Score: " label to the right side for Persian? I'm planning to implement some mechanism that changes the UI depending on the direction of the script.

I've been playing with this idea and realized that moving lifebar and score to the right might be someone's preference regarding of their language. So I'm gonna simply make it a separate option in the future.
Thanks for the translation once again! :+1:

Thanks , in fact it's common for RTL languages to use it like you implemented.
 : RTL_SCORE_MSG

@HKhademian got it! Thanks!


[NTR] down syndrome children

need to add DS children (or synonyms):

Complete trisomy 21
Mosaic trisomy 21
Translocation Down syndrome
Mosaic Translocation Down Syndrome
Partial Trisomy 21 (only a part of chromosome 21 is present in 3 copies)

to do:
For these new terms, we'll need to look up definitions, decide on superclasses, etc.

@nicolevasilevsky perhaps we can have a special session with the INCLUDE data stewards to review these new terms

@mellybelly I love this idea!

@kallia-p I am going to remove this from the Curation board for now, I will work on the definitions and then you could add the terms later when it's ready to go.

Somewhat (maybe not totally related), one of our colleagues was recently asking about ontology terms for Alzheimer's disease patients with Down syndrome (or vice versa?). My rough understanding is that the intersection of those conditions represents a distinct disease and/or phenotype that would be helpful to describe in a standard way.

Per Angela:
there is Emory's coding as well:
Type of Trisomy 21:
1=standard trisomy 21
2=mosaic
3=trisomy 21 plus another chromosome variation including translocations'
4=other karyotype
5=likely to be standard trisomy 21 (includes chart review and parental report)
6=likely to be mosaic (includes chart review and parental report)
7=likely to be translocation (includes chart review and parental report)
8=Down syndrome only, type unknown
9=karyotype unknown/not available
Note- Nicole, Angela and Tracie R are scheduled to meet to discuss this on May 25.

related to #3160


chore: test php-cs-fixer after update to v3.47.0

Description
Explain what you have changed, and why.
Checklist:

[ ] Securely signed commits
[ ] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[ ] Conforms to style guide

This seems a bug in cs-fixer.
See https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7593#issuecomment-1892968973
https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7745
It may be better to fix cs-fix version to 3.46 temporarily.

@kenjis Yes, i already create PR on CodeIgniter/coding-standard#16

It needs the new release of coding-standard.
I mean to fix in this repository.
See #8368


[BUG] AD timefield name issue with PPL Query

What is the bug?
AD command only takes in field name as timestamp for the timefield parameter. Any other name invalidates the date field in output.
How can one reproduce the bug?
Steps to reproduce the behavior:

NOTE: Data set used sample data logs from OpenSearch Dashboards: opensearch_dashboards_sample_data_logs

Timefield named ts doesn't work as expected:

source = opensearch_dashboards_sample_data_logs | where match(machine.os,'win')  |stats avg(machine.ram) as avg_ram by span(timestamp,1d) as ts | fields ts, avg_ram | AD time_field='ts'

Output:
{
  "schema": [
    {
      "name": "ts",
      "type": "timestamp"
    },
    {
      "name": "avg_ram",
      "type": "double"
    },
    {
      "name": "score",
      "type": "double"
    },
    {
      "name": "anomaly_grade",
      "type": "double"
    },
    {
      "name": "timestamp",
      "type": "timestamp"
    }
  ],
  "datarows": [
    [
      "2022-08-14 00:00:00",
      1.2099412902657719E10,
      0.0,
      0.0,
      null
    ],
    [
      "2022-08-15 00:00:00",
      1.2246881383884058E10,
      0.0,
      0.0,
      null
    ],
    [
      "2022-08-16 00:00:00",
      1.3002572224876713E10,
      0.0,
      0.0,
      null
    ],
    [
      "2022-08-17 00:00:00",
      1.2276220217070065E10,
      0.0,
      0.0,
      null
    ],
],
  "total": 4,
  "size": 4
}

Timefield names as timestamp works as expected:

source = opensearch_dashboards_sample_data_logs | where match(machine.os,'win')  |stats avg(machine.ram) as avg_ram by span(timestamp,1d) as timestamp | fields timestamp, avg_ram | AD time_field='timestamp'

Output:
{
  "schema": [
    {
      "name": "timestamp",
      "type": "timestamp"
    },
    {
      "name": "avg_ram",
      "type": "double"
    },
    {
      "name": "score",
      "type": "double"
    },
    {
      "name": "anomaly_grade",
      "type": "double"
    }
  ],
  "datarows": [
    [
      "2022-08-14 00:00:00",
      1.2099412902657719E10,
      0.0,
      0.0
    ],
    [
      "2022-08-15 00:00:00",
      1.2246881383884058E10,
      0.0,
      0.0
    ],
    [
      "2022-08-16 00:00:00",
      1.3002572224876713E10,
      0.0,
      0.0
    ],
    [
      "2022-08-17 00:00:00",
      1.2276220217070065E10,
      0.0,
      0.0
    ]
],
  "total": 4,
  "size": 4
}

What is the expected behavior?
A clear and concise description of what you expected to happen.
What is your host/environment?

OS: Ubuntu-Linux
Version: 2.3.0

Do you have any screenshots?

Bug recreated with timefield namedts

Works with timefield namedtimestamp

Do you have any additional context?

AD PPL command documentation

https://github.com/opensearch-project/sql/pull/919


sudo rule: add support for "Operation not permitted" errors

Operation not permitted is also a commonly seen error that could be fixed by sudo in many cases. A few examples that this PR could fix:
$ hping -S -p 80 <IP_ADDRESS>
[open_sockraw] socket(): Operation not permitted
[main] can't open raw socket

$ sudo touch /tmp/tmp
$ chown nobody /tmp/tmp
chown: changing ownership of ‘/tmp/tmp’: Operation not permitted

$ umount /tmp
umount: /tmp: umount failed: Operation not permitted

Thanks!


[BUG] Invalid characters in CSV are handled differently when reading from GPU

Describe the bug
As described in https://github.com/NVIDIA/spark-rapids-benchmarks/issues/170, the TPC-DS raw data files are in ISO-8859 format, but nds_transcode.py was reading them as UTF8.  The customer file has some strings with international characters (Ô and É).  With the bug in nds_transcode, we were just passing through these ISO-8859 characters unmodified, while the CPU CSV reader translates the invalid UTF8 characters as � (0xefbfbd).
Steps/Code to reproduce bug
I will attach the file iso-8859-example.csv.
iso-8859-example.csv
In a spark shell:
spark.conf.set("spark.rapids.sql.enabled", false)
spark.read.csv(s"iso-8859-example.csv").write.option("compression", "none").parquet("example-parquet-cpu")
spark.conf.set("spark.rapids.sql.enabled", true)
spark.read.csv(s"iso-8859-example.csv").write.option("compression", "none").parquet("example-parquet-gpu")

Then use a tool like xxd to examine the binary data for the output files.
CPU:
00000300: 397c 3131 7c31 3938 367c 43ef bfbd 5445  9|11|1986|C...TE
00000310: 2044 2749 564f 4952 457c 7c4b 6174 6965   D'IVOIRE||Katie

GPU:
00000070: 7c32 397c 3131 7c31 3938 367c 43d4 5445  |29|11|1986|C.TE
00000080: 2044 2749 564f 4952 457c 7c4b 6174 6965   D'IVOIRE||Katie

Note that CPU has ef bfbd where GPU has d4
Expected behavior
Ideally, we should produce the same output as CPU.
This is a difference in the handling of an invalid UTF8 character in the input file (the result of reading an ISO-8599 file as UTF8), so it's not clear we need to fix it.  We might be able to document the difference.

Initial scope will be to document the issue and then later on can fix the bug.


better-errors

Let the user know what file triggered the error if any

Nice, thanks @GuillaumeBadi!


Quality loss on thumbnails

Hello there,
I really like Dragonfly alot. The only downside at the moment is the loss of quality on generated thumbnails. Is there a way to specify -quality in an options hash or alike?
Kind regards,
Marian

I have a question about the .convert method i.e.
my_image.convert('-resize 320x200 -quality 95')
Is the resulted images cached or is it re-generated each time the page is viewed? Thanks.


include package data in pyproject.toml & conda-forge package

Resolves #2

Rolling the conda-forge package into this PR as well. Will be dropping Python 3.7 since its EOL anyway and was complicating the conda recipe.


Segfault in a2_SendEvent() when starting Kobo Redux

DEBUG builds of Audiality 2 segfault in a2_SendEvent() when starting Kobo Redux.
==12103== Invalid read of size 8
==12103==    at 0x5377187: a2_SendEvent (internals.h:864)
==12103==    by 0x5377EF3: a2r_em_forwardevent (api.c:409)
==12103==    by 0x537805A: a2r_PumpEngineMessages (api.c:459)
==12103==    by 0x53722B7: a2_AudioCallback (core.c:1856)
==12103==    by 0x538F90E: sdld_callback (sdldrv.c:41)

#0  0x00007ffff7686255 in a2_SendEvent (q=0x8, e=0xeb0b18) at /home/david/src/audiality2/src/internals.h:864
#1  0x00007ffff7686fc2 in a2r_em_forwardevent (st=0xdf6820, am=0x7fffe9703d20, latelimit=917504) at /home/david/src/audiality2/src/api.c:409
#2  0x00007ffff7687129 in a2r_PumpEngineMessages (st=0xdf6820, latelimit=917504) at /home/david/src/audiality2/src/api.c:459
#3  0x00007ffff7681386 in a2_AudioCallback (driver=0xdf7180, frames=512) at /home/david/src/audiality2/src/core.c:1856
#4  0x00007ffff769e9dd in sdld_callback (ud=0xdf7180, stream=0xdf8ae0 "", len=2048) at /home/david/src/audiality2/src/drivers/sdldrv.c:41

Same thing happens with any version back to at least 9ddfa4b444776f0f0f9eb462ab7f9c549f27ba1e.
It doesn't seem like it actually matters if any sounds load or anything, as the same segfault happens anyway.
Disabling all DEBUG macros in config.h has no effect; still segfaults.

We are trying to send an A2MT_KILL event to a voice handle with a NULL data pointer. Someone's either creating bogus handles, or destroying handles in an incorrect fashion.


Can Ripple use without Nuxt?

Can Ripple use without Nuxt? (e.g. use directly in Client side)
if yes, what do I need to pass to the Vue.use ?

@joseph-so Hope it's not too late, it can be used without Nuxt.
Our storybook is an example.
Install Ripple global plugin: https://github.com/dpc-sdp/ripple/blob/v1.0.0-alpha.72/.storybook/config.js#L14
Global options are here if you need to customize them: https://github.com/dpc-sdp/ripple/blob/v1.0.0-alpha.72/packages/Atoms/Global/index.js#L5
You probably use it like this:
import Vue from 'vue'
import RplGlobal from '@dpc-sdp/ripple-global'
Vue.use(RplGlobal, { hostname: 'www.yourdomain.com' }}```

Hi @joseph-so, do you mind describing your use case for ripple without Nuxt, so we might be able to provide better information? Otherwise I will close this issue.

@tim-yao Thanks for it, I will have a try.
@dylankelly,
I would like to the Rupple directly in my Vue Project, but I do not want to set up the Nuxt. I want to see if it is possible to use Ripple similar to Vuetify. If it can, that will be good

Hi @tim-yao  and @dylankelly and @joseph-so , Is these any update on this? Tim, how did you go. I have a similar use case. I want to build a quick prototype and use the ripple components but don't want to go through the full process of setting up nuxt as yet another frmaework

@mj-hardy
sorry to reply you late. (Did not get any email - may be in spam). I still cannot figure out how I can use it directly like Vuetify

@mj-hardy
I just do the other test, yes, it is possible to use it without Nuxt based on the updated manual. I just have some minor issue to integrate with other CMS or if I want to have some defined code in the HTML div area

Yes, just find it is working in general (just has some minor issue). Will open the other comment instead


Failed to stage applications

Hi, I tried deploying cloudfoundry sample application spring-music and I keep getting this error.
It only succeeded once and I couldn't successfully deploy ever since.
FAILED
StagingError

TIP: use 'cf logs spring-music --recent' for more information
FAILED
StagingError

TIP: use 'cf logs spring-music --recent' for more information
[root@320 spring-music]# cf logs spring-music --recent
Connected, dumping recent logs for app spring-music in org hitachiyrl / space testgradle-02 as admin...

FAILED
Error dialing loggregator server: Get https://loggregator.cloudfoundry.yrl.intra.hitachi.co.jp:4443/recent?app=350acd65-b1f4-4fa7-8c50-47919aabce1d: dial tcp 10.xxx.217.xxx:4443: connection refused.
Please ask your Cloud Foundry Operator to check the platform configuration (loggregator endpoint is wss://loggregator.cloudfoundry.yrl.intra.hitachi.co.jp:4443).

Please advise.

Hi @kennetham
I'm not sure why spring-music is failing to start but you're getting the error tailing logs because it appears that you've mis-configured your loggregator (doppler) job.
Can you please give us:
your redacted bosh manifest for this deployment
the cf-push command you used to push spring-music
any other relevant information that might help us troubleshoot (infrastructure, custom configuration info, etc)
Thank you,
@zaksoup + @duncwinn, CF Release Integration (previously known as CF Runtime) team.

@kennetham I'm going to close this due to inactivity. If you're still having issues please comment and reopen.

@zaksoup sure. Thanks, I will reopen if the issue persists.


a problem about the easy-search output format

i saw that  --format-output  it has pident，fident，nident， the default is fident the fraction of the identical matches ，the pident is the percentage of the identical matches. I just wonder what the differences between pident and fident？ which is the blast format identity？

This was wrong in MMseqs2 for quite some time (https://github.com/soedinglab/MMseqs2/issues/337). The default fident is the one that matches blast's output.


Tianao

User: signin / signup
Product: product posting
Order: order management

Here are adjustment to what you should indeed do:

Order

(Don't do other use cases because each of a group member need to complete at least one use case, as per the requirement listed on quercus and for convenience of the final presentation)
Use case is completely different from entity, use case means what you need to do, entity is simply an object that the whole application might use. Hence you shouldn't just complete one use case for one entity, because you might want to create, list and cancel an order)
Here are adjustments you need to make in your code/repo:
Step 1:

sync your branch Ao with the latest main branch

Step 2:

add one use case for Order entity called 'create': (this create a new order)

the input data are username, password of the user and productId. Username and password is included because we need to verify the user has logged in.
the output data are the productId
add InputBoundary, OutputBoundary, DataAccessInterface and Interactor for this use case
InputBoundary is the interface for Interactor: write a method called execute
OutputBoundary is the interface for Presenter: write one method called prepareSuccessView with (OutputData) paremeter and another called prepareFailView with (errorMessage) as parameter

Step 3:

add other use cases for Order, below are the other use cases:

view (output all data of one product given the productId), list customer order (output a list of productId where the seller is the logged in user), list my order (output a list of productId where the buyer is the logged in user), cancel (cancel an order)
requirements of step 2 apply to all use cases in this step as well, except that you need consider different data as InputData and OutputData

Step 4:

add InteractorTest for each of your use case above

Not sure what to write in this use case? check week 6 clean architecture slides and use case and their test of users in main branch


Invalid Parameter - -set error

Checking Splash & Icon
✓  model\icon.png exists
✓  model\splash.png exists
Generating Icons for ios
{ [Error: Command failed: Invalid Parameter - -set
] timedOut: false, killed: false, code: 4, signal: null }

Did you install ImageMagick? And is it accessable from your PATH?

Yes The ImageMagic is installed correctly.
What I have installed version file name is: ImageMagick-7.0.2-4-Q16-x64-dll.exe

Execute this command line in dos:
where convert
and paste here the results.

C:\Users\ryanl>where convert
C:\Windows\System32\convert.exe

This is the problem. It didin't find the image magic "convert" tool and is using the windows convert tool.
For me I get this:
λ where convert
C:\Program Files\ImageMagick-6.9.2-Q16\convert.exe
C:\Windows\System32\convert.exe

Got it, thanks for the hint, I have to check the following option(which is not enabled by default):

Please update the readme to mention about it if you have time;)


Trouble Getting Algokit to Run in Windows 11

Hi All,
I have been spending a few hours trying to get algokit up and running, and I just can't seem to get things working.
I don't know how to get npm installed, and python3 populated according to the algokit doctor:

timestamp: 2024-03-31T20:58:57+00:00
AlgoKit: 2.0.1
AlgoKit Python: 3.12.2 (tags/v3.12.2:6abddd9, Feb  6 2024, 21:26:36) [MSC v.1937 64 bit (AMD64)] (location: C:\Users\james\pipx\venvs\algokit)
OS: Windows-11-10.0.22000-SP0
docker: 25.0.3
docker compose: 2.24.6-desktop.1
git: 2.44.0.windows.1
python: 3.12.2 (location: C:\Users\james\AppData\Local\Programs\Python\Python312\python.EXE)
python3: Command not found!
pipx: 1.5.0
poetry: 1.8.2
node: Command not found!
Node.js is required for some Node.js-based templates;
install via algokit project bootstrap within project directory, or via:
https://nodejs.dev/en/learn/how-to-install-nodejs/
npm: Command not found!
chocolatey: Command not found!

I have been able to run the smart contract hello world, but when I try to get it running in dappflow, I get a network request error:
Network request error. Received status 404 (Not Found): no transaction found for transaction id: XXOAPXUOZWLNSZIYUE6ZDAXN2SJYDN4ADKEERD72IF7LRPZQLWKA
Sorry about the stream of consciousness, but I have been trying to get this running for over four hours and not making much progress. Any pushes in the right direction would be greatly appreciated!

Suspect the dappflow issue is this: https://github.com/algorandfoundation/algokit-cli/issues/470. So it probably means the transaction executed, but there is a slowdown in indexer and dappflow isn't waiting long enough for the transaction to come back.
Node.js you can install via the url it outputs: https://nodejs.dev/en/learn/how-to-install-nodejs/. You only need it if you want to do a web app or write smart contracts with TypeScript rather than Python.
python3 not being defined is fine since python is, that's only a warning.

@robdmoore Thank you very much for your response! I'll install Node.js.
As for the transaction error, that is something that is currently an issue, and that will be worked on by the protocol team if I understand correctly.

It’s not an error that should block you though, it’s just the indexer being slow - everything is working properly without error (rappelled just isn’t handling the slowness well)

Will close for now since we have a separate ticket to track the indexer problem, but feel free to loop back if you need anything clarified


New model for ensemble

This is the data I submitted for the CDC ensemble forecast today.   I don't know if the data is in an acceptable format for t his site.

Too much data for this site


[ Update ] Add description prop & slot to SfRadio

Related issue

https://github.com/DivanteLtd/storefront-ui/issues/126
Scope of work

    - add description option to SfRadio options prop
    - add [slot description] to SfRadio stories
    - add tests for description option
    - add description slot

Screenshots of visual changes

Checklist

[x] I followed composition rules for my component
[x] I tested the component in most common device sizes (can be tested in Storybook from viewport addon in top menu)

Hey! On the designs description is more gray-ish. Could you please use figma to check colors and find corresponding scss var?
You can find css values in css panel when clicking on a component in Figma

@filrak PR updated

@bahdcoder styling is still different than on designs

vs

Hi @filrak what differences do you think can be made ? At the moment all I see is the font.

@bahdcoder sorry for being not specific enough.
I meant font-size and color of the font

@bahdcoder I'll finish it by myself if you don't mid ;)

@filrak I believe all properties match the design now. Please have another look


Advising to archive full image

While we recommend sharing the Dockerfile instead of the image on grounds of transparency; there is a case to be made for archiving the full image somewhere.

moved from private.


geodreckon - bug when azimuth is 0 and optional output S12 is requested

I've found a bug in geodreckon when the optional output S12 is requested and the azi1 input is, or is an array with a 0.
The following code should replicate the issue.
lat = -33.911143;
lon = 151.225339;
distances = linspace(0,30000*1000,100);
azi = [0 1 2 3 4]; % Some azimuth array with a 0
[lats,lons, azi2, S12, m12, M12, M21, a12_s12] = geodreckon(lat,lon,distances',[0 1]);

Running the above code should yield the following error.
The logical indices contain a true value outside of the array bounds.

Error in geodreckon (line 301)
    salp12(s) = salp2(s) .* calp1(s) - calp2(s) .* salp1(s);

Let me know if you need anything else! I really like the library - it has been super useful.
This is my first bug/issue report, so let me know if I've missed anything or committed a social faux paus.

Thanks for finding this bug and for your detailed bug report.  I've fixed the bug and will push out a new version of the package soon.  If you want to try the fix, apply this patch:
diff --git a/inst/geodreckon.m b/inst/geodreckon.m
index 49a6010..37256f9 100644
--- a/inst/geodreckon.m
+++ b/inst/geodreckon.m
@@ -298,6 +298,7 @@ function [lat2, lon2, azi2, S12, m12, M12, M21, a12_s12] = geodreckon ...
                    csig12 <= 0);
     calp12 = salp0.^2 + calp0.^2 .* csig1 .* csig2;
     s = calp0 == 0 | salp0 == 0;
+    salp1 = expand(salp1, S1, Z); calp1 = expand(calp1, S1, Z);
     salp12(s) = salp2(s) .* calp1(s) - calp2(s) .* salp1(s);
     calp12(s) = calp2(s) .* calp1(s) + salp2(s) .* salp1(s);
     if e2 ~= 0

P.S. It's "faux pas" (meaning "false step" in French), not "faux paus".

The bug fix is in Version 2.3.2 released on 2024-10-05.


Fail to paste one blob to an Azure AD attached ADLS Gen2 blob container

Storage Explorer Version: 1.10.1
Build: 20191029.3
Branch: master
Platform/OS: Windows 10/ Linux Ubuntu 19.04/ MacOS High Sierra
Architecture: ia32/x64
Regression From: Not a regression
Steps to reproduce:

Select one ADLS Gen2 blob container.
Give RBAC access to the ADLS Gen2 blob container to a user like 'Blob Data Owner Role'.
Attach this ADLS Gen2 blob container via Azure Active Directory (Azure AD).
Paste one blob to the attached ADLS Gen2 blob container.
Check the result.

Expect Experience:
Paste successfully.
Actual Experience:

An error occurs.

Details.
{
"message": ""failed to perform copy command due to error: a SAS token (or S3 access key) is required as a part of the source in S2S transfers, unless the source is a public resource""
}

This should have been fixed in the latest 20191029.11 build. Please verify.


Cache Jinja environment by response type

DynamicDictLoader supports caching but the loader and the environment would be created on each construction, rather than shared, enabling caching. Here we cache the Jinja environment (and loader) by response type.
In terms of real performance, this gives is a couple of ms (measurements made with the motoserver):
After this change:
In [106]: timeit for i in range(10): sqs_client.create_queue(QueueName=str(i))
85.5 ms ± 3.21 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

In [107]: timeit for i in range(10): sqs_client.create_queue(QueueName=str(i))
68.3 ms ± 3.32 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

Master:
In [108]: timeit for i in range(10): sqs_client.create_queue(QueueName=str(i))
99.9 ms ± 3.78 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

In [109]: timeit for i in range(10): sqs_client.create_queue(QueueName=str(i))
80.5 ms ± 2.98 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

Codecov Report

Merging #5308 (24b3aca) into master (79af23a) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #5308      +/-   ##
==========================================
+ Coverage   95.97%   95.98%   +0.01%
==========================================
  Files         704      704
  Lines       69837    69843       +6
==========================================
+ Hits        67027    67041      +14
+ Misses       2810     2802       -8

Flag
Coverage Δ

servertests
36.03% <100.00%> (+<0.01%)
:arrow_up:

unittests
95.92% <100.00%> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

moto/core/responses.py
94.48% <100.00%> (+0.05%)
:arrow_up:

moto/efs/models.py
91.07% <0.00%> (-0.30%)
:arrow_down:

moto/ssm/models.py
94.61% <0.00%> (+0.10%)
:arrow_up:

moto/config/models.py
99.34% <0.00%> (+0.13%)
:arrow_up:

moto/sqs/models.py
96.90% <0.00%> (+0.17%)
:arrow_up:

moto/route53/responses.py
96.38% <0.00%> (+0.32%)
:arrow_up:

moto/sns/models.py
97.22% <0.00%> (+0.39%)
:arrow_up:

moto/resourcegroupstaggingapi/models.py
83.53% <0.00%> (+0.59%)
:arrow_up:

moto/codebuild/exceptions.py
100.00% <0.00%> (+7.14%)
:arrow_up:

Continue to review full report at Codecov.

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


fix bug with paths

for example
/fsx/rom1504/CLIP_benchmark/clip_benchmark/datasets/vtab/svhn_classnames.json
trying to get the file from current dir instead of dataset dir
@FreddeFrallan @djghosh13

What exactly do you mean? From what I can tell, the classnames JSON file is meant to be loaded from the folder that CLIP_benchmark was installed to (which is what is happening for me), and not from the dataset directory. Are you saying you'd prefer it read from the dataset directory?

It used to be read from the dataset directory yes
Otherwise that means the files are all over the place no ?
Not sure when that changed, i guess a few commits back ?

Yeah, I guess so (I've only been using the library for the last few weeks). But I wouldn't say they're all over the place, it's just the classnames and zeroshot templates files stored in the CLIP_benchmark folder, and the data stored in the data folder, right?
Though this does differ from the webdataset setup we decided on where those are all stored together. I guess the importance of that distinction is whether people should easily be able to change the classnames/templates or not. So maybe we do want to move those back with the datasets.

fixed


Make http client configurable

Opening it here since I'm using the couchdb driver, but maybe the change would require the driver interface update.
Currently the couchdb driver is using a standard http client here, but it would be good to make it configurable to allow some extra options for the transport.
Right now we are patching the client, but obviously this is not what we want to do long term. Would be good have it in the upstream. Is this something that could be also interesting for others?

cc @SugandhaFedUp

That's a good suggestion.  I don't think it will make for a very intrusive change. Let me see what I can come up with.

I would welcome your feedback on #154. This PR would allow specifying a configurable *http.Client, but by registering a new driver instance. Something like:
kivik.Register("mycouch", &couchdb.Couch{
    HTTPClient: &http.Client{ ... },
})

client, err := kivik.New("mycouch", "http://localhost:5984/")

Would this suit your needs?  This would be very cumbersome if you needed an ever-changing HTTP client.  If that's your use case, I'd probably look at using the Authenticate() mechanism to provide a custom client, but that seems dirtier to me, unless a compelling case can be made.
What do you think?

Thank you for the quick feedback!
Yes, I like the approach, this should solve the issue - since we only need to specify the client once.
Tomorrow I will have a closer look at the PR and get back to you.

@flimzy I'm currently testing the changes, do I need to do extra steps to support basic authentication after I specify the custom driver as in your example?
Previously I was providing the connection string like http://user:host@localhost:5984/ and it worked, but now I receive unauthorized message. I will continue looking into that, just wanted to ask upfront, maybe you have a quick answer.

Thanks for bringing that up.  I guess that might make sense. I'll take a look.
Are you setting the HTTP transport in your custom client?

I think I found the problem. It seems to be this peace of code that is ripping off the user and updates the dsnURL:
https://github.com/go-kivik/couchdb/blob/master/chttp/chttp.go#L58
However, I don't know why it worked before.
And I was able to fix it by specifying the basic authentication separately after I create the client:
	client.Authenticate(context.TODO(),couchdb.BasicAuth("user","pass"))

And this seems to be the right way to do that.

That makes sense. I think I can come up with a proper fix.


[BUG] Save in 1Password Button Overlaps Input

Expected Behavior

Either the 1Password button save button is disabled or the CSS is adjusted to ensure it does not overlap the actual input's text
Current Behavior

The Save in 1Password Button overlaps the final digit in the OTP input obscuring the entered digit either partially or entirely.
Possible Solution

You can read a bit more about handling or disabling the 1Password integration in 1Password's docs
Steps to Reproduce

Install 1Password Extension in your favourite browser of choice
Visit a page where the OTPInput is being used (e.g. https://ui.shadcn.com/docs/components/input-otp or https://input-otp.rodz.dev/)
Focus the input
Ta-da! You now see the Save in 1Password Button overlapping the input 🎉

Context (Environment)

Using Chrome 122 on macOS Sonoma 14.4
Also tested on Safari 17.4 and Firefox 123
Would likely also affect other password managers like LastPass and Dashlane though I've not tested this

Detailed Description
n/a
Possible Implementation
n/a

Just seen that you made 8f4e92fa777dc7282fcfbe4b81dbbf632038fb31 a few hours ago so, I think my issue may already be redundant. That timing tho 😅

yep that's solved in the next release!

solved by 8f4e92f all the way until 5ee7e6e5d003b2d5a726dcfc1584934dc6ec5d69


Velocity 3.0.0

Description
Starting in Velocity 3.0.0, Velocity now supports handling events in an truly asynchronous matter. In particular, Velocity now has the ability to wait on a CompletableFuture that must complete (see Javadoc for more information and also the Velocity wiki) and this would be useful for loading data without reserving an event thread. Likewise, Velocity Polymer will require any long-running event logic listener to run asynchronously.
Note that Velocity 1.1.x is still supported (until Minecraft 1.18, anticipated to release around Christmas), so this is more of a forward-looking suggestion.
Proposed behaviour
LuckPerms should use the EventTask API introduced in Velocity 3.0.0.

I only support one version of each platform at any one time.
When Velocity 3.0.0 is released and being encouraged for use, I will update LuckPerms (and drop support for 1.x.x).
I'd appreciate any guidance you're willing to give as to when the best time for this is.

When Velocity 3.0.0 is released and being encouraged for use, I will update LuckPerms (and drop support for 1.x.x).

Velocity 3.0.0 is already released and we are encouraging people to use it - however, Velocity 1.1.x will be officially supported until MInecraft 1.18 is released to give server owners and plugin developers time to update. So the best time to make the move is January 2022, or you can create a second Velocity 3.0.0-specific version of the listener class.

I was confused between Velocity 3.0.0 and 4.0.0 - my apologies.
I can see that Velocity 3.0.0 is being advertised as the current stable build, so I will update.

https://github.com/lucko/LuckPerms/compare/feature/velocity3
Look ok?

I'm in Limbo here. Do I go with v1.1 or v3.0? It appears lucko is waiting for astei to reply?

LuckPerms as-is still works fine with 3.0.0. I've just been very busy and not given him a response yet.

I tried it from a clean install and I cannot use the lpv commands from rcon. Nothing happens when I try and set the initial permissions. Are you sure that it works?

Yes, this should work fine @lucko. I see the potential in a more deeper integration but this works for now.

26de6d3a and 4332725 integrate this, so closing this issue as resolved.


SB-780: Add artifacts to the local Maven index when the repository is a proxied one

@fuss86,
Thanks for your help with this!


Add support for timeouts

[ ] Client should give up after not hearing from the server after a duration has elapsed
[ ] Server should attempt to resend packets after not receiving an ack for the last one it sent after a certain time period has elapsed
[ ] Server should give up on resending after n resent packets

You can choose the value for 'n' and/or the timeout duration.

Hi, I'm interested in working on this.
I was thinking that we could utilize UdpSocket::set_read_timeout to handle the timeout, then handle the "n resent packets" case ourselves with a counter.
What do you think? If you approve, I'll get to work on this.

That sounds like a great approach! Thank you 😀


why not use --device cuda when run ‘python3 export-det.py’ export onnx in jetson.md ?

why not use --device version when run ‘python3 export-det.py’ export onnx in jetson.md file?

And could  you please explain why we use PC to export onnx using pc and tensor rt by jetson？

Onnx a is cross cross-platform model definition so that we can export it on pc and use it on jetson.
But tensorrt is no cross cross-platform.


Is it possible to create more than 1 Group?

Is it possible to create more than 1 Group?

You can run tg-archive --new and create a new directory and edit the config to sync a new group.

You can run tg-archive --new and create a new directory and edit the config to sync a new group.

but it then requires a new API id and API hash

What I mean is having more than Channel/Group chat on the same site


Support blockchain chart on chain list page

Support a blockchain chart on the  chain list page. The blockchain selector should function like selecting an exchange on the market chart

https://github.com/chaineco/blockcare/commit/dd3eace4f7b76af47337d6447bb9a5ca960a98bf


Add ScalarCloseHandler

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

Comparison is base (1b5cac7) 100.00% compared to head (48467aa) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #419   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           73        73
  Lines         2568      2586   +18
  Branches       415       417    +2
=========================================
+ Hits          2568      2586   +18

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


[MWPW-147486] Pricing Cards Tooltip Update

Describe your specific features or fixes
Updates the tooltip to include a divot and a darker background color
Resolves: https://jira.corp.adobe.com/projects/MWPW/issues/MWPW-147486?filter=myopenissues
Test URLs:

Before: https://main--express--adobecom.hlx.page/express/
After: https://tooltip-v2--express--adobecom.hlx.page/drafts/echen/pricing-cards

Is this going to be an edge case we need to account for?

Oh actually I just took a quick look at the figma https://www.figma.com/design/U53RSpHBLEGRSNvfvs8WFI/All-Pricing-Plan-Pages?node-id=5769-78752&m=dev
It seems the tooltip is just a tad too close to the icon. The figma calls for 8px distance.
Also it seems that the Mairi wants the tooltip to be able to overflow the cards. I know the cards have overflow: hidden; but I can't remember why. If that was an unnecessary rule then the fix is probably pretty simple.

Is this going to be an edge case we need to account for?

Oh actually I just took a quick look at the figma https://www.figma.com/design/U53RSpHBLEGRSNvfvs8WFI/All-Pricing-Plan-Pages?node-id=5769-78752&m=dev
It seems the tooltip is just a tad too close to the icon. The figma calls for 8px distance. Also it seems that the Mairi wants the tooltip to be able to overflow the cards. I know the cards have overflow: hidden; but I can't remember why. If that was an unnecessary rule then the fix is probably pretty simple.

Hey Quinn, I fixed the overlay bug, but the tooltip does not fully cover the preceding lines if its spaced too high.

@echen-adobe it seems to me that the design doesn't ask for coverage of the preceding line.
On a different note, have you had a chance to try out the left: 50%; approach on the parent element? It seems that the tooltip it's still a few pixels off to the right.

@echen-adobe it seems to me that the design doesn't ask for coverage of the preceding line.
On a different note, have you had a chance to try out the left: 50%; approach on the parent element? It seems that the tooltip it's still a few pixels off to the right.

@qiyundai Ok, added in the extra margin now. It took more than 8px to get full clearance of the preceding line though. And I did get rid of the decimal percentage too.


Video tutorial #2: how to add images and more

In our first tutorial we mentioned there would be a new tutorial showing how to add images to Flowershow website.
It would be nice to finally create one.
Acceptance

[ ] video tutorial that shows:

[ ] how to add images to MD pages (incl. setting attachments folder in Obsidian)
[ ] that you can also embed YT videos
[ ] that you can also embed Twitter posts
[ ] ...

@rufuspollock do you want @PhilippeduPreez to work on it?

@olayway hmm, i think this could wait right now.


Update examples

Update many of our examples to align with current syntax and semantics.

Thanks @everythingfunctional !
@ansharlubis, some new tests that we can try for the generics in LFortran. :)


nsd-control write says "ok" despite permission problem

nsd-control write says ok even if errors occur when writing the zone file.
I used nsd to transfer zones from my old tinydns server and wanted to write the zone files. It said all is fine:
$ nsd-control write example.org
ok

Unfortunately the zone file was not written in my configured zonesdir. Upon inspecting nsd's logs I saw:

nsd[48816]: cannot write zone example.org file example.org.zone~: Permission denied

The manual says nothing about nsd-control not returning the actual command execution result, so I expect that nsd-control tells me if something is wrong.
Please let either nsd-control tell me that the write command failed, or document this behavior in the manual.

Hi @cweiske, looking at the code, that is indeed the case. I agree that ideally nsd-control returns whether or not the zone was written. Unfortunately, that is not an easy fix. The reason for that is that execution of the command is asynchronous. nsd-control will connect and nsd puts the command in a queue, to be executed on reload. Once the server process reloads (different process), it will read the instruction from the queue and do the action. The result of the command is not communicated back to the process that nsd-control is connected to.
With that in mind, I'm also not completely sure we want to implement whether the file is actually written. The reason being that the reload may take a "long" time, especially with corrupt xfrs and zone verification enabled (how long that takes depends on the command being executed to verify).
It may be a better idea to update nsd-control zonestatus to include whether the file is on disk. Also not a trivial task, but at least we don't have to make nsd blocking with regard to queue handling. We can of course add an option to instruct nsd-control to wait until zonestatus returns on-disk-after-last-write-command. In any case, updating the manual to state current behavior is a good idea.

Not using "ok" as status message would help as well. It could say something along the lines of "command queued".
Adding a "--sync" option to wait for the result could also be an option, but I do not think that the implementation effort is worth the benefit.

Reading through remote.c, ok seems to indicate command was accepted rather than successful. I chose not to update the response because users may have scripts that depend on the output. A small update to the nsd-control manpage should help avoid confusion for new users.
@cweiske, I'll leave this issue open if that's ok with you. We add synchronous operation in the future as an extra feature. It may prove useful for scripted use (e.g. for #259).


Move google connectors to use  instead of env var

Pull request
Description
The old code did only work with a single environment variable this makes it impossible to use tremor with more then a single service account. This change instead allows specifying either the file to read from (equivalent from the env variable) or as a embedded json.
Related

Related docs PR

Checklist

[x] The RFC, if required, has been submitted and approved
[ ] Any user-facing impact of the changes is reflected in docs.tremor.rs
[x] The code is tested
[x] Use of unsafe code is reasoned about in a comment
[x] Update CHANGELOG.md appropriately, recording any changes, bug fixes, or other observable changes in behavior
[x] The performance impact of the change is measured (see below)

Performance
-/-

I'll do the docs in #2325 as doing them now would just mean moving them there 5 minutes after


Specify file length, for performance.

See b/27498754

Coverage remained the same at 21.273% when pulling 1d2ff14deef50cf06055ce4126b42409bcbe7f40 on storage-speed into 58ba30912de5c9346682abae353e224637e4081b on master.


Consistent phase units

Unit of 2\pi

@dieris let's talk tomorrow - I'm not sold on radians

Seems like fraction of a circle would be better?


selectedImage does not work

selectedImage for tabs does not work on ios 10, Tabris 1.9.0
Help please.

Can you post the code you're using?

tabris.ui.set({
background: mainBackgroundColor,
statusBarTheme:'dark',
textColor:'white'
})
var drawer = new tabris.Drawer()
.on("open", function () {
console.log('open')
})
.on("close", function () {
console.log('close')
});
var page = new tabris.Page({
topLevel: true
})
var navTabFolder = new tabris.TabFolder({
layoutData: {left: 0, right: 0, top: 0,bottom:0},
paging: true,
tabBarLocation:'bottom'
}).appendTo(page);
var tabSchdedule = new tabris.Tab({
title: "我的日程",
image:{src:'images/cal50.png',width:25,height:25},
selectedImage:{src:'images/cal50filled.png',width:25,height:25},
}).appendTo(navTabFolder);
var tabAccount = new tabris.Tab({
//title: "账号",
image:{src:'images/cal6.png',width::25,height::25},
selectedImage:{src:'images/home.png',width::25,height::25},
}).appendTo(navTabFolder);
page.open()

I was able to replicate your issue in iOS 9 (by replacing the paths to images hosted on the internet).  The same code worked fine on Android.

Thank you. Hope the tabris team could check this issue.

Thanks for reporting, and thanks @cookieguru for also checking on iOS 9.
@pmol Could you have a look?

@newhow Do your images have any transparent parts? It seems that the opaque regions are tinted.

@newhow Could you try with some images from http://ionicons.com/ and see if the problem persists?

@ralfstx Tried using icons from http://ionicons.com/ as you suggested. The problem persists. Unlike @cookieguru 's test result, selectedImage does not work on my Android cellphone.

I have tested the example on android and it works as expected:

tabris.ui.set({
  background: "green",
  statusBarTheme:'dark',
  textColor:'white'
})

var drawer = new tabris.Drawer()
  .on("open", function () {
    console.log('open')
  })
  .on("close", function () {
    console.log('close');
  });
var page = new tabris.Page({
  topLevel: true
})

var navTabFolder = new tabris.TabFolder({
  layoutData: {left: 0, right: 0, top: 0,bottom:0},
  paging: true,
  tabBarLocation:'bottom'
}).appendTo(page);

var tabSchdedule = new tabris.Tab({
  title: "我的日程",
  image:{src:'images/card.png',width:25,height:25},
  selectedImage:{src:'images/card-filled.png',width:25,height:25},
}).appendTo(navTabFolder);

var tabAccount = new tabris.Tab({
  title: "账号",
  image:{src:'images/cart.png',width:25,height:25},
  selectedImage:{src:'images/cart-filled.png',width:25,height:25},
}).appendTo(navTabFolder);

page.open();

on my Android:

@newhow What image were you expecting on the 我的日程 tab?

@cookieguru I'm expecting card-filled.png, like the one shown by @mpost when the 我的日程 tab is selected.

@newhow Just as a sanity check, if you use the same image string (image:{src:'images/cal50.png',width:25,height:25},) in an ImageView does the image show up?
I tested @mpost's snippet above on iOS 9 and Android 6.0.1.  Still seeing the same things--only placeholders on iOS with everything working normally on Android.  I've only been testing with images not bundled with the app but I've noticed that the iOS client is definitely downloading images (checked access logs on the server).  It's also "decoding" them correctly--I used images (png and jpg) of different ratios and the image's bounding box has the same ratio as the source image.  When swiping between tabs it would correctly alternate between square/rectangle etc.  Also tried top/bottom/auto and the behavior was the same.
One inconsistency between platforms: if the height and width are omitted Android resizes the image to a maximum size while iOS displays them at their native size.  For example, a 500x400 image is resized to a small thumbnail on Android but on iOS it takes up about a third of the screen.
Am I correct in assuming that images are not supported on iOS when tabBarLocation is set to top?

@cookieguru Yes you are correct about
Am I correct in assuming that images are not supported on iOS when tabBarLocation is set to top?

Besides i concur with the comments from your previous post.
Regarding the sizes... You should be using images with the correct size according to your target platform.

@cookieguru  Yes: "Just as a sanity check, if you use the same image string (image:{src:'images/cal50.png',width:25,height:25},) in an ImageView does the image show up?"
Agree that there are lots of  inconsistency between platforms. It's a huge challenge to write code once and use it everywhere.

@cookieguru and @mpost is it a must that the PNG is 24bit format? Just to make sure. I tested 24bit PNG as tab image (both normal and selected) on Android and they works, though.

@jokorivai 32 bit PNGs work; eclipsesource/tabris-con uses them.

Thank you @cookieguru

Sorry, it's my fault that I did not really update tabris to version 1.9.0. The lesson I got is that just changing version number in package.json is not  enough. You have to run npm install again to update tabris module. I feel so sorry my low-level mistake wasted your time @cookieguru @mpost @ralfstx. After running npm instal， selectedImage works like a charm.

Interesting; I was using the scratchpad with my local app (1.9.0) and this is what the served package.json looks like:
{
	"dependencies": {
		"tabris": "https://tabrisjs.com/downloads/1.9.0/tabris.tgz"
	},
	"title": "My Scratchpad",
	"description": "A playground application",
	"main":"app.js"
}

I manually edited my package.json:
{   "main": "indexios.js",   "dependencies": {     "tabris": "^1.9.0"   } }
and  run code in the tabris developer app. As I reported above, version-bump in package.json is not enough for upgrading. I had to run npm install to make it really happened.

@newhow Right, upgrading to 1.9 on the JS side fixed it for you, but here I am running 1.9 on both and I see the issue.

Great to see this figured out. Thanks @cookieguru for the support.

@cookieguru please try these images:  https://icons8.com/web-app/23264/user and https://icons8.com/web-app/23264/user#filled. Also, make sure you are really on Tabris 1.9.0.

@newhow Yes, the client is 1.9.0.  The scratchpad always serves up the latest stable version of the JS library regardless of what version the client is running.


os/exec: export thread id come from CreateProcess in windows

This is feature request.
On windows, we cannot get thread id of spawned process by os/exec package without using Tool Help Library.
But I want to use thread id returned from CreateProcess api.
Because I'd like to use Job Objects in our go application.
In our application, we need to create process with CREATE_SUSPENDED flag to assign job object before process starts.
But without thread id, it is difficult to get thread handle passed to ResumeThread for created process.
Can I add a filed tid to syscall.SysProcAttr, so that I can know thread id of created process?

@alexbrainman

What is the value of cmd.Process.Pid on Windows?  It has some meaning, but I don't know if it is the value you are looking for.

cmd.Process.Pid is id of process on Windows, not id of thread.
I'd like to get dwThreadId from PROCESS_INFORMATION instead of dwProcessId.

What @atetubou is asking is for the thread handle, not the thread id.
Right now, StartProcess() immediately closes the thread handle before returning to the client.
https://go.googlesource.com/go/+/refs/tags/go1.12.5/src/syscall/exec_windows.go#333

@maruel I'm thinking export thread id instead of thread handle now.
Better to let users get thread handle from thread id because I don't want users to choose whether leaking thread handle or not.

On windows, we cannot get thread id of spawned process by os/exec package without using Tool Help Library.

What is wrong with using CreateToolhelp32Snapshot ? There is a runtime.TestNumCPU that does what you want. Why cannot you do the same?

Can I add a filed tid to syscall.SysProcAttr, so that I can know thread id of created process?

Adding just dwThreadId will not work, because it will become invalid the moment hThread is closed.
syscall.SysProcAttr is already complicated enough. And syscall.SysProcAttr at this moment is only used to pass data into CreateProcess. You propose syscall.SysProcAttr to be used to return data from CreateProcess. And whoever uses hThread must remember to closes it as soon as they are done with it, otherwise they will end up with leaked handles. And errors caused by leaked handles are always difficult to debug.
Is your use case worth complicating syscall.SysProcAttr?
Alex

If I were to propose on linux:
"On every process creation, we'll ask the OS to take a snapshot of every threads on the system, allocating a significant amount of kernel memory scaled to the active workload; more workload, the slower it is"
I think you would think it's a very bad idea that doesn't scale. I don't see why this would be more acceptable on Windows. That's my objection on CreateToolhelp32Snapshot.

Adding just dwThreadId will not work, because it will become invalid the moment hThread is closed.

This is plain untrue, I don't know why you think thread ID changes on Windows. You can use OpenThread by the thread id.
But OpenThread itself is problematic. In some case (for example with Chrome's Sandbox on Windows) or with CreateProcessAsUser, a process could be created in such way that its SECURITY_DESCRIPTOR inhibits opening a thread handle, while the thread returned by CreatreProcess/CreateProcessAsUser is usable. But the Go stdlib closes the handle with no option to opt out of this behavior. Finally, closing an handle just to open it back in a performance critical code path doesn't sound good design pattern.
So yes, it's worth it. A single Chrome compile is over 50000 process creation and is both highly I/O and CPU bound.
What @atetubou proposes is the less disruptive option given the current constraints, and also the most performant one.

But OpenThread itself is problematic. In some case (for example with Chrome's Sandbox on Windows) or with CreateProcessAsUser, a process could be created in such way that its SECURITY_DESCRIPTOR inhibits opening a thread handle, while the thread returned by CreatreProcess/CreateProcessAsUser is usable.

But we don't call CreateProcess with such SECURITY_DESCRIPTOR here?

Not yet. We will once we implement lowering the process token integrity level, but that's a separate issue outside the scope of the issue here.

I think you would think it's a very bad idea that doesn't scale. I don't see why this would be more acceptable on Windows. That's my objection on CreateToolhelp32Snapshot.

Maybe you are right, maybe you are wrong. I have no idea how expensive that scenario would be in your setup. But I would actually try and see.

This is plain untrue, I don't know why you think thread ID changes on Windows.

That is how I interpreted

dwThreadId
A value that can be used to identify a thread. The value is valid from the time the thread is created until all handles to the thread are closed and the thread object is freed; at this point, the identifier may be reused.

from https://docs.microsoft.com/en-us/windows/desktop/api/processthreadsapi/ns-processthreadsapi-process_information How can you be sure that all handles to the thread are not closed and the thread object is freed by the time you decide to use dwThreadId ?

What @atetubou proposes is the less disruptive option given the current constraints, and also the most performant one.

What you propose is complicated and unsafe new API that all users of syscall.SysProcAttr need to learn without actually using it. If performance is so important to you, you should just copy whatever code you need and adjust the copy as you see fit.
Alex


Use float instead of double to avoid issues with MPS device

Addresses: https://github.com/lvwerra/trl/issues/440#issuecomment-1623160589
We should use float instead of double to avoid issues with MPS device
cc @lvwerra

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Can you quickly run the IMDb example to check that we are not breaking anything?

Sure yes, running it now, will merge after few steps and making sure it converges

Here are the logs; https://wandb.ai/younesbelkada/trl/runs/zmimbndd?workspace=user- all seems good ! Merging!


Refactor callacks to take (err, data)

To support passing back errors more clearly

Resolved by https://github.com/chipsenkbeil/distant.nvim/commit/e2bbf74f814755f4fa027d742bca271cb1b9d83d


boards: nios2: qemu_nios2: Add board documentation

Add the missing board documentation for qemu_nios2.
Fixes #3363
Signed-off-by: Ramakrishna Pallala<EMAIL_ADDRESS>

Codecov Report

Merging #9584 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #9584   +/-   ##
=======================================
  Coverage   52.15%   52.15%
=======================================
  Files         212      212
  Lines       25916    25916
  Branches     5582     5582
=======================================
  Hits        13517    13517
  Misses      10149    10149
  Partials     2250     2250

Continue to review full report at Codecov.

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


node typescript build task not found with multiroot workspace

When you have a multiroot workspace with a typescript and javascript project and try and debug the typescript project the build step fails.

VSCode Version: 1.28.2
OS Version: Mac OS

Steps to Reproduce:

Have a workspace with a typescript project and javascript project
open a typescript file and press f5 to debug
an error will pop up saying that the prelaunch task tsc: build - tsconfig.json can't be found

Does this issue occur when all extensions are disabled?: Yes

I can't repo this is a simple workspace with the following launch and tasks.json:

If you still see this, please share your launch.json and tasks.json (or even better, a small example workspace)


(greengrass): Cannot delete deployment

Describe the bug
Cannot delete deployment
To Reproduce

Install greengrass on a device and give it a thing-name burro-7771.
Create a thing group test-7771 and add the device burro-7771 into it.
Create a group deployment Deployment for 7771 - 2.7.0 with a random component and deploy it to the group test-7771.
After the group deployment in Active status and the deployment to burro-7771 is successful.
Create a group deployment Deployment for 7771 - 2.7.0 with no component and deploy it to the group test-7771.
After the group deployment in Active status and the deployment to burro-7771 is successful.
Delete the group test-7771.
Cancel the group deployment Deployment for 7771 - 2.7.0
Try to delete the deployment since it's empty already but don't know how to delete the deployment.

Expected behavior
Expecting that the deployment can be deleted since it's empty already. ( Or even if it's not empty, just try to make it cleaner on the web UI.  But wouldn't it be harder to keep track of anything be deployed? )
Or, is there a way to hide those empty deployments from the UI part?
Empty deployment example:

Several empty deployments under a core device which should be wipe out.

Actual behavior
Cannot delete the (empty) deployments.
Environment

OS: Ubuntu 18.04
JDK version: JAVA8
Nucleus version: 2.3.0

Additional context
Impact of the setting : It may makes people hard to manage stuff since it's messy at some point.

Hi Debo,
Sorry but deployments are not able to be deleted at this time. This is not a bug, it is intended. We are working to add a delete deployment API, but it does not yet exist.


Support other lists

There are some other lists we need to monitor.  Would be great if this software handled them as well:

The UN Consolidated Sanctions List:
https://www.un.org/securitycouncil/content/un-sc-consolidated-list

The UK sanctions list:
https://www.gov.uk/government/publications/financial-sanctions-consolidated-list-of-targets/consolidated-list-of-targets

The EU sanctions list:
https://webgate.ec.europa.eu/europeaid/fsd/fsf#!/files

The third one is slightly annoying because you to create credentials to access the list.

That sounds like a good idea. I don't know when I'd have time to work on this though.

I can't speak for the non-US lists, but I'm pretty sure the Consolidated Sanctions list is a very similar structure to the SDN list. Would that be possible to add? (is it already there and I just missed that section of the readme?)

I think we would expand the fields included on the response of GET /search and query parameters. Right now I'm not planning to add other lists, but would help if anyone submits code to include other lists.

This project was originally intended to just provide and OFAC search for SDN. We have renamed the project to watchman to reflect the communities expand into other lists and
UN Consolidated Sanctions List  #182
UK Office of Financial Sanctions Implementation (OFSI) #183
EU Consolidated list of sanctions #184
Unverified List (UVL) – Bureau of Industry and Security #185
Entity List – Bureau of Industry and Security #186
AECA Debarred List - State Department #188
Foreign Sanctions Evaders (FSE) - Treasury Department #189
Sectoral Sanctions Identifications List (SSI) - Treasury Department #190
Palestinian Legislative Council List (NS-PLC) - Treasury Department #191
CAPTA List #193


GHC 7.10 support

Apart from bumping upper bounds, there's this build failure:
Type/Eq/Higher.hs:18:8:
    Could not find module ‘Data.OldTypeable’
    Perhaps you meant Data.Typeable (from base-<IP_ADDRESS>)
    Use -v to see a list of the files searched for.

Thanks for the report. Out of curiosity, do you happen to have any idea about what should happen to Type.Eq.Higher? Should I migrate it to use the new Data.Typeable? Kind of weird to have it use Data.OldTypeable in one version of GHC and Data.Typeable in another, but I don't know what would be less weird.

@glaebhoerl There was a change to typeable in GHC 7.8. The Typeable module was changed, and the old version was renamed to Data.OldTypeable. That module was removed entirely. So it seems to me that to support GHC 7.10, you need to support the new typeable API. You can then use that for GHC 7.8 and 7.10. If you also want to support older GHCs, you can use CPP to use the old code for those, I guess.

@hesselink Yes, I know. I think I wrote this package at something like the worst imaginable point in time. For GHC 7.6 we had PolyKinds but the old mono-kinded Typeable, so the package used that, and provided Type.Eq.Higher for Typeable1 and 2. Then for GHC 7.8 it happened as you wrote, so I migrated Type.Eq.Higher to use OldTypeable and the rest to use the new Typeable. Now for 7.10 OldTypeable is gone and I frankly have no idea what to do with it. Part of me wants to just deprecate the package and tell people to migrate to the equivalent functionality in base, now that they provide it.

@glaebhoerl Oh, then I misunderstood your question. I'm not familiar with the code in question at all, so I don't know how you should rewrite it for the new typeable specifically. @bergmark just pointed me here because he thought I know about the problem in general. Sorry :(

I just gave it a quick try, and it looks like the new typeable is backwards compatible. Just importing the new Data.Typeable and switching to explicit imports (since there are some more name clashes), and type-eq compiles. Let me know if you want me to clean it up and send a PR, or if you'll do it yourself (I don't have time now).

I made a PR in case anyone wants the code: #5. It still has warnings, but otherwise works with GHC 7.4, 7.6, 7.8 and 7.10.

Thanks for doing this, and sorry for not being on top of things myself. Thinking about the 'right' way to expose the staggered compatibility breaks in GHC and base gives me a headache, but I think this should be fine (maybe it is the right way, if I were to think it through), and anyways, the package only has a single reverse dependency which uses a single function which is not even from the affected modules...

These represent breaking changes under GHC 7.8 so I bumped the version as well. Uploaded to Hackage also.
(At first I got:

This tarball is in the non-standard GNU tar format. For portability and long-term data preservation, hackage requires that package tarballs use the standard 'ustar' format. If you are using GNU tar, use --format=ustar to get the standard portable format.

which is peculiar considering that I just did runghc Setup.hs sdist. Google found nothing. Anyway, I solving it by unpacking and repacking with the flag.)

Seems to be haskell/cabal#1901. Using cabal install should work, or you can install a newer version of the Cabal library since they fixed the bug.

Aha, thank you. :)

Thanks guys!


[3.55] No filling color in circle shape game object

Version

Phaser Version: 3.55.0

Operating system: win10

Browser: chrome, firefox

Description
No filling color in circle shape game object : test code, webgl render mode.
Stroke color in circle shape game object works fine, and rectangle shape game object works fine, too.

Thank you for submitting this issue. We have fixed this and the fix has been pushed to the master branch. It will be part of the next release. If you get time to build and test it for yourself we would appreciate that.


Update to swift3.1

In swift 3.1 on linux RegularExpression became NSRegularExpression once again bringing it back in line with macOS.
This change updates the travis build to use swift 3.1 and removes the linux specific switches which were using 'RegularExpression' instead of 'NSRegularExpression'.

Hey! Thanks a lot! By the way, Is the env var necessary?
https://github.com/GraphQLSwift/GraphQL/pull/19/files#diff-354f30a63fb0907d4ad57269548329e3R6
We already have .swift-version file:
https://github.com/GraphQLSwift/GraphQL/blob/master/.swift-version
I think it's best to update the file and remove the env var.

Hi. Thanks, I didn't spot the .swift-version file first time round!
I've updated that and removed the env var from .travis.yml

Now that I realise the .swift-version file takes precedence I can revert the .travis.yml back to using https://raw.githubusercontent.com/lgaches/swifttravisci/master/travisci if you prefer?
The reason I replaced it with individual script commands in the .travis.yml was because it had SWIFT_VERSION = 3.0 within it ...

yeah that would be nice!

It looks like https://raw.githubusercontent.com/lgaches/swifttravisci/master/travisci is overriding the .swift-version file so by using it 3.0.1 is still being installed for the linux build :(
I'll go back to what I had. It's probably better not to rely on an external script for this anyway?

thanks man!


Table scans on idsrv.Tokens table when querying for expired tokens

We are using EntityFramework persistence for IdentityServer3 tokens and I've noticed frequent queries for expired tokens against idsrv.Tokens that are in the form of:
exec sp_executesql N'SELECT
[Extent1].[Key] AS [Key],
[Extent1].[TokenType] AS [TokenType],
[Extent1].[SubjectId] AS [SubjectId],
[Extent1].[ClientId] AS [ClientId],
[Extent1].[JsonCode] AS [JsonCode],
[Extent1].[Expiry] AS [Expiry]
FROM [idsrv].[Tokens] AS [Extent1]
WHERE [Extent1].[Expiry] < @p__linq__0',N'@p__linq__0 datetimeoffset(7)',@p__linq__0='2016-02-04 23:25:31.2152527 +00:00'

There's currently no index that will satisfy this query so it performs a table scan instead.
I'm proposing we change Token.cs to instead have a unique index on [Key] and [TokenType] columns and a non-unique clustered index on [Expiry] to help with the range query above.
The updated Token class might look like the one below based on what I've read here: https://msdn.microsoft.com/en-us/data/jj591583 and https://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.schema.indexattribute(v=vs.113).aspx.
public class Token
{
    [Index("UIX_idsrv_Tokens", 1)]
    public virtual string Key { get; set; }

    [Index("UIX_idsrv_Tokens", 2, IsUnique = True)]
    public virtual TokenType TokenType { get; set; }

    [StringLength(200)]
    public virtual string SubjectId { get; set; }

    [Required]
    [StringLength(200)]
    public virtual string ClientId { get; set; }

    [Required]
    [DataType(DataType.Text)]
    public virtual string JsonCode { get; set; }

    [Index("IXC_idsrv_Tokens", IsClustered = True)]
    [Required]
    public virtual DateTimeOffset Expiry { get; set; }
}

Do you have a proposed change to the DbContext code add this index?

Just noticed this issue as well.  The EF code created a query of tokens which is not needed the delete could be done without having to return the data.  I think this is hard to do in EF.  It make sense to just execute this as RAW SQL.  If I get time soon I'll submit a PR for this.

I think this comes from the code that looks for expired tokens. I'd ideally like a fix that can be configured in the DbContext's configure APIs (Build or whatever it's called), rather than something that's DB-specific (such as raw SQL).

Would using something like EF Extended work?
We use this package to avoid having to pull all entities back just to
delete or update them.
https://github.com/loresoft/EntityFramework.Extended/wiki/Batch-Update-and-Delete
On Fri, May 13, 2016 at 8:24 AM, Brock Allen<EMAIL_ADDRESS>wrote:

I think this comes from the code that looks for expired tokens. I'd
ideally like a fix that can be configured in the DbContext's configure APIs
(Build or whatever it's called), rather than something that's DB-specific
(such as raw SQL).
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/IdentityServer/IdentityServer3.EntityFramework/issues/89#issuecomment-219028481

Not sure -- what's the support on that? Does it target the same DBs that EF supports?

EF Extended package supports the same DBs as EF and it has a dependency on
EF >= 6.1.0.
https://www.nuget.org/packages/EntityFramework.Extended/
On Fri, May 13, 2016 at 8:38 AM, Brock Allen<EMAIL_ADDRESS>wrote:

Not sure -- what's the support on that? Does it target the same DBs that
EF supports?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/IdentityServer/IdentityServer3.EntityFramework/issues/89#issuecomment-219031369

Ok, possibly then. I don't know how much work it is to show me what it'd look like.

Let me know what you think.

Any news on when the 3.0.0 release with this fix will be released @brockallen ?

After we get IdentityServer4 released.


Moving into another dialog from inside a dialog?

So what I have here are a series of if-statements (depending on the user's input) - once a user enters a specific block, I know that they've satisfied certain conditions - and I would like to forward them to another dialog to continue the conversation, but I cannot figure out how to do that? The documentation isn't really clear to me (perhaps I'm just not well-versed in C#) and I've been stuck on this for a few days.
Once the user enters the "validSeller" if block, I want to forwrad to another part of the conversation. Right now I have "context.Wait(GetAppNameFromUser)" in that block but every time I try to reach this code, the bot throws a 500 error.
My code is as follows:
        public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> argument)
        {
            var message = await argument;
            //check if input string is entirely numeric (used to find out if this is a publisher ID or not)
            var isNumeric = Regex.IsMatch(message.Text, @"^\d+$");
            string botResponse;
            //If user said "hi" or "hello"
            if(message.Text.StartsWith("Hi", StringComparison.OrdinalIgnoreCase) || message.Text.StartsWith("Hello", StringComparison.OrdinalIgnoreCase)) {
                await context.PostAsync("Hi! I'm your Assistant. What can I help you with today?");
            }
            //If user's message is entirely digits, it's most likely an ID, check it and then continue
            else if(isNumeric)
            {
                bool validSeller = await Utils.ValidateSellerId(message.Text);
                //if valid seller ID, continue to conversation, otherwise, user must input valid ID
                if(validSeller)
                {
                    //TODO: Figure out how to pass appID in context variable, for now just use class variable
                    sellerID = message.Text;
                    context.Wait(GetAppNameFromUser);
                    //TODO: figure out how to pass apps list to the user with the context
                    //context.Wait(MessageReceivedAsync);
                }
                //if invalid, loop back around and ask the user for a proper ID
                //TODO: keep track of how many times the bot has failed
                else
                {
                    await context.PostAsync("Sorry! Looks like you entered an invalid ID. Could you try again?");
                }
            }
            else
            {
                //Queries LUIS for which intent the user's message matches.
                InitialIntentLUIS initialIntent = await InitialIntentLUIS.GetIntentMatchFromLUIS(message.Text);
                var initialIntentGuess = initialIntent.intents[0].intent;
                //Begin routing to different intent conversations
                if (initialIntentGuess == "Help")
                {
                    await context.PostAsync("Here are the things I'm capable of doing: \n\n• Help you find missing apps in the store \n\n • Forward you to a support representative");
                }
                else if(initialIntentGuess == "AppNotFound")
                {
                    //TODO: If the user has given an appName already, store it somewhere
                    await context.PostAsync("Looks like you're trying to find an app. To help faciltiate this, can I get your Publisher ID?");
                }
                //Otherwise, something broke, alert the user and kick out.
                else
                {
                    botResponse = "Uh-oh, looks like my wires got crossed.  Sorry! I've filed a bug and someone will check things out shortly!";
                    await context.PostAsync(botResponse);
                }
            }
            //return back to the top of the dialog
            context.Wait(MessageReceivedAsync);
        }
public virtual async Task GetAppNameAsync(IDialogContext context, IAwaitable<IMessageActivity> argument)
        {
            await context.PostAsync("Great! What are you looking for exactly?");
            var userMessage = await argument;
            AppRecognitionLUIS appNameEntities = await AppRecognitionLUIS.GetAppRecognitionEntityFromLUIS(userMessage.Text);
            if (appNameEntities.entities.Length > 1)
            {
                await context.PostAsync("Checking if valid name given");
            }
        }

You can use Context.Call(...) and Context.Froward(...) to create child dialogs from root Dialog and then use Context.Done(...) to return the result from child dialog to root dialog. You can also leverage the system prompts if you want to ask questions from user and have system prompts return the validated results.
Here are some examples:

Context.Call(...) into form dialog
Context.Done(...) to return result

I'm attempting to use the system prompts, and getting consistent errors - the bot responds with a 500 Error, and in my Output window, I seem to be getting:
Exception thrown: 'Microsoft.Bot.Builder.Internals.Fibers.InvalidNeedException' in Microsoft.Bot.Builder.dll
Exception thrown: 'Microsoft.Bot.Builder.Internals.Fibers.InvalidNeedException' in mscorlib.dll
Exception thrown: 'Microsoft.Bot.Builder.Internals.Fibers.InvalidNeedException' in mscorlib.dll

This isn't really telling me anything and I'm not sure what to do about it.

I managed to fix it somehow by stepping away from my computer - I think I misnamed a method or something somewhere, it works now! I'm going to go ahead and close this myself.


Added finishAll() that resolves when the queue becomes empty.

Hi,
We used the semaphore for some filesystem/SQL/AWS connections and liked its simplicity. Now, a more complicated connection pool could be used but I like the simplicity of this library.
We wanted an extra method to wait for all of the connections to finish when e.g. ending the program. So I added it. It's my first PR on GitHub, as a junior dev, so please treat accordingly, feel free to rename and move stuff etc.
It's non-blocking waiting, stores a promise and its resolver in the object. Returns the promise when needed, and tries to resolve it after each permit release.
A future development could be

a finishAllWithin(time) method, that resolves false if the queue does not empty within the given time - so that e.g. errors can be thrown in the main program.
creating a getter for maxPermits if someone ever needs to check up on that property.

These methods of course have to be used responsibly, but they could be very useful in some scripts.
Best regards,
Greg

Hi Greg, thanks for your pull request!
I'm not against this in principle but it restricts the Semaphore class somewhat in its generality: Semaphores aren't always initialized with a maximum number of permits that get decreased. You can see an example here. In these cases, a finishAll method would be quite confusing since it might be interpreted as meaning "resolve when the number of permits returns to zero". Equally, maxPermits in this case doesn't really make sense.
One possible solution to this would be to generalize your finishAll method to a waitUntilNumOfPermitsEqualTo method.
What do you think?

Thanks for the reply!
Ah, I see. This use case didn't even come to my mind, since it can simply be done with promises, this is what they were intended for, to wait for some requests without using callbacks.
Those people who understand this Semaphore(0) hack probably know enough about promises to create one in this case, and if you happen to be awaiting the Semaphore, that means you're already inside an async function. ;)
No wonder why you didn't mention this among the examples.
But I don't want to restrict the general functionality, so I'll come up with some commits to:
a)

Rename the maxPermits to initialPermits, as a read-only property with some getter (this won't restrict generality but will be useful for most use cases)
add a waitForPermits(n) method, where n may default to initialPermits.

OR
b)
Go around from the other way and instead write some waitForQueueLength() function that waits until the number of currently queued items will be less or equal to to some number (default to 0).
Only change needed is here:
    if (this.queueFinishedResolver && this.permits === this.maxPermits) {
And then we won't even need the max or initial permit property.
What do you think? :)
p.s. if I add some commits to this branch, will they automatically be added to the PR?

Ping?

@jsoendermann Hi, I'm cleaning up my old repos.
If I get some response, I'm willing to rebase my work on recent changes.
I can do a waitUntilNumOfPermitsEqualTo(n) (in short waitForPermits(n)) method where n will default to initialPermits.
Let me know if you're out there and I'll start working. :slightly_smiling_face:

Hi @gombosg thanks for pinging me on this and thank you for your pr. The fact that this Semaphore uses a queue of Promises is an implementation detail, that I would rather not expose.

Thanks for the response! In my latest comment I wrote that I would only make a waitForPermits(n) function which doesn't expose the Promise queue. Would you be interested in that?

Not at this point but thanks a lot for offering to implement it.


RMX2020: Sakura initial

use proper method and wait few hours before running another build, give some space to others, dont build 100 roms daily


Remove coveralls dependency

This dependency should rather be part of the typescript-dev-kit package.

Fixed in #21 .


Designing lock-free algorithms

This PR adds a new section to the documentation on Designing lock-free algorithms with k-CAS.
TODO:

[x] explain that essentially the same advice applies to both Tx and Xt APIs
[x] explain that basically all access functions consult the transaction log once
[x] add a warning about use of Loc module inside transactions

Last part of my review : the hashtbl example is great. I saw nothing to change.


Update outdated link

I have found outdated link. I think we should update this link to direct link without additional redirect.

@misha98857 thanks!


Fix typo

Changes Trapeziod to Trapezoid

Pull Request Test Coverage Report for Build 879

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 47.767%

Totals

Change from base Build 877:
0.0%

Covered Lines:
2196

Relevant Lines:
4483

💛  - Coveralls


adding errcheck to linter

Fixes #1911
Special notes for your reviewer:

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@d63c3c1). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master    #1916   +/-   ##
=========================================
  Coverage          ?   44.97%
=========================================
  Files             ?      187
  Lines             ?    27011
  Branches          ?        0
=========================================
  Hits              ?    12147
  Misses            ?    13992
  Partials          ?      872

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Test task added in afterEvaluate is only executed if test sourceset was compiled

Given
build.gradle
apply plugin: 'java'

repositories {
    jcenter()
}

sourceSets {
    integTest
}

dependencies {
    testCompile 'junit:junit:4.12'
    integTestCompile 'junit:junit:4.12'
}

afterEvaluate {
    task integTest(type: Test) {
        testClassesDir sourceSets.integTest.output.classesDir
        classpath = sourceSets.integTest.runtimeClasspath
    }
}

src/integTest/java/FooIntegTest.java
public class FooIntegTest {
    @org.junit.Test
    public void fooTest() {
        System.out.println("\n\n\n**********\nfoo integ test\n**********\n\n\n");
    }
}

src/test/java/FooTest.java
public class FooTest {
    @org.junit.Test
    public void fooTest() {
        System.out.println("\n\n\n**********\nfoo test\n**********\n\n\n");
    }
}

Problem
$ ./gradlew clean integTest
:clean
:compileIntegTestJava
:processIntegTestResources NO-SOURCE
:integTestClasses
:integTest NO-SOURCE

BUILD SUCCESSFUL

Total time: 1.271 secs

Adding -i reveals the line file or directory '<PROJECT_HOME>\build\classes\test', not found right before the line saying :integTest NO-SOURCE.
If you compile test first the integ tests are executed:
$ ./gradlew clean compileTestJava integTest
:clean
:compileJava NO-SOURCE
:processResources NO-SOURCE
:classes UP-TO-DATE
:compileTestJava
:compileIntegTestJava
:processIntegTestResources NO-SOURCE
:integTestClasses
:integTest

BUILD SUCCESSFUL

Total time: 1.827 secs

Commenting out the afterEvaluate in build.gradle also makes it work, but I need it added in afterEvaluate in our build.
I'm not sure what is causing this behaviour, but I strongly assume this is a Gradle bug and I also didn't find a work-around up to now besides adding a dependsOn from integTest to compileTestJava.

Well, the reason is the JavaBasePlugin that has an afterEvaluate block in configureTest that executes on all tasks withType(Test.class), assuming the Test tasks all exist already at this point in time and are configured properly. My Test task is added after that, which causes the closure to be run immediately on adding, before the configuration is done. The configureBasedOnSingleProperty method then sets input files with property name nonEmptyCandidateClassFiles from the candidate class files which are not set correctly yet at this point in time.
As a workaround I added my task now outside of afterEvaluate. It was necessary, because the task depends on another task and its output file that also needs to be added in an afterEvaluate. But I depen on it by task name as String now, add its output files as input files to my task from a closure for late evaluation and set the system property where I need the file path in a doFirst closure. This time up-to-date check should work properly while the task is configured as intended.
Despite this work-around I still think this is a Gradle bug.

Actually in my specific case I don't need the input file, as I have outputs.upToDateWhen { false } anyway for this task as the result depends on the state of the database.

@bmuschko do you really think this a question? I'd say this is a bug, not a question. :-)

@Vampire can you verify whether this is still the case in 4.1? I changed this code a while ago to only run right before the task is executed instead of using afterEvaluate.

Is this still an issue? If no reply in 7 days, I will close this issue.

No, seems to work fine now, sorry for the delay.


Set PHP_INI_SCAN_DIR only if not set

Uses the preferred binary wrapper and only sets PHP_INI_SCAN_DIR if it isn’t set yet. This is so that users can provide there own PHP_INI_SCAN_DIR, e.g. to restart the current PHP process without xdebug.
E.g. composer/xdebug-handler uses this mechanism to turn off xdebug (https://github.com/composer/xdebug-handler/blob/cf19e3380ffd84cea4a2cbfcc599ea07ef01f18a/src/XdebugHandler.php#L441)
Things done

Built on platform(s)

[x] aarch64-darwin
[x] Verified that https://github.com/composer/xdebug-handler works afterwards

Reproduction
Given this script with composer/xdebug-handler installed:
<?php
include 'vendor/autoload.php';

var_dump('XDEBUG LOADED', extension_loaded('xdebug'));

$handler = new \Composer\XdebugHandler\XdebugHandler('repro');
$handler->setPersistent();
$handler->check();

Before the change
string(13) "XDEBUG LOADED"
bool(true)
Cannot load Zend OPcache - it was already loaded

Warning: Module "mbstring" is already loaded in Unknown on line 0

Warning: Module "filter" is already loaded in Unknown on line 0

Warning: Module "intl" is already loaded in Unknown on line 0

Warning: Module "openssl" is already loaded in Unknown on line 0

Warning: Module "dom" is already loaded in Unknown on line 0

Warning: Module "tokenizer" is already loaded in Unknown on line 0

Warning: Module "xmlwriter" is already loaded in Unknown on line 0

Warning: Module "SimpleXML" is already loaded in Unknown on line 0

Warning: Module "curl" is already loaded in Unknown on line 0

Warning: Module "zlib" is already loaded in Unknown on line 0

Warning: Module "ctype" is already loaded in Unknown on line 0
string(13) "XDEBUG LOADED"
bool(true)

After the change
string(13) "XDEBUG LOADED"
bool(true)
string(13) "XDEBUG LOADED"
bool(false)

Glad to see you around Lars !

@ofborg eval

So should we give this another go? I'm still scared from the last time :joy:


Changing directory and staying there

Something in XGA is changing directory and not changing back.

Another bug I think is related to this has just started popping up when I'm using Apollo and generating images. It fails out at the end because it can't find the files/folders that are meant to be moved from the temp generating folder to the main ObsID folder. It also seems to copy some files up a level into the main xga_output folder, which is really weird.

So on reflection I don't think these two problems are related, creating a new issue

I think this was happening because I forgot to return to the original starting directory after loading in existing XGA products.


let user can use customized String format function like push "N" in t…

this is related to the issue
https://github.com/knex/knex/issues/4582
first time, user can config like below:
const knex = require('./knex')({
  client: 'mssql', stringFormatter: (str) => {
    if (escape(str).indexOf("%u") > -1)
      return `N${str}`;
    return `${str}`;
  }});

Does anyone know how to merge the PR?

@qwerty30112 This needs a test, types update and documentation.


implement display power

no permissions. Can also set display brightness, and default to 65 when on but it may flicker if the brightness filter isn't 65 at that time

This doesn't quite work yet, there's some permission errors accessing the file. only a command like echo 0 | sudo tee /sys/class/backlight/panel0-backlight/bl_power works


Add Pun King Fung to GSOD 2024

@emckean Kindly merge the pull request.

Please do not edit the interested-technical-writers file. That file is automatically generated. Thank you!

@emckean Could you check it again?


Git failure trying to update wiki repo

For some reason the action is failing for me. Here's the bottom part of the log:
Pushing to Wiki
[master (root-commit) acb0a72] Complete rewrite using C# .NET Core 5
 6 files changed, 479 insertions(+)
 create mode 100644 .markdownlint.json
 create mode 100644 Command-Line-Reference.md
 create mode 100644 Configuration-Reference.md
 create mode 100644 Home.md
 create mode 100644 Python-Migration-Guide.md
 create mode 100644 TRaSH-Guide-Structural-Guidelines.md
error: src refspec @github.com/rcdailey/trash-updater.wiki.git does not match any
error: failed to push some refs to 'https://rcdailey:***'
error: src refspec @github.com/rcdailey/trash-updater.wiki.git does not match any
error: failed to push some refs to 'https://***'

And my workflow YAML:
name: Publish Wiki

on:
  push:
    paths:
      - 'wiki/**'
    branches:
      - master

jobs:
  wiki:
    name: Publish Wiki
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Source Code
        uses: actions/checkout@v2

      - name: Upload Documentation to Wiki
        uses: Andrew-Chen-Wang/github-wiki-action@v2
        env:
          WIKI_DIR: wiki/
          GH_TOKEN: ${{ secrets.PAT }}
          GH_MAIL: ${{ secrets.EMAIL }}
          GH_NAME: ${{ github.repository_owner }}
          EXCLUDED_FILES: "*.json"

Looks like the issue is your URL is wrong:
@github.com/rcdailey/trash-updater.wiki.git

Something should be in front of the @, I think either git or maybe the value from github.repository_owner?

Ok I must have had a space in my PAT somewhere, or maybe a blank line at the end. You might consider stripping whitespace at the front & back of the github token in case the user accidentally does this. I'll close this out.

Thanks for the suggestion! Will look into it.