net/http: muxer no longer redirects host patterns in go1.10

What version of Go are you using (go version)?
go version go1.10beta1 linux/amd64
Does this issue reproduce with the latest release?
Not reproducible with go version go1.9.2 linux/amd64
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/terin/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/terin/go"
GORACE=""
GOROOT="/home/terin/sdk/go1.10beta1"
GOTMPDIR=""
GOTOOLDIR="/home/terin/sdk/go1.10beta1/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build956333713=/tmp/go-build -gno-record-gcc-switches"

What did you do?
package main

import (
	"net/http"
	"net/http/httptest"
	"testing"
)

type stringHandler string

func (s stringHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
	w.Header().Set("Result", string(s))
}

func TestMuxer(t *testing.T) {
	mux := http.NewServeMux()
	mux.Handle("example.org/pkg/foo/", stringHandler("example.org/pkg/foo/"))

	tests := []struct {
		url      string
		code     int
		response string
	}{
		{"http://example.org/pkg/foo", 301, ""},
		{"http://example.org/pkg/foo/", 200, "example.org/pkg/foo/"},
	}

	for i, tt := range tests {
		r, _ := http.NewRequest("GET", tt.url, nil)
		w := httptest.NewRecorder()

		mux.ServeHTTP(w, r)

		if got, want := w.Code, tt.code; got != want {
			t.Errorf("#%d Status = %d; want = %d", i, got, want)
		}

		if w.Code == 200 {
			if got, want := w.HeaderMap.Get("Result"), tt.response; got != want {
				t.Errorf("$%d Result = %q; want = %q", i, got, want)
			}
		}
	}
}

What did you expect to see?
Output from go1.9.2:
=== RUN   TestMuxer
--- PASS: TestMuxer (0.00s)
PASS
ok      _/home/terin  0.002s

What did you see instead?
Output from go1.10beta1:
=== RUN   TestMuxer
--- FAIL: TestMuxer (0.00s)
        muxer_test.go:35: #0 Status = 404; want = 301
FAIL
FAIL    _/home/terin    0.002s

Looks like this change in behavior was due to ab40107708042ded6bdc1fb841c7cf2c2ab002ab from @namusyaka for #17841.

Also /cc @tombergan @odeke-em who reviewed https://go-review.googlesource.com/61210

I'm going to take a look at the CL, thanks @terinjokes

Thank you for the report @terinjokes and for the tag @bradfitz, I'll take a look perhaps over the weekend or earlier.


Catching error state when event.target.buffered is null

Adding a null-check to event.target.buffered. This is often null, especially when used in conjunction with the videogular-flash plugin.  In these cases, without the null check, the vgUpdateTime event is never called.

Sorry!
I totally forgot about this PR.
This repo is only for distribution, can you create the PR to our development repo?
https://github.com/videogular/videogular


xlights: 2024.15 -> 2024.16

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/smeighan/xLights/releases.
meta.description for xlights is: xLights is a sequencer for Lights. xLights has usb and E1.31 drivers. You can create sequences in this object oriented program. You can create playlists, schedule them, test your hardware, convert between different sequencers
meta.homepage for xlights is: https://xlights.org
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2024.16 in filename of file in /nix/store/mnyvgbb1z47kc11yvh62165yqa720ddm-xlights-2024.16

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

xlights

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/mnyvgbb1z47kc11yvh62165yqa720ddm-xlights-2024.16 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A xlights https://github.com/r-ryantm/nixpkgs/archive/bf95717552dbd05053129069fa31c29a2d3c802c.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/bf95717552dbd05053129069fa31c29a2d3c802c#xlights

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/mnyvgbb1z47kc11yvh62165yqa720ddm-xlights-2024.16
ls -la /nix/store/mnyvgbb1z47kc11yvh62165yqa720ddm-xlights-2024.16/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

xlights

Maintainer pings
cc @kashw2 for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

@NixOS/nixpkgs-merge-bot merge


nxsem_wait_irq with MMU

I have encountered a little issue with semaphores, and nxsem_wait_irq which is used to wake the process waiting for a sempahore and do other cleanup i.e. handle priority inheritance etc.
The issue arises when nxsem_wait_irq is called from ISR or from the signal dispatch logic; while it works like a charm with flat addressing, it fails when virtual memory is in use.
The issue obviously is that sem_t is userspace data, and if the current task is not the one holding / waiting for the semaphore, the clean up fails due to wrong mappings.
Now, the solution might be as simple as changing the mappings temporarily to the semaphore holder's mappings, but this to me seems like quite a heavy operation. At least the TLB is lost, maybe with other side effects as well.
So I created this issue to open discussion about the subject. Is this a more generic problem (affecting more than just the semaphore API), needing a generic solution ? Has anyone ever thought of this issue and how to fix it ? Maybe coming up with a solution but no time to implement it ? If so I'll be more than happy to do the fix and test it.
Regardless, I will present a patch (and reference this issue there) where the mappings are just swapped because that works and is a way to fix the issue. The issue is easier to grasp this way I think.

Another option that comes to mind would be to temporarily map the user semaphore data to a kernel scratch area but this is quite a lot of work, as the physical page is needed and this is not easily obtainable. A significant amount of new mm related bookkeeping would be needed for this solution.

Another option would be logic that finds the kernel space virtual address associated with the user space virtual address.  That would assume that the entire address space is addressable in kernel mode.

Thanks for the response!
Those APIs are known to me but as far as I can tell they either rely on the correct mappings already being active or on mm_struct and vm_area_struct (which we don't quite have, yet), which contain the necessary info to find the physical page.
The solution I posted is already merged and does of course work, there is just a tiny performance penalty via losing the entire TLB instead of just losing 1 page.
I was trying to think of alternate solutions to the problem, like releasing the semaphore from the user process instead (in sem_wait() after the context switch when the correct mappings are present) but the problem is that updating the task status LUT becomes impossible, as dq_rem((FAR dq_entry_t *)wtcb, SEM_WAITLIST(sem)); needs access to sem->waitlist to move the task into the ready-to-run list.

The inner workings of those copy_from/to_user are basically handling the access rights from/to user space. Normally the kernel cannot access the user's memory and those functions are used to wrap the operation:

open access to user
read/write to user
close access to user

Unfortunately I found another location where tcb->waitobj is accessed from the wrong context (happens when a user process is running and ps is executed from the terminal):
https://github.com/apache/nuttx/blob/f4683713327aaeab0656e3ea83814b44267bdc4a/sched/sched/sched_get_stateinfo.c#L81-L103
This could be kludged together by creating a getter function for the sem_t object, which would make a copy of it into kernel addressable memory (e.g. a stack variable inside that function). Read only access could then be performed on that.
I did one kludge fix, I'm wondering if this is going to be a recursive set of kludges.. Resolving the kernel addressable virtual address for waitobj might be a safer option still. I'll need to think for a moment how this can be achieved.
Walking the page directory in one option, and this support needs to be implemented for each platform that supports MMU.

I finally have time to dig into this issue.
I will fix the waitobj issue by mapping any such object into kernel addressable memory. I think semaphores and mqueues qualify as such (more?).
This achieves two things:

It once and for all fixes accessing (user) synchronization structures from the kernel
It avoids the unnecessary TLB flush / performance penalty when swapping mappings

Patches related to this will start coming soonish.

I'll move the discussion back here to avoid spamming the mailing list.
My understanding of the semaphore handling logic increases bit by bit and thus far I have found the following:

tcb->waitobj is user by the system scheduler to implement the TSTATE_WAIT_SEM-list, it accesses dq_queue_t waitlist;
This basically means that whenever a semaphore is set into tcb->waitobj -> the memory must be accessible to the kernel, even from other processes and this access has to be deterministic (preferably also fast).
Adding temporary mappings to (or addrenv switch) into nxsem_wait_irq does fix the watchdog interrupt and signal dispatch cases, but not the case mentioned above -> doing any temp mappings in nxsem_wait_irq is simply futile.
nxsem_canceled is called from nxsem_wait_irq, this accesses the priority inheritance list tcb->holdsem, which also holds a reference to the semaphore via holdsem->sem, and this points to user memory also.
This means that not only does the semaphore access not work, priority inheritance is also broken with CONFIG_BUILD_KERNEL. -> the pointer in tcb->holdsem->sem must also be accessible to the kernel in a deterministic (preferably also fast) manner.

Implementing dynamic mappings for the semaphore works wonderfully when the semaphore structure fits inside a single page. When it crosses a page boundary the problems start. In this case we lose all measures of deterministic behavior, because we need to:

Do two table walks to find the physical pages -> this is O(1)
Find a virtual memory area where the mapping fits -> this is O(n) orO(log(n)) at best
Map the pages into kernel addressable memory -> this is O(1)
Mark the mappings into a list, where they can be found later -> this is O(1)

When the semaphore is taken, the process marks itself as the holder.

The mapping needs to exist until the the semaphore is released, because only at this point the holder list can be updated. This means the mapping can live for a LONG time.
When the semaphore is released, the virtual memory must be unmapped.
This means the mapping list must be traversed to find whether a mapping really exists -> this is O(n)
Why do we need a list? Because semaphores are used by the kernel itself too, these don't need to be dynamically mapped.

So to me it seems like mapping the semaphore to kernel memory won't fix anything. Unless there is some obvious solution I'm missing.
Please correct me if I'm typing nonsense, as I'm still trying to grasp the big picture.


New record doestn't work

After removing record New record doestn't work , it plays the old recorded audio again.. Cache is not cleared fully when 'Remove' is clicked. Because after clicking 'Remove', New record doesn't work.

This is finally fixed in https://github.com/danrouse/react-audio-recorder/releases/tag/v2.0.0 -- buffers were not being properly destroyed.


use jniLibs to work with targetSdkVersion=29

Fixing https://github.com/bravobit/FFmpeg-Android/issues/126

@darrinps there are some good reasons why this was not merged. One, as you noticed, is that this still lacks 64 bit, which makes this solution unsatisfactory for majority of the people who need to target Android Q. Second, people may consider renaming the executable to lib…so to be a dirty trick. Third, this removes a lot of code people had wrote, debugged, and invested into. Not a very nice feeling for a maintainer.

I'm strongly looking forward speedy marge and release, and next one as completely fix.

I would like to target Q as well but cannot until ffmpeg is working with it. Is this code in a fork with a release that can be included?

@pcm2a what is your incentive to target Q? Remember, you can use Q APIs in a project that targets earlier SDK. At any rate, if you don't set min supported SDK to Q, you have to check the availability of these APIs before using them.

@alexcohn just planning ahead. When R is released in 2020 all apps will be forced to target Q I plan on being ready in advance vs rushing to the finish line.

@pcm2a if you think this PR is important, feel free to vote for it.

Waiting for this merge

Besides this fix, for this library to work when targeting Q, we need an option to pass a FileDescriptor instead of having to pass the file path.
For example, instead of:
String[] s = {"-i", mStringFilePath, "-crf", "18", "-c:v", "libx264", "-c:a", "copy", pathToAppDirectory};

We could be given the option to pass a FileDescriptor, like this:
FileDescriptor fd = getContentResolver().openFileDescriptor(Uri, "r").getFileDescriptor();
String[] s = {"-i", fd, "-crf", "18", "-c:v", "libx264", "-c:a", "copy", pathToAppDirectory};

@HBiSoft Passing FileDescriptor still won't let you work around the scoped storage. You need significant changes on the ffmpeg binary as well, to handle this: pass these file descriptors via Unix sockets.
If you switch to an ffmpeg in-process library solution, e.g. https://github.com/tanersener/mobile-ffmpeg, you can transparently pass your FileDescriptor with the /proc/self/fd/%d trick.

@alexcohn The owner of FFmpegMediaMetadataRetriever did something similar, have a look here:
https://github.com/wseemann/FFmpegMediaMetadataRetriever/blob/b42986fb4044c54131379407598d8ac0ff1a3326/gradle/fmmr-library/library/src/main/jni/metadata/ffmpeg_mediametadataretriever.c#L304
You can also have a look at my post on the mobile-ffmpeg library which is related to this - https://github.com/tanersener/mobile-ffmpeg/issues/334#issuecomment-581254355
I believe the owner of this library can easily implement this as well.

@HBiSoft they have their struct State that can handle such URI, that's not how FFmpeg-Android is built.

@alexcohn
I was able to get it working on mobile-ffmpeg using the pipe protocol.
What suggestions do you have if we want to achieve the same using this library?

@HBiSoft on the one hand, ffmpeg supports the pipe protocol out-of-the-box, and I believe that the Android port did not damage this functionality. On the other hand, the pipe protocol is not seekable, which may be a significant limitation for some ffmpeg file formats and some applications. I won't propose it as a panacea.

@alexcohn
I tested it with this library and it didn't work. Even if it does, it's not the solution.
This library will either have to be rebuild in a way that excepts Uri's and can handle them properly or I can't see it working after developers are forced to target API level 29 (which will probably be within the next few months).

@HBiSoft

I tested it with this library and it didn't work.

I am confused. Did you test pipes or the /proc/self/fd trick?

@alexcohn  I tested with pipe ->
String safUriToFFmpegPath(final Uri uri) {
    try {
        ParcelFileDescriptor parcelFileDescriptor = getContentResolver().openFileDescriptor(uri, "r");
        return String.format(Locale.getDefault(), "pipe:%d", parcelFileDescriptor.getFd());
    } catch (FileNotFoundException e) {
        return "";
    }
}

The pipe: protocol has its own limitations, but in my limited experiments, the /proc/…/fd/… trick worked as expected. Only note that you cannot use /proc/self/fd here, you must put the actual Process.myPid() instead.

@HBiSoft please see https://github.com/alexcohn/FFmpeg-Android/commit/686c4b50653e39c5acb181b0d09cec03e873af5d – for me it resolves the problem with Android Q. I only care about input, but I have no doubt you can follow the same approach to use an output directory out of the app sandbox.

@alexcohn
Thank you for your reply.
I have tested the above and I get /proc/4759/fd/70: Permission denied when selecting from the SD Card.
I see you mentioned this:

Work around the API 29 new [restrictions on use of external storage]

I have tested the above and I get /proc/4759/fd/70: Permission denied when selecting from the SD Card.

Yes, it seems to only work for Downloads.

Thanks to @Le-Dinh-Nam [https://github.com/bravobit/FFmpeg-Android/issues/126#issuecomment-596161127], I could clean up a bit more. It seems that later platform versions extract all files from lib folder, not filtering by the lib….so pattern, as earlier.

Looks good! @Brianvdb  Please merge this.

Any update about this?

waiting for this to be merged..

Thanks @alexcohn for merging these changes. When will you release new version of library with this merge?

Any update about this?

Any update about this? when can I expect a new version of this?

Any update about this? When can I expect a new version?

Any update about this?

any update ??

Hi @alexcohn
Any update...? Then please help me..
Thanks(_)

Looks like this isn't going to be merged, is it safe to use the fork directly? @alexcohn Any gotchas? Does this fully work with Android Q/R in the way we expect bravobit/FFmpeg-Android to work?

@AdityaAnand1 I would recommend using (https://github.com/tanersener/mobile-ffmpeg). You get more control over what arch you want to build and you can pass it a Uri.

Hi, @alexcohn @AdityaAnand1
I am using this library,
https://github.com/tanersener/mobile-ffmpeg
implementation 'com.arthenica:mobile-ffmpeg-full:4.2.2.LTS'
this is working on android 10 too ,
But the problem is i added this library my apk size is increased too much, almost 50mb increased.
Could you please help me with this?

@pratik-tech4 you definitely don't need the 'full' flavor of mobile-ffmpeg: it includes extra libraries that are not part of bravobit. You can make the right choice, or even build a bespoke mixture yourself, only including the external libs that you really need (and maybe revisit your commands to avoid non-necessary external libs, too). Also, if you don't use AAB and don't use split APK, the APK now includes all ABIs. For production, you only care about arm64 and armv7-a as separate binaries.

HI @alexcohn
How about when I am using both audio and video both, i want to add text and image both in video,
implementation 'com.arthenica:mobile-ffmpeg-audio:4.4'
implementation 'com.arthenica:mobile-ffmpeg-video:4.4'
it will gives some error like duplicate classes.

Hi @alexcohn
as @GauravCreed said same way i tried but same error.
If i add audio and video version both it gives me same error as @GauravCreed  faced. Thats why i am using full version.
I am using it to cut audio then merge it and adding audio to video. So if possible which version i should use to work these functionality.

@GauravCreed, @pratik-tech4: no, you cannot and should not add two ffmpeg-mobile packages.
I would suggest to start with min, and find out what is missing for you. Only if you find that you desperately need more, consider another package. Note that the audio package does contain basic video capabilities, while the video package still provides the essential audio functions.

@GauravCreed, @pratik-tech4
You can build it with custom options like this:

In android.sh look for DISPLAY_HELP="" and set it to DISPLAY_HELP="yes".
Then right-click on android.sh and select run.
You will be prompted with the following:

Copy the path at the top, mine for example is /Users/Hagen/Desktop/mobile-ffmpeg-master/android.sh
Then paste it at the bottom
You can add all the options you need next to it, in your case I would suggest the following - /Users/Hagen/Desktop/mobile-ffmpeg-master/android.sh -l --enable-gpl --disable-x86 --disable-x86-64 --enable-x264
Go back to android.sh and set DISPLAY_HELP="yes" back to DISPLAY_HELP="".
Right-click on android.sh and select run.
Wait till it completed and you will find it in the prebuild folder.

Use the .aar in your project and do a few tests. If there are missing libraries (in my case zlib) build the project again and add the missing lib.

By doing this, you have full control over which libs you want based on what you need.

hi, @HBiSoft , @alexcohn
Thank you for your response,
for now i used
implementation 'com.arthenica:mobile-ffmpeg-full:4.4.LTS' in this my apk size is around 74MB.
so, I added ndk filters like below
ndk { abiFilters "armeabi-v7a","arm64-v8a" }
by this two filters apk size is around 48MB.
So now i have one doubt is that
if i make sign apk with these two filters "armeabi-v7a","arm64-v8a", is it approve in play store? as in play store apk must have 64-bit support.
So by these two filter it will approve or no? And it will run in older devices? like which are 32 bit.
Thanks in advance!

@pratik-tech4
Yes it will be approved. armeabi-v7a is 32bit and arm64-v8a is 64bit.
I would rather suggest using splits (as shown below) instead of using abiFilter. By splitting the apk`s you will only install the necessary apk. Using abiFilter, you will include all the archs, which increases your apk size unnecessarily.
android.splits {
    abi {
        enable true
        reset()
        include 'armeabi-v7a', 'arm64-v8a'
        universalApk false
    }
}

@pratik-tech4
Yes it will be approved. armeabi-v7a is 32bit and arm64-v8a is 64bit.
I would rather suggest using splits (as shown below) instead of using abiFilter. By splitting the apk`s you will only install the necessary apk. Using abiFilter, you will include all the archs, which increases your apk size unnecessarily.
android.splits {
    abi {
        enable true
        reset()
        include 'armeabi-v7a', 'arm64-v8a'
        universalApk false
    }
}

@HBiSoft
Thanks
by doing this changes both apk is build separately app_armeabi-v7a.apk, app_arm64-v8a.apk. So which one need to upload in play store?

When will you release new version of library with this merge? Please release this as soon as possible. I am waiting for this..

@alexcohn Hey thanks for this PR and it works fine when building and using debug apk,
but as soon as I use a release apk after signing, it doesn't save ffmpeg & ffprobe in data/app/xxxx/libs folder.
I have tried various methods like enabling/disabling         android:extractNativeLibs="true" in App manifest but no luck

@Shabinder that's true. Android system APK installer extracts only libraries that follow the strict libxxxx.so naming convention, but makes exception for debug APKs (so that you can embed your debug scripts, like wrap.sh).
When I published this PR, I was not aware of this weird behavior.

When I published this PR, I was not aware of this weird behavior.

Yeah the most weird about it is that there is no flag to keep such resources when building release apk.
Anyway thanks for your contributions they helped a lot 👍

At any rate, I strongly recommend you to switch from a poorly supported executable-based solution to a library-based one, e.g. https://github.com/tanersener/ffmpeg-kit.

At any rate, I strongly recommend you to switch from a poorly supported executable-based solution to a library-based one, e.g. https://github.com/tanersener/ffmpeg-kit.

I did went to initially configure ffmpeg-kit, but I needed very much control over ffmpeg-build configuration and wanted to keep the lib size to as low as possible, hence I decided to build my own ffmpeg libs and include them in-app,
and as a result Adding FFmpeg just increased just around 2.9 mb in my apk (All 4 arch arm64, x86, arm7, x86_64 ) , I was surprised too.
Adding FFmpeg-kit as a submodule was not a solution while configuring it custom as It was giving some error that produced aar wont be included in parent app(I don't remember the proper wording but there was a limitation)


Ensure FVGQ Kalman exactly replicates the old repo

The key files here are:

[x] The model file in https://github.com/HighDimensionalEconLab/HMCExamples.jl/blob/main/src/generated_models/FVGQ20_1.jl  is correct (and is executed in https://github.com/HighDimensionalEconLab/HMCExamples.jl/blob/main/deps/generate_models.jl#L17-L21 as well)
[x] The code in https://github.com/HighDimensionalEconLab/HMCExamples.jl/blob/main/src/estimate_FVGQ_1_kalman.jl  loads up the data, creates the priors

We need to quadruple check that there are no types in the names of the different priors that are loaded, etc. in https://github.com/HighDimensionalEconLab/HMCExamples.jl/blob/main/src/estimate_FVGQ_1_kalman.jl#L12-L54
Also that the cirrect data file is loaded, etc.
https://github.com/HighDimensionalEconLab/HMCExamples.jl/blob/main/src/estimate_FVGQ_1_kalman.jl#L88-L204 has all of the arugment names, which that kalman_defaults.txt loaded up as providing the default values for.  They can all be swapped on the commandline
Don't forget to verfiy that the nuts sampler parametesr are also being loaded corretly, and have the correct settings in

[ ] https://github.com/HighDimensionalEconLab/HMCExamples.jl/blob/main/src/FVGQ_1_kalman_defaults.txt  should have all of the priors, initial conditions, settings, etc.  No hardcoded initial conditions anywhere else  of course, we can tweak these on the CLI or in a config file, but the baseline should be what we are running now

[ ] I think we need to quadruple check the p and p_f and the related ordering of them in particular

[ ] The data file is in https://github.com/HighDimensionalEconLab/HMCExamples.jl/blob/main/data/FVGQ_1.csv
https://github.com/HighDimensionalEconLab/HMCExamples.jl/blob/main/src/estimate_FVGQ_1_kalman.jl#L62-L74
The implementation of the turing model is in https://github.com/HighDimensionalEconLab/HMCExamples.jl/blob/main/src/turing_models.jl#L81-L123
-[ ] Check that the priors are all loading with the correct names from the params, etc. in https://github.com/HighDimensionalEconLab/HMCExamples.jl/blob/main/src/turing_models.jl#L83-L107
[ ] The variablese for the theta are loaded in the exact correct order in https://github.com/HighDimensionalEconLab/HMCExamples.jl/blob/main/src/turing_models.jl#L109
[ ] The dereending logic is correct in https://github.com/HighDimensionalEconLab/HMCExamples.jl/blob/main/src/turing_models.jl#L118-L119

These should map to the exact version that @wupeifan  is running the 1st order code on.  When in doubt, fix variables in one form or another.

@cpfiffer Did you and Jan generate the FVGQ model by yourselves, or it is copied from the old repo? This generated file is too large for me to check...

@wupeifan do you mean the generated model or the file which generates it? I may have made a mistake on the file to check for that above. It is https://github.com/HighDimensionalEconLab/HMCExamples.jl/blob/main/deps/FVGQ20.jl
I think it is important to check that file which generates the model in the deps closely...and we can run it again if we need to make sure it is working. @janrosa1 and @cpfiffer did you generate the file from that code or run something separate? Because we should run that exact file for reproducibility

do you mean the generated model or the file which generates it?
Yeah, it was listed as the first item.  I was checking that but that file is just too large.

The source file https://github.com/HighDimensionalEconLab/HMCExamples.jl/blob/main/deps/FVGQ20.jl is identical to that in the old repo, so I don't think there's an issue then.

Yeah, all copied from the main repo.

Lets not close this until we have the exact replcition of the model we want to run with the fixed parameters (or whatever it is that we want to run).  @wupeifan  I think that you will probalby need to make the changes yourself on this, but @cpfiffer  can do a verification that it makes sense given that he can now see that other branch of yours.


French translation

Hi @jeroenterheerdt  and HAsmartirrigation devs !
Here is my PR for french translation.
I struggled and failed to check the french result on my HA devcontainer: only the configuration workflow got translated for whatever reason, so I might need some tweak in the future to get it smooth (blind translation is not easy).
Anyhow, I also fixed a small typo in services.yaml.
Thank you for your development, I use it daily for 2 years now on my terrasse for pots irrigation.
By the way, do you have some recommendations on the configuration tweaks I might use to this specific use case ?

@diyanei further updates: maximum bucket, localized help page and extra explanation line as well

thanks for your efforts! Please catch up the language files to the latest beta and I can roll it into a release so you can actually see the results of your work ;).
Regarding your use case, I'd recommend going to the community forum or using the Discussions on github to dive deeper into this. Let's use PR's for what they are for ;)

I have cherry picked your changes to the French language files (2x) and services.yaml. Closing this PR now as you didn't rebase before making the PR. No worries, it happens. Your changes should be reflected in the next beta though! Thanks!

Thanks @jeroenterheerdt ! Just did a check on the result, and it is pretty solid. I might have a few slight fixes to propose, will do it when more changes will be needed.


Possible Future Updates? ❓

Will there be an update to edit add/remove equipment or equipment? Editing relationships, stats? I don't know how difficult any of these requests will be, though I imagine would be editing relationships might be too much to ask due to the large amount of party members at the large number of possible relationship links. Regardless, I'm grateful what the save editor already provides.
(I accidentally uploaded this to the 3ds repo, my bad!)

it's possible, but I need to check all possibilities


Fix Future.traverse with ExecutorService argument

Future.traverse currently ignores the provided ExecutorService since it is not passed to Future.sequence.

Codecov Report

Merging #2119 into master will not change coverage.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master    #2119   +/-   ##
=========================================
  Coverage     97.37%   97.37%
  Complexity     5196     5196
=========================================
  Files            92       92
  Lines         11945    11945
  Branches       1587     1587
=========================================
  Hits          11632    11632
  Misses          157      157
  Partials        156      156

Impacted Files
Coverage Δ
Complexity Δ

vavr/src/main/java/io/vavr/concurrent/Future.java
97.95% <100%> (ø)
120 <0> (ø)
:arrow_down:

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 c666e6c...560d2a8. Read the comment docs.


src: adding a Report class do deal with cli-table3

Refactor to introduce a Report class to deal with cli-table3 tables.
That is also enable us to easily write test to cover the reports and
core/business layer that don't need to deal with reporting data.

relates to #42

@helio-frota Instead of returning a string[] as a result from the validator you can return an object of type Report.
interface Report {
  required: Record<string, unknown>;
  missing: string[];
}

so then you can also have the required fields object to pass as param to the createValidatorReport method (this is the easiest solution because otherwise we'll have to pull the fieldloader to the validatorCmd and that will require a bigger refactoring).

@alexalikiotis that is because I don't know yet if runOrganizationCheck is supposed to return the same type as runLocalCheck.
also I think the run function returns a concise result which is the difference found between the required fields and the current fields. Which also makes the validator tests clear when having a concise result:
  it('Should return the validation data', async () => {
    const result = await validator.run();
    assert.ok(result.length > 0);
  });

  it('Should contain missing description field', async () => {
    const result = await validator.run();
    assert.strictEqual(result[0], 'description');
  });

makes sense ?

@helio-frota yeah you're right. Let's leave it as is for now and when I finish the implementation of the runOrganizationCheck  method we can see our options then.


fix issue 33

fixes #33

if, else statement in parse_countsshould help skip the check and preserve computation time as it is kind of slow, checking row by row
checks for rows that contain "N_" and removes them if there is a pattern match.
checks in get_biomart so that function can be a stand-alone function
checks in filter_genes. If the user downloads gene metadata from a Synapse file, they would bypass the check in get_biomart.
Note: Transcript number (e.g. ENSG45xxxx.5) is parsed by convert_geneids called in get_biomart

Also super minor thing I noticed at the top of the biomart function
get_biomart <- function(count_df, gene_id, synid, version, host, filters, organism) {
  if (is.null(config::get("biomart")$synID)) {
    # Get available datset from Ensembl
    ensembl <- biomart_obj(organism, host)

Because it's inside of the function should config::get("biomart")$synID just be synid ?

@jgockley62 Your error is because your count_df object does not have rownames set with gene identifiers. The documentation for this parameter states this requirement. Upstream of get_biomart gene identifiers are set as rownames as a part of the cleaning process.
Good catch with the biomart function. Will address in #43.

@kelshmo Pretty sure the counts data frame used for counts df has the gene ID as rownames
> import_metadata <- get_data(config::get("metadata")$synID, config::get("metadata")$version)
> import_counts <- get_data(config::get("counts")$synID, config::get("counts")$version)
> clean_md <- clean_covariates(md = import_metadata, factors = config::get("factors"),      continuous = config::get("continuous"))
> counts <- tibble::column_to_rownames(import_counts, var = config::get("counts")$`gene id`)
> head(row.names(counts))
[1] "N_unmapped"        "N_multimapping"    "N_noFeature"       "N_ambiguous"       "ENSG00000223972.5" "ENSG00000227232.5"
 ```

--

I over complicated the function to the point of it not even suiting our use case! I was checking whether any possible column matched that pattern.
I updated the function to only check row names and added tests.


async for msg in websocket: TypeError: 'async for' requires an object with __aiter__ method, got WebSocketClientProtocol

getting this error

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
🎉 Congratulations! You've won a share of the $1.500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. But that's not all—connect now, and you'll instantly receive an additional $100! Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. 🌐 Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. 🔄 Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

💰 Don't miss out on your $1.500k in BNB! Plus, enjoy an instant $100 upon connection. Act now to secure your tokens. And hey, seize the chance to win up to $20,000—it's your golden opportunity!
Winners: @ansoni-san, @LoicMahieu, @jellz, @rayjustinhuang, @Victor4X, @Daniel-Khodabakhsh, @amal, @kalevivt, @jfplataroti, @Gabiru34, @ramnes, @stella-yc, @gayolGate, @alfonsator, @deverman, @RoUsHaN-AgArWaL, @natanielf, @keexers, @siffreinsg, @tanertopal, @tmoyland001, @denisse-dev, @wsuff, @mucks, @blood1995, @Jolaolu, @tomagb, @OverLey42, @vb197701, @PrinceSumberia, @Rav4s, @al-co-js, @yuanshan, @mchibucos, @infokiller, @truesoni, @suny24x7, @GANitak, @miguelgr, @yzhernand, @bheemaguli, @Synx-FR, @CerealKiller97, @michaeldboyd, @Dm-178, @DjonysDalmy, @tandriamil, @fsocas, @noman2a6, @hsinhoyeh


Adding BaseReceiver class from BP2.

No chance to comment, but I have no idea what that pull request actually
did.  :-D
On 19 December 2016 at 00:01, Dread<EMAIL_ADDRESS>wrote:

Merged #77 https://github.com/ManiacalLabs/BiblioPixel/pull/77.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/pull/77#event-897977531, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAPdsnRz_GyrLZ7ZIhZB8WHS7BL9dzurks5rJbtjgaJpZM4LQNzW
.

--
/t
http://radio.swirly.com - art music radio 24/7 366/1000

Just adding in that receiver animation class that I tried to put in the previous PR. It's for use with things like this. Though that needs to be updated because the import paths changed for BP3. Basically it's some boilerplate code to make it easier to have "animations" where the data is not generated in the animation but comes from an external source. It was a simple way of making that happen without changing the core BiblioPixel code. Since, in my mind, there was no need. By doing it this way you could, for example, create an ArtNet or DMX receiver and therefore control BiblioPixel from many popular lighting sequencer applications. And then, because it's an animation like any other, it's immediately supported by PixelWeb.

Got it.
It's a shame that, again, it's all 8-bit integer - particularly since in
some cases you will be doing the gamma correction at the receiver and lose
at least 1 bit of precision.
But, later later for that!
On 19 December 2016 at 13:22, Dread<EMAIL_ADDRESS>wrote:

Just adding in that receiver animation class that I tried to put in the
previous PR. It's for use with things like this
https://github.com/ManiacalLabs/BiblioPixelAnimations/blob/master/BiblioPixelAnimations/receivers/GenericNetworkReceiver.py.
Though that needs to be updated because the import paths changed for BP3.
Basically it's some boilerplate code to make it easier to have "animations"
where the data is not generated in the animation but comes from an external
source. It was a simple way of making that happen without changing the core
BiblioPixel code. Since, in my mind, there was no need. By doing it this
way you could, for example, create an ArtNet or DMX receiver and therefore
control BiblioPixel from many popular lighting sequencer applications. And
then, because it's an animation like any other, it's immediately supported
by PixelWeb.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/pull/77#issuecomment-267951763,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPdsn24m6EVYj8yHaHJf6XoVIfnybhhks5rJnbrgaJpZM4LQNzW
.

--
/t
http://radio.swirly.com - art music radio 24/7 366/1000

We'll get there...
On Mon, Dec 19, 2016 at 7:28 AM, Tom Swirly<EMAIL_ADDRESS>wrote:

Got it.
It's a shame that, again, it's all 8-bit integer - particularly since in
some cases you will be doing the gamma correction at the receiver and lose
at least 1 bit of precision.
But, later later for that!
On 19 December 2016 at 13:22, Dread<EMAIL_ADDRESS>wrote:

Just adding in that receiver animation class that I tried to put in the
previous PR. It's for use with things like this
<https://github.com/ManiacalLabs/BiblioPixelAnimations/blob/
master/BiblioPixelAnimations/receivers/GenericNetworkReceiver.py>.
Though that needs to be updated because the import paths changed for BP3.
Basically it's some boilerplate code to make it easier to have
"animations"
where the data is not generated in the animation but comes from an
external
source. It was a simple way of making that happen without changing the
core
BiblioPixel code. Since, in my mind, there was no need. By doing it this
way you could, for example, create an ArtNet or DMX receiver and
therefore
control BiblioPixel from many popular lighting sequencer applications.
And
then, because it's an animation like any other, it's immediately
supported
by PixelWeb.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<https://github.com/ManiacalLabs/BiblioPixel/pull/
77#issuecomment-267951763>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AAPdsn24m6EVYj8yHaHJf6XoVIfnybhhks5rJnbrgaJpZM4LQNzW>

.

--
/t
http://radio.swirly.com - art music radio 24/7 366/1000
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/pull/77#issuecomment-267952825,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA6a6q-m5rl_4UBM2zap_5VUQpYte0afks5rJnhmgaJpZM4LQNzW
.


Poedit url change

The other cdn doesn't work anymore

Thank you for the contribution. It needed some fixes, so they were made in f9b093c7d31548b4f47647794f3f7f4664f09e84. Your contribution is still included (and still credited to you), with the appropriate modifications. Please feel free to ask about any of the changes.

No problem. Glad to be of help ;)


Webpack cannot resolve i18n.config and lazy translations

Environment

Operating System: Darwin
Node Version:     v16.16.0
Nuxt Version:     3.5.1
Nitro Version:    2.4.1
Package Manager<EMAIL_ADDRESS>Builder:          webpack
User Config:      builder, modules, i18n
Runtime Modules<EMAIL_ADDRESS>Build Modules:    -

Reproduction
https://stackblitz.com/edit/nuxt-starter-bk1a9i?file=nuxt.config.ts
Describe the bug
@nuxtjs/i18n module requires i18n.config file, when I use Vite as a builder everything works, but I need to use Webpack. When I tried to build nuxt3 project I got error caused by  the inability to resolve the path to the required config file. Same problem I got when I trying to add lazy translations. Webpack cannot resolve them.
Additional context
No response
Logs
ERROR  in ./.nuxt/i18n.options.mjs

Module not found: Error: Package path ./__config__?target=../i18n.config.ts&hash=8468eb7d is not exported from package /home/projects/nuxt-starter-bk1a9i/node_modules/@nuxtjs/i18n (see exports field in<EMAIL_ADDRESS>

I have same problem

@kazupon I marked this as p4 because I think webpack is meant to be supported by this module. Feel free to correct that triage :)

Lazy loading not working here. Just for defaultLocale  or fallbackLocale

Lazy loading not working here. It works only for defaultLocale

and not work's in upper layer also

@YarikSWT this issue should be resolved by #2265, you can try it out by installing the edge channel. I've changed your reproduction to demonstrate this here.
I did run into a separate issue caused by vue-demi and found a workaround by adding build: { transpile: ['vue-demi'] } to the nuxt config.
I'll be closing this for now as it looks like the root issue has been fixed, please let me know if you're still experiencing this issue on the edge channel!


User.findById() throws a CastError

The get route in the api (from chapter 10) throws an error when a user id is passed in the url in postman.
Here is the relevant code:
User.findById(req.params.user_id, function (err, user) {
if (err) res.send(err);
        res.json(user);
    });

{
"message": "Cast to ObjectId failed for value "54e17f7d44a911a16653b4b" at path "_id"",
"name": "CastError",
"type": "ObjectId",
"value": "54e17f7d44a911a16653b4b",
"path": "_id"
}
I've tried casting the value from req.params.user_id to an id using mongoose.Types.ObjectId(), but still no luck. This problem happened with the code from the repo as well as my own code.

Can you add an image of your POSTman?
Chris Sevilleja | scotch.io http://scotch.io/
@scotch_io http://twitter.com/scotch_io
@sevilayha http://twitter.com/sevilayha
On Wed, Feb 18, 2015 at 6:34 PM, connecteddeveloper <
<EMAIL_ADDRESS>wrote:

The get route in the api (from chapter 10) throws an error when a user id
is passed in the url in postman.
Here is the relevant code:
User.findById(req.params.user_id, function (err, user) {
if (err) res.send(err);
    res.json(user);
});

{
"message": "Cast to ObjectId failed for value "54e17f7d44a911a16653b4b"
at path "_id"",
"name": "CastError",
"type": "ObjectId",
"value": "54e17f7d44a911a16653b4b",
"path": "_id"
}
I've tried casting the value from req.params.user_id to an id using
mongoose.Types.ObjectId(), but still no luck. This problem happened with
the code from the repo as well as my own code.
—
Reply to this email directly or view it on GitHub
https://github.com/scotch-io/mean-machine-code/issues/21.

I got this to work using the find method and passing in the id instead:
var id = req.params.user_id;
User.find({_id: id}, function(err, user) {
		if (err) return res.send(err);

		// return that user
		res.json(user);
	});

@connecteddeveloper  I got this to work by adding return to the if statement.
  .get(function(req, res) {
    User.findById(req.params.user_id, function(err, user) {
      if (err) return res.send(err);

      // return that user
      res.json(user);
    });
  })

Mine works fine, i can retrieve the user without issues, it could have been version issues with Mongo maybe


Update pr1258

This updates #1258 to implement the changes to the corresponding schema PR.  After merging, this sets up the RNA branch to pull in metadata and sequence annotation changes.  The FeatureGroup object issues will be resolved once sequence annotation is pulled in.

+1 looks like it's coming together nicely!

topic branch, +1 received, CI passes - I'm merging


BITS (EDR/Data Cafe) PoC

[x] Gain access to Data Cafe BITS data
[ ] Write tools for BITS in SSC Assistant
[ ] Write tool backend code to generate dynamic queries based on the available criteria

Comment from the first working group:

Where is my BR?
Who has my BR?
Is my BR at risk due to forecasted delays?
If there is a current delay, was it the result of a non-forecasted delay?
Where is the choke point?
Who do I contact to move my BR foreword?
Historical
What are the perceived gaps (if any) in the delivery of particular service(s)?
Where are the historic delay points (bottle necks)?
What is the current capacity to deliver on the BR or type xyz based on historic data?
What is the historic capacity to deliver on BR's of type xyz?

Other comment from WC:

Is any of my BRs close to the revised implementation date or the target implementation date?
Is there any action items for me to do?
Provide a list of BRs that are due for renewal, sorted by client and BR owner.
List the BRs based on the request type, for example, all Real Property BRs from Client X.
Create a contact list for my BRs ( BA, Agreement, PM and Conceptual Designer)

Environement has been loaded with all the recent and updated views for the EDR -> BITS data.

Connection has been done to the DB, the client (Pierre) has confirmed the data is the proper data.
We have some minimal code that prooves we can retreive a BR from the database. More to come.


[docs] Generate lead art for all component/usage pages

Part of the template created in carbon-design-system/carbon-website#1600 will be a lead image. These must be generated for each component usage page.
Components

[ ] Accordion
[ ] Breadcrumb
[ ] Button
[ ] Checkbox
[ ] Code snippet
[ ] Content switcher
[ ] Data table
[ ] Date picker
[ ] Dropdown
[ ] File uploader
[ ] Form
[ ] Inline loading
[ ] Link
[ ] List
[ ] Loading
[ ] Modal
[ ] Notification
[ ] Number input
[ ] Overflow menu
[ ] Pagination
[ ] Progress indicator
[ ] Radio button
[ ] Search
[ ] Select
[ ] Slider
[ ] Structured list
[ ] Tabs
[ ] Tag
[ ] Text input
[ ] Tile
[ ] Toggle
[ ] Tooltip

Hey there! Going to close this one out due to inactivity. Feel free to comment and I can re-open!


Bump E2E test AMI

Description of changes:
New AMI, built today.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve


Fixed tf for odometry

The current transform publisher works wrong when an odometry is used.
The proper tf tree should look:
base_link -> odom -> map
but current implementation provides:
base_link -> odom
base_link -> map
The video of flicking robot model on the current version:
Screencast from 22.04.2024 21:50:52.webm

The video of this PR:
Screencast from 22.04.2024 21:41:05.webm

This kind of aproch can be found in nav2_amcl and slam_toolbox
PS: fixed typo :dancers:

memo
https://qiita.com/NaokiAkai/items/08deb338956c8da83aa9

@delipl
I've reviewed the code and it looks good, so I've merged it! Thank you for your contribution!


feat: logos scroll

What type of PR is this?

Check the PR title.

[ ] This PR title match the format: <type>(optional scope): <description>
[ ] The description of this PR title is user-oriented and clear enough for others to understand.

(Optional) Translate the PR title into Chinese.
(Optional) More detailed description for this PR(en: English/zh: Chinese).

en: logos scroll
zh(optional): logos 滚动
(Optional) Which issue(s) this PR fixes:

Waiting for the merge of  #884


Types are missing in Nuxt3 plugin

I'm having issues getting types to work with this Nuxt 3 module and plugins.
Whenever $device is accessed from nuxtApp, there are no types defined.
Plugins allow you to extend the $device object, but because it's missing types, the custom extensions are marked as Property 'isInAppBrowser' does not exist on type 'Device'.ts(2339)

Same here, solved by manually overriding the $device instance property in the types/index.d.ts
import { ComponentCustomProperties } from 'vue'
import { Device } from '@nuxtjs/device'

declare module '@vue/runtime-core' {
  interface ComponentCustomProperties {
    $device: Device
  }
}

This should be now fixed in v3.2.2.


📖 [Docs] Document the granting of API access

Description
When operators or cluster extensions are installed through OLM, they often provide Custom Resource Definitions (CRDs) that expose new API resources. By default, cluster administrators may have full access to manage these resources, but non-admin users often require specific permissions to create, view, or edit these custom resource objects.
This PR adds a document to the Concepts dir to show how this works.
Reviewer Checklist

[ ] API Go Documentation
[ ] Tests: Unit Tests (and E2E Tests, if appropriate)
[ ] Comprehensive Commit Messages
[ ] Links to related GitHub Issue(s)

Fixes #383

Fixes #1383

I advocate for telling the story like this:

Here's how you find the groups and resources from the name of a ClusterExtension
Here's how you build view/edit/admin roles for those groups/resources
Here's how to bind those roles to users (or use role aggregation)

Right now, we have (1) at the end of the doc, and I kind of think that's burying the lead.

@joelanford check out the reordered document

/assign @michaelryanpeter

/hold

/lgtm cancel
to allow others review it

/hold cancel

cc: @kuiwang02 ^^


feat(perf): improve build time for webpack dev server

Download Artifacts :

win-ia32
win-x64
linux-x64

Download Artifacts :

win-ia32
win-x64
linux-x64


Contributing to: br-rs-porto_alegre.json

Adding/Updating br-rs-porto_alegre.json

This file contains address ranges. For each linestring, the fields "NRIMPINI" and "NRIMPFIN" represent the odd number range, and "NRPARINI" and "NRPARFIN" the even number range. The name of the street is obtained by concatenating "CDIDECAT" + "NMIDEPRE" + "NMIDELOG".


Settings detail

It would be good to have a list of all settings in the configuration profile and what they do

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

ID: 8a627b5d-3edc-1add-b921-1dcd49c38653
Version Independent ID: a2e2bd3a-31c0-471a-05fb-fd64bd942c4a
Content: Manage your devices in Microsoft Teams - Microsoft Teams
Content Source: Teams/device-management.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

@white-tim Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

Hi @white-tim
Thank you for reaching out!
Please refer to the following link for more details on the device configuration profile settings.
https://techcommunity.microsoft.com/t5/microsoft-teams-events-blog/how-to-choose-deploy-and-manage-the-right-teams-devices-brk3410/ba-p/267552
Hope this helps. Thank you!

Thanks @sowjanya365   but this doesn't really give me what I am looking for.  Documentation for other policies and settings has detail of each setting, the options, and the impact of these settings.  I'm yet to find something like that for the device settings

@white-tim Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


Implementation on Windows

Has anyone managed to build the extension on Windows?
python setup.py build develop returns errors on windows.
This is because ubuntu comes with gcc compiler by default, while with windows I see python is compiled with MSVC tools.
Any tips or technical information on whether this is possible or not are welcomed.

I have implemented training and testing under window, you can go to have a look. Thanks to the author for the source code.
smoke-window

I have implemented training and testing under window, you can go to have a look. Thanks to the author for the source code.
smoke-window


Support for multiple SwiftEntryKit instances working in parallel

Issue Link 🔗
No issue.
Goals 🥅
Support for multiple SwiftEntryKit instances working in parallel. No API breaking changes!
These changes allow the programmer to create separate instances and use them at the same time.
For example: an alert and a toast can be shown at the same time, as long as they are displayed by different SwiftEntryKit instances, and their windowLevel differs.
Implementation Details ✏
SwiftEntryKit initializer made public.
Move logic from SwiftEntryKit class functions to instance functions.
SwiftEntryKit class functions now call a their instance counterpart on a new public static let shared: SwiftEntryKit  instance.
Eliminated static references between EKWindowProvider and lower level components, for consistent behaviour.
Testing Details 🔍
Create 2 SwiftEntryKit instances.
For example:
extension SwiftEntryKit {
    static let toast = SwiftEntryKit()
    static let alert = SwiftEntryKit()
}

Call display on them at the same time (make sure the given EKAttributes have windowLevel property, toast is logical to have higher)
Observe the alert and toast showing up at the same time.
Screenshot Links 📷

@AXGithub

must Support for multiple SwiftEntryKit instances working in parallel

The current state of the PR supporst multiple SwiftEntryKit instances working in parallel. This is actually visible on the attached gif, where one instance is showing an ActionSheet and one showing a Toast.
Could you please specify the changes you would require?

@AXGithub

必须支持多个 SwiftEntryKit 实例并行工作

PR 的当前状态确实支持多个 SwiftEntryKit 实例并行工作。这实际上在附加的 gif 中可见，其中一个实例显示 ActionSheet，一个实例显示 Toast。
您能否指定您需要的更改？

@AXGithub

must Support for multiple SwiftEntryKit instances working in parallel

The current state of the PR does support multiple SwiftEntryKit instances working in parallel. This is actually visible on the attached gif, where one instance is showing an ActionSheet and one showing a Toast.
Could you please specify the changes you would require?

version: 2.0.0

Please reply in full english sentences specifying the actual change you require.
Also would you mind sharing why you are specifically perform this review process?

It would be great if this could be merged into SwiftEntryKit. I have seen no issues using this code and it has been very useful. Though going by the lack of activity to SwiftEntryKit, it seems as though this project may be abandoned (which would be a shame).


Useability changes and IE toggling (settable ContactEnabled, Brushing…

…Enabled, GraspingEnabled)
Setting Contact, Brush, or GraspingEnabled in Interaction Manager will appropriately call UpdateSceneInfo(), along with some brush logic changes to decouple it from Soft Contact, allows all three features to be toggled independently and dynamically at runtime.
The changes related to InteractionBehaviour allow smart defaults to happen if you do an AddComponent() at runtime, relying on a public defaultInteractionMaterial field in InteractionManager to set a default InteractionMaterial and searching the scene for an appropriate InteractionManager for the behaviour as well. Otherwise you get an error, have to set the material and manager fields, call Reset(), and then re-enable the object (four/five lines per instantiation goes down to one with this change) in order to add an InteractionBehaviour component at runtime (ew!)

Hold this thought, I've got some fixes to make first. I got too excited and submitted this before checking some of the newer commits I pulled against my changes. (3:32 PM)


Error while importing ETH data from GDAX Exchange

While trying to download historical ETH data from GDAX exchange to sqlite3, I consistently get the following error at around "2017-01-08 13:40:00 UTC" :
/home/lujo/gekko/core/budfox/candleCreator.js:76
  this.threshold = candles.pop().start;
                                ^

TypeError: Cannot read property 'start' of undefined
    at CandleCreator.write (/home/lujo/gekko/core/budfox/candleCreator.js:76:33)
    at CandleCreator.bound (/home/lujo/gekko/node_modules/lodash/dist/lodash.js:729:21)
    at Manager.processTrades (/home/lujo/gekko/core/budfox/candleManager.js:32:22)
    at TradeBatcher.bound (/home/lujo/gekko/node_modules/lodash/dist/lodash.js:729:21)
    at emitOne (events.js:96:13)
    at TradeBatcher.emit (events.js:188:7)
    at TradeBatcher.bound [as emit] (/home/lujo/gekko/node_modules/lodash/dist/lodash.js:729:21)
    at TradeBatcher.write (/home/lujo/gekko/core/budfox/tradeBatcher.js:78:8)
    at TradeBatcher.bound (/home/lujo/gekko/node_modules/lodash/dist/lodash.js:729:21)
    at Market.processTrades (/home/lujo/gekko/core/markets/importer.js:99:21)

In order to not get stuck I applied the following quick and dirty fix, but I am sure there's a much more elegant way to solve this:
diff --git a/core/budfox/candleCreator.js b/core/budfox/candleCreator.js
index e2ae35d..46d934d 100644
--- a/core/budfox/candleCreator.js
+++ b/core/budfox/candleCreator.js
@@ -73,8 +73,11 @@ CandleCreator.prototype.write = function(batch) {
   candles = this.addEmptyCandles(candles);

   // the last candle is not complete
-  this.threshold = candles.pop().start;
+  var popped = candles.pop();

+  if (typeof(popped) != 'undefined'){
+    this.threshold = popped.start;
+  }
   this.emit('candles', candles);
 }

Best,
Luca

Interesting, thanks for the report! Will have a look at this asap.

It is definitely an edge case. I did something similar as your fix to solve this.


Run default script in TravisCi

Ci was reporting success on failed npm test because of the
command following the tests. Ci should be red if tests failed.
Turn off the failing datatstore tests for now (I have a bug open for those). Turn off MongoDB Kokoro test as we currently do not have all necessary sources to run them successfully.
Run the default script (i.e., npm test) rather than tests with coverage. Previous config was always green, independent of the npm test result.

I have an internal bug open for it.


Unable to run lepton on Ubuntu 18.04 on amd ryzen system.

The more we know about your system and use case, the more easily and likely we can help.
Environment info

OS: Ubuntu 18.04
App Version : any

Description of the problem / feature request / question:
Unable to run lepton, reason being that my kernel is not working with snapd. I cannot downgrade my kernel else my ubuntu wont work. Suggest some way to get stable build.
If possible, provide a sample gist or screenshot:
If possible, provide the log files

Mac: ~/Library/Application Support/Lepton/logs
Windows: C:\Users\<username>\AppData\Roaming\Lepton\logs
Linux: ~/.cached/Lepton/logs

The debug mode is recommended when producing the logs.
You can send your log file to<EMAIL_ADDRESS>if don't want to post it here.

@NikhilSaini38 If the snap package doesn't work in your case, you can try AppImage. Download the latest release from here https://github.com/hackjutsu/Lepton/releases/tag/v1.7.0.


iPad Air 2 15.7.1 Don't show Sileo

Jailbreak is Ok but, i don't see all installed app on my springboard, for use Sileo just click on "add repo" on a repo website, and if i quit Sileo, i don't show after on the background

Pull requests are not for support. Make a support thread in the discord.

<:frcoal:1035329805626916956>


Ol 6 beta performance problem with multiple layers

Describe the bug
When creating a map with multiple layers in the old version of openlayers the performance was okay now its not working any more panning and zooming is really slow
To Reproduce
create a map like this:
And when you start adding layers from the attached zip file you can see it gets slower and slower.
ol 6.0.0-beta6 https://codesandbox.io/s/14kkpqkxjl
ol 5.3.0  https://codesandbox.io/s/mjv0r8138y?fontsize=14
and then you can use the attached zip to add layers.
gpx-files.zip

Expected behavior
The map is as fast a the pervious versions of Openlayers

I found same issue.
We add only 7 layers, and so slow performance with composite layers.
No issue with version 5.

What layer types were you using @Jinkwon? Vector?

@ahocevar is this because of that all layers has its own canvas layer. You mentioned this in a closed issue.

I forgot to mention i use a 4K screen with a map that fills the hole screen.
Itested it with the chrome stable and beta version and there the VectorImage layer are realy slow.
When I use Vector layer it is a little faster. I find that strange because in the previous version of openlayers the image rendering was the fastest way.
Today i tested it with firefox and firefox nightly and there the speed is much better when using the Vector layers.

Trying to update our WebGIS with OL6 and we are having the same problem with Firefox.
In the task manager it seems that the GPU is used heavily and his ram too (Test done on Windows 10 and Linux Ubuntu 18.04)
You can test here :
Ol V6 : https://sig-delos.efa.gr/index.php?SIG=Delos&ol_version=6
OL V5 : https://sig-delos.efa.gr/index.php?SIG=Delos
Weirdly V6 seems to work faster on Chrome.
Is there some configuration to be modified or code rewriting to do ?


Question: How to remove the start offset when combining traces?

Usually you combine traces from the same parallel execution run.
For comparison it could be useful to see different sequential runs below each other without a start offset.
How can I start every trace at 0 seconds with viztracer --combine?

Currently it's not possible to do this(directly with VizTracer). Synchronizing traces from different run might be a useful feature. I'll see how I could proceed on this.
You can also change the timestamp of the json file by yourself(or even write a plugin for it) if you need this feature asap.

Hi @kllp , I added the feature in master so you can combine reports with --align_combine and all the reports will be aligned from the start. I probably won't release it immediately, so you can install from git pip install git+https://github.com/gaogaotiantian/viztracer. Let me know if this works for you.

It works! Thank you so much @gaogaotiantian! You made my day!


docs: snow mainnet contracts

Contract addresses for SNOW mainnet deployment and ICZ token
Checklist:

[x] I have performed a self-review of my own code
[x] I have documented my code in accordance with the documentation guidelines
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have run the unit tests
[x] I only have one commit (if not, squash them into one commit).
[x] I have a descriptive commit message that adheres to the commit message guidelines

Please review the CONTRIBUTING.md file for detailed contributing guidelines.

@all-contributors please add @CyrusVorwald-ICON for business, docs, ideas, maintenance, and project management.


refactor: Introduce internal table selection cell elements

Description
This PR addresses the need to utilize hooks within our previously native table wrapper and selection cell components. By converting them to function components, we will be able to take advantage of hooks, in preparation for the sticky columns feature: https://github.com/cloudscape-design/components/pull/918
How has this been tested?
Existing unit, integration and screenshot tests.

Review checklist
The following items are to be evaluated by the author(s) and the reviewer(s).
Correctness

Changes include appropriate documentation updates.
Changes are backward-compatible if not indicated, see CONTRIBUTING.md.
Changes do not include unsupported browser features, see CONTRIBUTING.md.
Changes were manually tested for accessibility, see accessibility guidelines.

Security

If the code handles URLs: all URLs are validated through the checkSafeUrl function.

Testing

Changes are covered with new/existing unit tests?
Changes are covered with new/existing integration tests?

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Closed in favour of:

https://github.com/cloudscape-design/components/pull/1001
https://github.com/cloudscape-design/components/pull/1003
https://github.com/cloudscape-design/components/pull/1005


Non-numeric chars in barcode are prefixed with $10 character

Thank you for your work on this library.
It works perfectly.
I found some mismatch in barcode capturing. If barcode contains characters like 'a'...'z' and simbols

~

, each simbol 'a'..'z' is prefixed with code $10. As for '~' , it is prefixed with $10 char but the code is not 126 (

~

) but is 192.
Testing the same barcode in notepad, everything is ok.
Can you help me this is issue.
Thank you very much.

I assume this is a character encoding issue, but I don't have any cycles at the moment to investigate it further.  It also depends on the version of Delphi you are using as to the behaviour of the Char() cast at Line 527.  Please update this issue if you resolve it.


chore(bridge-ui): fix linting

I think you will have to manually re-run the failing workflow on the bridge-ui release-please branch @KorbinianK


Feature/sdl 0189 restructuring on reset timeout

Just for internal review
This PR is [ready] for review.
Need to test

There are many hardcoded strings in PR. Should be moved to const

Moved to open


test: 3.0.0 - DO NOT MERGE

SUMMARY
This PR is intended to create a testing environment for 3.0.0.
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

/testenv up

/testenv up


Some theory questions

Hey Dian, bit of a different issue. I'm trying to match up WOR as described in the paper to the code. Equation 2 in the paper shows how you compute the Q values at a given state by using the ego model to forward simulate different actions, and using the reward structure to compute rewards for a particular imagined trajectory. Two questions here:

I get how you can use the forward model and explicit reward structure to compute r(L^ego, L^world, a), but how is the cost-to-go term V_{t+1} computed?
With a 5 step planning horizon and 28 discrete actions, I would think this becomes pretty expensive to fully tabularize (28^5 possible trajectories I think) - is that what happens? Or do you assume that the candidate action is repeated over 5 steps?

Also please let me know if you'd rather I email these questions instead of making this a Github issue.

Hello again!

I get how you can use the forward model and explicit reward structure to compute r(L^ego, L^world, a), but how is the cost-to-go term V_{t+1} computed?

So the values are computed using Bellman updates along the recorded world states. You can find the logic in rails/bellman.py. They are computed densely which allows us extract Q values that are not even the ground-truth ones! (e.g. arbitrary speed, or camera angles.)

With a 5 step planning horizon and 28 discrete actions, I would think this becomes pretty expensive to fully tabularize (28^5 possible trajectories I think) - is that what happens? Or do you assume that the candidate action is repeated over 5 steps?

The actions is not exponentially expanded. We do not explicitly model trajectories either. The actions are extracted as Q values from the Bellman updates, which are computed from the future frames.

Also please let me know if you'd rather I email these questions instead of making this a Github issue.
Happy to discuss this on GitHub, but also feel free to email me at<EMAIL_ADDRESS>


How to deploy to Railway.app

I've searched all over the web, still can't figure out how to deploy django-q to Railway.
Right now I have a Procfile (apparently Railway only reads one line):
web: python manage.py migrate && python manage.py collectstatic --no-input && gunicorn fleetdata.wsgi & python manage.py qcluster
But the qcluster does not start. If I connect to Railway through the CLI railway up python manage.py qcluster, it works. But how do I sturt the qcluster so that it always works?
Thanks!

You will need to split the wsgi and the background worker. So like this:
web: python manage.py migrate && python manage.py collectstatic --no-input && gunicorn fleetdata.wsgi
worker: python manage.py qcluster

This will create two services, so just be aware that it will add some extra costs.

You will need to split the wsgi and the background worker. So like this:
web: python manage.py migrate && python manage.py collectstatic --no-input && gunicorn fleetdata.wsgi
worker: python manage.py qcluster

This will create two services, so just be aware that it will add some extra costs.

Thank you! This is exactly what I did. For someone looking for the answer in the future: make 2 services from the same github branch, and in Settings under Deploy/Start Command for each service put start command (one line for each) like this:
Service Django:
python manage.py migrate && python manage.py collectstatic --no-input && gunicorn fleetdata.wsgi
Service Django-Q:
python manage.py qcluster
and remove the Procfile.


sknn unit test date type error

In the test_data.py file in folder sknn\tests, when using gpu and setting theano flag to floatX = float32, original data type (numpy.float64) of these two variables (weights and biases) would be wrong so that the unit test would generate 3 errors. In order to solve this problem, I change the date type of these two variables to numpy.float32, and then all the tests are passed.
I'm looking forward to your reply. Thx. :)

Thanks for reporting this! To be sure it's the right fix, I need a bit more information...
What are the errors generated? Is this only when floatX is set? What about the CPU?

Hi alexjc, I tested both GPU and CPU devices and the errors are the same when setting floatX=float32.
The error information is as follows (note that I omit all the array values below):
TypeError: ('TensorType(float32, matrix) cannot store a value of dtype float64 without risking loss of precision. If you do not mind this loss, you can: 1) explicitly cast your data to float32, or 2) set "allow_input_downcast=True" when calling "function".', array([......]), 'Container name "W"')
You could see the error is considered to be a TypeError. In my opinion, on CPU device it doesn't matter as we needn't set floatX=float32. But as the theano official guide recommends using floatX=float32 when using GPU device, I think this TypeError might be fixed. Thx.

OK, I see. Will you update set_parameters instead and do the conversion there? One of the design goals of the library is to be as tolerant as possible for inputs, so this kind of problem will be prevented if the underlying mlp.py code does the conversion.
Thanks!

Hi, alexjc. I have modified the _array_to_mlp() method in backend/lasagne/mlp.py file and also the parameter of assert_true() function in test_data.py file. You should double-check whether everything is fine now. Thx.

OK. alexjc, many thanks for your suggestions. I've pushed a new commit and changed the dtype to theano.config.floatX in both mlp.py and test_data.py files. Hope everything is OK now. :)

Yeah, very close now. Made a couple last comments but if you don't have time let me know!
Thanks again for your fix.

Dear alexjc. I'd left corresponding comment for each of your comments. I have enough time so don't worry. Thx for your kind help.

Dear Alex, I'd pushed a new commit. Hope everything is fine now. If any bugs exists, please no hesitate to let me know. :)

Merged! Many thanks for your contribution.

It's my pleasure. Many thanks for your kind guidances and I've learned a lot.


Add Create Asset Web Page

As a User I want to use a web page to create new assets.
This web page should contain a form allowing to set values for every attribute of the asset.
Dependencies
#30
Defintion of Done

[ ] A web page can be called containing input fields specific to the asset type.
[ ] When the form is sent, a database entry for this asset is created.

5 SP


ZipWithIndex with O(n) implicit search complexity

Looks like no one is taking a cut at https://github.com/milessabin/shapeless/issues/490, so here I go :-)

LGTM :+1:
However, could you explain to me as to why the original version exhibited the slow behaviour while this version doesn't. We can take this offline if you like, just find me on gitter.

Maybe not a problem of some kind of "implicit search complexity" after all, but this implementation just more simple, not resorting to Zip, itself resorting to Transposer that I find hard to get one's head around to. I can easily call it on HLists of length ~70 (before seeing other unrelated scalac crashes).

Argh, merged by mistake :-(

Ping me to re-open :-|

@alexarchambault +1 on reopening. I'd like to use zipWithIndex but can't until something like this in place.

@AndreasKostler My changes make it look (almost) like the dual of what you did for coproducts.

@alexarchambault I still have to get my head around as to why the exponential compile time happens. Neither Range nor Zip exhibit this behaviour and I can't see why zipWithIndex would...any light on this is highly appreciatetd


Update index.js

Please changes this Check Because Some Country code Have more than 17 digit including country code so only accepted 15 digit so it is wrong

"Please check the changes above, because in this condition you restrict the user from adding more than 15 digits. This limit should be removed, as some other countries, including the country code, may have phone numbers exceeding 15 characters. Please address this issue accordingly."

Hi @chetanbnagmoti,
Can you give me an example of a phone number that exceeds that limit?
I am not sure, but last I checked the maximum length for a given phone number could not exceed 15 digits as per ITU standards (which is worldwide).

const [isPhoneValid, setIsPhoneValid] = useState(false);
const handleValidation = (inputNumber, country) => {
const dialCode = country.dialCode;
const cleanedNumber = inputNumber.replace(/\s+/g, "");
console.log("country ===>", country);
// For India, ensure it's exactly 10 digits after the country code
if (dialCode === "91") {
const numberWithoutCode = cleanedNumber.replace(${dialCode}, "");
return numberWithoutCode.length === 10;
}
// For other countries, check if the number length matches the

country's typical length
let typicalLength = country.format.match(/./g)?.length;
console.log("typicalLength ======>", { format: country.format,
typicalLength });
let numberWithoutCode = cleanedNumber.replace(${dialCode}, "");
numberWithoutCode = ${dialCode}${numberWithoutCode};
if (typicalLength >= 17) {
typicalLength = 15;
}
return numberWithoutCode.length === typicalLength;
};
<Grid item lg={12} width={"100%"}>

Mobile Number
<PhoneInput
country={"in"}
value={linkData.mobileNumber}
onChange={handlePhoneChange}
placeholder="Phone Number"
countryCodeEditable={false}
disableDropdown={false}
autoFormat={true}
inputProps={{
name: "mobileNumber",
required: true,
autoFocus: false,
autoComplete: "off",
}}
inputStyle={{
backgroundColor: !isPhoneValid ? "white" : "white",
}}
dropdownStyle={{
height: !isEditClinet ? "150px" : "120px",
fontSize: "20px",
paddingTop: "10px",
width: "360px",
marginTop: "15px",
borderRadius: "5px",
}}
isValid={(inputNumber, country) => {
const isValid = handleValidation(inputNumber, country);
setIsPhoneValid(isValid);
return isValid;
}}
/>

<Grid item lg={12} display="flex" justifyContent="center" sx={{ width:
"100%" }}>
<CustomButton
variant="contained"
disabled={
linkData.mobileNumber === "" ||
!isPhoneValid
// linkData.mobileNumber.length < 12
}
onClick={handleSubmitForm}
>
{!isEditClinet ? "Add Number & Share" : "Save Details"}

//I want to dIsable this submit button . //Please suggest to me what I can
do for this.
On Tue, Dec 3, 2024 at 9:18 PM chetan nagmoti @.***> wrote:

Yes ,Are You Write But Your Format Of Some Countries  Are Wrong So That is
why Validation Is Not Check Accurate .
Ex => Jordan Have Format ==>  +962 7XX XXX XXX but when I am console your
format then this is ==>
{
"format": "+... ... ... ... ... ..",
"typicalLength": 17
}
And Also Console This country object ==>
{
"name": "Jordan",
"regions": [
"middle-east"
],
"iso2": "jo",
"countryCode": "962",
"dialCode": "962",
"format": "+... ... ... ... ... ..",
"priority": 0
}
Correct Format for Jamaica => +. (...) ...-....
{
"name": "Jamaica",
"regions": [
"america",
"carribean"
],
"iso2": "jm",
"countryCode": "1876",
"dialCode": "1876",
"format": "+.... ... ... ... ... ..",
"priority": 0
}
The above Jordan format is wrong .So Can it be possible to correct the
format of those wrong Countries.
On Tue, Dec 3, 2024 at 7:28 PM Raza @.***> wrote:

Hi @chetanbnagmoti https://github.com/chetanbnagmoti,
Can you give me an example of a phone number that exceeds that limit?
I am not sure, but last I checked the maximum length for a given phone
number could not exceed 15 digits as per ITU standards
https://stackoverflow.com/a/3350566 (which is worldwide).
—
Reply to this email directly, view it on GitHub
https://github.com/sample-usr/react-phone-input/pull/75#issuecomment-2514635204,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4OCWJOQ7JX2HKVNJGCYVL32DW2J5AVCNFSM6AAAAABS5FZ4V2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMJUGYZTKMRQGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

I'm sorry but I'm not sure I understand your problem. Can you please use proper formatting when posting code and explain a little more what seems to be the issue?

Yes, I will do that.
On Tue, 10 Dec 2024, 20:11 Raza, @.***> wrote:

I'm sorry but I'm not sure I understand your problem. Can you please use
proper formatting when posting code and explain a little more what seems to
be the issue?
—
Reply to this email directly, view it on GitHub
https://github.com/sample-usr/react-phone-input/pull/75#issuecomment-2531824162,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4OCWJISRTJY6IIJ3KVZNOD2E34RFAVCNFSM6AAAAABS5FZ4V2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMZRHAZDIMJWGI
.
You are receiving this because you were mentioned.Message ID:
@.***>

Can I am contacting you if possible
On Wed, 11 Dec 2024, 00:10 chetan nagmoti, @.***> wrote:

Yes, I will do that.
On Tue, 10 Dec 2024, 20:11 Raza, @.***> wrote:

I'm sorry but I'm not sure I understand your problem. Can you please use
proper formatting when posting code and explain a little more what seems to
be the issue?
—
Reply to this email directly, view it on GitHub
https://github.com/sample-usr/react-phone-input/pull/75#issuecomment-2531824162,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4OCWJISRTJY6IIJ3KVZNOD2E34RFAVCNFSM6AAAAABS5FZ4V2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMZRHAZDIMJWGI
.
You are receiving this because you were mentioned.Message ID:
@.***>


Added mail generator and verification function.

Definition of done (v0.0.1)

[x] Automated integration test - will come later for the whole feature (see also notes from #13)
[X] Integrity protection - not needed
[X] Structured Logging and Monitoring for Lambda - this is actually a proposal for some really simplistic logging; monitoring could be spiked here with X-Ray; wdyt?

The plan would be to reference the lambda output in the parent stack and either override the email (e.g. for existing CT setups in the CT stack) or let the function generate them. By default it also verifies (while doing exponential backoffs) that the email delegation setup works.
As a followup I'd delete the obsolete healthcheck.

Could  d6f83d5 go into another PR so this PR would be more contained and easier to review/merge?

Good to go from my POV


Psychson with GUI

This is not an issue, but i didn't find any other way to make a comment or communicate with brandonlw.
I created a gui programm (based on psychson) that let you flash your stick with only a few clicks. It includes already every tool needed to make a custom FW; but you have never to get in touch with them, because PsychsonGUI makes all the work for you :)

Finally, here the link to the Github page: https://github.com/soomeone/PsychsonMaker/wiki

Cool but you should add a port feature thatwill automaticly port it to your USb controller.

I recently worked only with the Phison 2251-03, so I have no knowledge about the process on other controller. But if you need flashing a specific controller, post the name of it and I'll look if it will be possible to add it.

ok I am working on a duckyscript to visual basic script converter so I think I don't need it anymore. If you want to help me. Then just mail me<EMAIL_ADDRESS>

Can you maybe try to add 2307 support? I am going to buy a USB that will may ship with 2303 or 2307. Your tool is great I am going to use it much if I have my USB in home.

It is very unlikely that this will be possible with the 2303 controller, but i'll do some researches on it.
If there are other requests or issues, please post them on the tool's github site.

okejj :-)

There are information about a successful port to 2307 on a japanese blog:
http://vivibit.net/psychson/
http://vivibit.net/psychson2/
http://vivibit.net/psychson2307/
They contain quite a lot of information. If any one wants to give it a try maybe it can be integrated into this tool.


docs: Add note around Google.Apis.Logging beeing hidden from Intellisense

Because we are releasing googleapis/google-api-dotnet-client#2707

Thanks - I'll add something in the cloud.google.com docs too.

This is the sample that is shown there, and the text really doesn't mention anything about ILogger at the moment. It's fine either way though.


WW-4871 Fixes StringConverter and improves it's tests

Tests are failing.

Thanks! both fixed :)

I think we are good ... @aleksandr-m what's your opinion?

As a quick fix it looks ok. In the future it would be good to make this configurable somehow (defaults, exact digits, settings from locale).

As a quick fix it looks ok. In the future it would be good to make this configurable somehow (defaults, exact digits, settings from locale).

I would start with this and then add more options when requested

Tests for convert back also improved within NumberConverter's tests

Maybe we shouldn't format numbers at all. Just replace , and . according to locale. WDYT?

Maybe we shouldn't format numbers at all. Just replace , and . according to locale. WDYT?

You mean calling .toString and replacing . with , when needed?

Something like this:
        if (Number.class.isInstance(value)) {
            String str = value.toString();
            DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols(locale);
            return str.replace('.', otherSymbols.getDecimalSeparator());
        } else {
            return Objects.toString(value, null);
        }

@lukaszlenart Yes. The if (Number.class.isInstance(value)) should have same conditions as in number converter. And if (otherSymbols == '.') can be added to skip replacement if it isn't needed.

The if (Number.class.isInstance(value)) should have same conditions as in number converter

Not sure what you mean by that, here we are converting a number to a String, while in the NumberConverter we are converting a String to a number.

What point to convert number to string according to locale if it is cannot be converted back (e.g. on form submit).
Are we converting all instances of Number in number converter? If yes than it is ok.

@aleksandr-m , it was to fix WW-3171. And I think locale has not any problem to converting back from string, according to this PR's NumberConverterTest.
I think it's ok and just needs to expand max fraction digits which this PR does.

All the converters are Locale-aware which means they will convert a String to a Number using user Locale and then they will be able convert the Number back to a String using the same Locale.
And as Yasser pointed out this is all about fraction digits ... what I like in your suggestion about using the .toString method is that it will resolve one problem which can be observed in the Select tag - when key is defined as a BigDecimal, current version of converter will add a .0 to it, with .toString there is no such problem.

Łukasz, if you like to not add a .0, deleting format.setMinimumFractionDigits(1); does this. I did it in my first commit but saw some test fails then reverted it back and thought it's needed.

The .0 is not always needed, it would be good to compare it with tests before I had introduced the Locale aware converters.

The .0 is not always needed

How previous version detects when needed? I saw previous StringConverter and seems only can converts arrays and dates and returns null elsewhere !

I meant check the tests :) The previous version was using .toString I think

Łukasz, I reviewed tests. It seems the root cause is a very old 13 years old issue, WW-455. I think not adding .0 will not cause any trouble with that issue any more. Maybe the old WebWork was adding .0 which is not rational I think.
I think we can fix Select-3.txt contents and rest tests in orther and delete format.setMinimumFractionDigits(1), then if this raised any issue, that issue should be fixed itself bot by adding not meaningful .0 :) wdyt?

This how it was before:
        // XW-409: If the input is a Number we should format it to a string using the choosen locale and use java's numberformatter
        if (Number.class.isAssignableFrom(toType)) {
            NumberFormat numFormat = NumberFormat.getInstance(getLocale(context));
            if (isIntegerType(toType)) {
                numFormat.setParseIntegerOnly(true);
            }
            numFormat.setGroupingUsed(true);
            numFormat.setMaximumFractionDigits(99); // to be sure we include all digits after decimal seperator, otherwise some of the fractions can be chopped

            String number = numFormat.format(value);
            if (number != null) {
                return number;
            }
        }

        return null; // no number

(XWorkBasicConverter)

I have no idea why I did use the setMinimumFractionDigits(1) :\

:) I think you did to pass SelectTagTest.testBigDecimal. When I comment it, only this old test fails and some early added new tests but the root cause is that 13 years old test. Currently, I have no idea how previous version passes that test but anyway, I think it somehow was not meaningful to add .0 in conversions. WW-455 also does not claim that such thing is needed.

Looks like dropping setMinimumFractionDigits resolves all the problems :)

:) thank you. I dropped that in this commit.

Ignore my comment about if (Number.class.isInstance(value)). I was under the wrong impression that we handle all Number implementations in the NumberConverter.
I like the toString version better because is doesn't convert something like 100234.4 type of float to<PHONE_NUMBER>375 string.

Maybe we can say it is user's decision. If exact precision is required, then decimal should be used.

I would leave it as is for now to see what users will tell us.

Please everyone, take your contributors hates off and put the end uses hats on. If you have something like private float fff = 100234.4f; in your action and <s:property value="fff"/> in the JSP, then you don't want to see 100234.398 in the page. If you wanted to, then you would used this number in the first place.

ouch! you are right, I have focused on BigDecimals and totally forgot about that, sorry :(
This makes me wonder why our tests didn't catch this.

@aleksandr-m , this is a known java floating point behavior because these types use a binary mantissa, they cannot precisely represent many finite decimal numbers, such as 0.1, because these numbers have repeating binary representations.
So, IMHO, I don't see any bad thing to display 100234.398 in jsp because it's the real value of fff which java will use in any computation.
When precise computation is necessary, such as when performing currency calculations, user should not use floating-point types. Instead, an alternative representation that can completely represent the necessary values should be used, e.g. BigDecimal.
Are you sure .toString() always has your mentioned behavior? e.g. for 0.1f?

@yasserzamani Don't think about computation, think about presentation layer.

100234.398 in jsp because it's the real value of fff which java will use in any computation.

No. If you change formatter settings it will be<PHONE_NUMBER>375 or something else.

Are you sure .toString() always has your mentioned behavior? e.g. for 0.1f?

Why not? It is simple to string.

Thanks; I saw Float.toString docs, you're right, it's more suitable for presentation layer as will generally produce the shortest decimal representation that can unambiguously identify the true value of the floating-point number! NumberFormat.format seems create string from the actual real value till max fraction digits.
Maybe we can .toString, count it's result fraction digits, setMaxFractionDigits to that then format?

This makes me wonder why our tests didn't catch this.

Łukasz, I found some time to go deeper and saw that this happens when value cannot be represented exactly with a finite binary number. Failing test examples are added at end.
After all, contrary to my expectation, .toString has better behavior than Locale.NumberFormat.format ! It produces the shortest decimal representation that can unambiguously identify the true value of the floating-point number, but that, produces the true value as is !
Following tests fails:
    public void testDoubleToStringConversionPL() throws Exception {
        // given
        StringConverter converter = new StringConverter();
        Map<String, Object> context = new HashMap<>();
        context.put(ActionContext.LOCALE, new Locale("pl", "PL"));

        // when cannot be represented exactly with a finite binary number
        value = converter.convertValue(context, null, null, null, 0.1 + 0.1 + 0.1, null);

        // then produce the shortest decimal representation that can unambiguously identify the true value of the floating-point number
        assertEquals("0,3", value);
    }

    public void testFloatToStringConversionPL() throws Exception {
        // given
        StringConverter converter = new StringConverter();
        Map<String, Object> context = new HashMap<>();
        context.put(ActionContext.LOCALE, new Locale("pl", "PL"));

        // when cannot be represented exactly with a finite binary number
        value = converter.convertValue(context, null, null, null, 0.1f, null);

        // then produce the shortest decimal representation that can unambiguously identify the true value of the floating-point number
        assertEquals("0,1", value);
    }

I think @aleksandr-m is right and the 0.1+0.1+0.1 example fails but I would expect that is must fail:
junit.framework.AssertionFailedError:
Expected :0,3
Actual   :0,30000000000000004

user would also be surprised if this wouldn't fail.

You're right; 0.1+0.1+0.1 also fails with .toString. However, 0.1f does not.

The point is, if you print the final number into the console from the action and later show it in the JSP both should be the same (except decimal separator because we take numbers according the locale).
If you're doing some computation like 0.1+0.1+0.1 in the action and want to show it in JSP then it is expected that you need to somehow beautify the numbers.

@aleksandr-m , @lukaszlenart , while decimal 0.1 cannot be represented exactly with a finite binary number, but this PR formats 0.1d (double) to 0,1 but formats 0.1f (float) to 0,10000000149011612. As for both the max fraction digits is Integer.MAX_VALUE and as both java float and double types follow IEEE 754, I cannot understand this different behavior.
wdyt? It seems we have the issue only with float data type.

Eureka! I reviewed java.text.NumberFormat.format:254 :
        } else if (number instanceof Number) {
            return format(((Number)number).doubleValue(), toAppendTo, pos);
        }

((Number)number).doubleValue() causes the issue. I fixed that in above commit.

@yasserzamani Looks like a hack. ;) Why not to use code provided by Lukasz https://github.com/apache/struts/pull/173#issuecomment-338877574 ?

Yes I see :) please let me leave it as is until I discuss this issue with jdk team. java.text.NumberFormat.format should not have different behavior against 0.1f and 0.1d, I think. For 0.1d it produces 0,1 but for 0.1f produces 0,10000000149011612 while both double and float are IEEE 754 ❗  I'm almost sure this should be a bug.
Łukasz code is ok but please let me keep this hack until jdk's fix as we do not have this issue with other Numbers just for float which is jdk's failure, I think :)

I don't like fixing JDK's bugs inside the framework, it's hard to track if the bug was fixed and we supposed to drop the workaround or even make it deprecated and allow users to switch to a new solution. If you decide keep the current solution, please add TODO or FIXME to document this workaround.
That being said, I would like to have this fixed and start preparing a new release.

Yes I see, I just was in wait for a reference jdk url to being added to the TODO (I reported at http://bugreport.java.com/ and they wrote they will list this in their database or contact me for more info if was needed).
However, I added the TODO; I'll add a reference url from jdk when was ready :) thanks!

@aleksandr-m I'm down with these changes and this PR can be merged IMO

@lukaszlenart Better than current state. +1 for merging.

"a double value is able to hold this value precisely", they said after seven days in a comment and simply closed the issue 😮 The issue is visible on bugs.java.com at the following url JDK-8190928.
I replied back that if you believe a double value is able to hold 0.1d precisely, then please try:
System.out.println(new java.math.BigDecimal(0.1d));
System.out.println(0.1d + 0.1d + 0.1d);

The output is:
0.1000000000000000055511151231257827021181583404541015625
0.30000000000000004

IT IS NOT:
0.1
0.3

so a double value also is not able to hold 0.1d precisely, i think.
I hope they will reply. I know they're advanced experts but I cannot understand what is the wrong with my understanding :( I hope they will help.

The linke explains everything ... but you must have at least PhD to understand that fully ;-)
https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html

yeah 😃 however all my current below evidences show this should be a bug:

Why java.text.NumberFormat.format(Float.MIN_VALUE) does not represent Float.MIN_VALUE correctly? it contains wastes digits coming from float -> double conversion ❗
I searched 0.1 in above link and it does not distinguish between single or double precision for 0.1. It always says 0.1 cannot be represented exactly in binary in floating-point formats. It does not distinguish double for this rule.
Anyway, if java has implemented double in such a way which can stores 0.1 exactly, so, why System.out.println(0.1d + 0.1d + 0.1d); does not print 0.3 in java.

LGTM 👍

The most discussed PR ever!

yeah! I should thank Aleksandr and you for your time to review. In the end it became very better than my beginnings commits.

As a workaround, you can do to restore to original output: ie 1.0 rather than just 1
format.double={0,number,##0.0}
<s:textfield name="bean.field" value="%{getText('format.double',{bean.field})}" />
Cheers Greg