Implement remaining challenges

Currently only stubbed out.

[ ] DVSNI
[ ] Proof of Possession
[ ] DNS

how would you like to implement the DNS solver? With DNS Update?

Hey,
I'm truly sorry it took me so long to respond.
To this date the challenges are not really planned through implementation wise and I'm open for input on them.
For DNS I was leaning into the direction of just asking the user to provide the DNS records as we should make no assumptions of RFC2136 support on the provider which hosts DNS for the client.

Would really like to see DNS challenge implemented. Trying to integrate this into Kubernetes secrets & that seems like the best fit to me (albeit with the initial manual required DNS setup, but that's not a big problem).

I'd like to have all of them implemented in the next 1-2 weeks to conform with the spec on or right after the GA date of let's encrypt.

DNS challenge blocked by letsencrypt/boulder/issues/720

DNS should be unblocked now. letsencrypt/boulder#720 is closed and LE tweeted that DNS is available in production now: https://twitter.com/letsencrypt/status/689919523164721152

Beware https://github.com/letsencrypt/boulder/issues/1391

DNS-01 is now usable on the library level. However testing indicated that the providers do run into the issue mentioned by @dpiddy. I will add CLI support and a proper release when that issue is fixed on staging and full testing of the functionality was possible.

@xenolf what is the status of CLI support for dns-01? Looks like the upstream issue was closed, and a fix was merged.

@drpebcak Yes, the staging environment was updated on the 26th with the patch and we ran some tests yesterday. I hope I can get to it tomorrow :)

Awesome, thanks for a great library! :)

@xenolf awesome, thanks a lot!

Awesome <3 (should update readme ;D)

CLI support for DNS-01 is now available.

And please keep in mind that the DNS feature along with all providers and the CLI integration is new and I'm pretty sure there are some issues which need to be ironed out :)

Just tried the DNS solver with Route 53 and made it this far:
$ lego<EMAIL_ADDRESS>--domains="example.com" --dns="route53" --exclude="http-01" --exclude="tls-sni-01" run
2016/01/29 23:06:03 [INFO][example.com] acme: Obtaining bundled SAN certificate
2016/01/29 23:06:03 [INFO][example.com] acme: Could not find solver for: http-01
2016/01/29 23:06:03 [INFO][example.com] acme: Could not find solver for: tls-sni-01
2016/01/29 23:06:03 [INFO] acme: Trying to solve DNS-01
2016/01/29 23:06:04 [example.com] Could not obtain certificates
	Error presenting token Request failed, got status code: 400. Response: <?xml version="1.0"?>
<ErrorResponse xmlns="https://route53.amazonaws.com/doc/2013-04-01/"><Error><Type>Sender</Type>InvalidChangeBatch<Message>Invalid Resource Record: FATAL problem: InvalidTXTRDATA encountered at hcpTWGxkPEGUMxJMPsXtsPE0TSflliWqAKH1FJ8crvg</Message></Error><RequestId>REDACTED</RequestId></ErrorResponse>

I think the DNS TXT record needs to have literal double quotes around it as part of the value—that may be the issue.
Also, it should be added to the CLI help message that you also need to supply the environment variable AWS_REGION or you will get an error. It was also unclear that I needed to specifically exclude the other solvers to use the DNS solver, because it tries them each in order even if you pass CLI flags for the DNS solver.

It might also be useful to document which AWS calls are used for people that want to create an IAM policy for lego. Here is what worked for me:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1454129920000",
            "Effect": "Allow",
            "Action": [
                "route53:ChangeResourceRecordSets"
            ],
            "Resource": [
                "arn:aws:route53:::hostedzone/<INSERT_YOUR_HOSTED_ZONE_ID_HERE>"
            ]
        },
        {
            "Sid": "Stmt1454129944000",
            "Effect": "Allow",
            "Action": [
                "route53:ListHostedZones"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

@jimmycuadra could you try again using the commit 6e423e6c7ac3668725bc0aadf54ebfa24f8064a1 ?
If not, could you open a new issue to track this?
I also added the AWS_REGION env variable to the README.

Any estimation when POP is implemented? Am I right that this challenge will neither need an external accessible server nor DNS Updates?

@fenderle I believe that's correct. Honestly it's probably not a priority right now since no ACME CA supports it (yet). But I'm sure once DNS is working better it'd be nice to just "finish" this package and have PoP working even if it's not enabled for now.

Right, I did not invest any time into PoP yet as we can't use it anyways. We will support it when it's available though.

The PoP challenge has been removed from the ACME spec. Closing this issue.


Reduce long delay and blank webpage during login

The loading screen waits too long and doesn't provide any feedback when it fails.

@dan-chop-ris  I tried to find this loading screen. Do you know where the code is coming from?

@mashfiqui-rabbi - do you mean  the spinner that comes up after you click login?

Yes... is this the "ion-spinner"? Also, how does it time-out and show a blank page?

Yes.  It's the ion-spinner.  Which is in the auth.component in User module.
In auth.component.ts, in the Submit method, in the subscribe there's authObs.subscribe which subscribes to authService.login and in there, there's a subscribe to userProfileService.initializeObs, and in there, depending on the response there's a few different cases, all of which turn off the spinner.


Fonts are not loading for buttons

But are loading for header.
In Electron.

This should probably be updated. Right now, the fontFamily default is set to inherit.
In the meantime @ixv, you could:

use a <Span> element inside the button I believe. The buttons were meant to be somewhat unassuming, since some end up being flex containers, with icons or groupings of different text. But I think you are right, there should be better defaults here.

I'm just curious: are you using any sort of minimal reset or normalize in electron? Maybe that's kind of a silly question. I usually at least do some border-box, antialiasing, etc etc. like here.

Adding a Span did not work, but doing the reset from your link worked, thanks.


SAS Token Generation with TokenCredential

Is your feature request related to a problem? Please describe.
In building out the Azure Functions Plugin for the Serverless Framework, we'd like to simplify the process of authentication for deployment of Azure Functions. Users can log in via interactive login or by using a service principal, which is then used to create a TokenCredential. It seems like most operations are available with the blob storage SDK, but it seems like creating a SAS token requires a SharedKeyCredential.
Describe the solution you'd like
Is there any way to generate a blob SAS token with a TokenCredential? I'd like to use the SAS token to update the Azure Functions WEBSITE_RUN_FROM_PACKAGE setting to point to a newly deployed zip file.
Describe alternatives you've considered

Requiring users to supply account key. This would present a challenge as the storage account creation is part of the initial deployment process. We'd like to keep the initial experience of using the framework to be as easy and streamlined as possible.

Discovered a solution. For posterity, you can get keys via @azure/arm-storage in this way:
// this.credentials is from the AuthResponse received when authenticating via Service Principal
// or interactive login
const context = new StorageManagementClientContext(this.credentials, this.subscriptionId)
const storageAccounts = new StorageAccounts(context);
const keys = await storageAccounts.listKeys(this.resourceGroup, this.storageAccountName);
return keys.keys[0].value;


Add tests for python 3.9 and 3.12

Context
The StrEnum type was introduced in python 3.11, so it was failing with previous python versions in the github actions.
Scope
In this PR, StrEnum is replaced by inheriting not only from enum but also from str.
Testing
Tests with python 3.9 and 3.12 were added.
Review

[x] PR description is complete
[x] Coding style (imports, function length, New functions, classes or files) are good
[ ] Unit/Scientific test added
[ ] Updated Readme, in-code, developer documentation

Contrary to what was expected it seems that it is not due to the destructor.
I start to think that it's something specific to this system, namely the MPI4Py version.
@WeinaJi I see this is building Mpi4py from source. Do you think there's a way we can install a prebuilt one? It may save us from this problem

@ferdonline , it seems that we can use pip install mpi4py while rebuilding h5py. I tested with the docker image. Can you change that in the GH actions script?

I've push a change to use prebuilt mpi4py but the error is still there.

Looks good to me
@jorblancoa @WeinaJi How do you feel about the changes I did trying to simplify the destructor? We now know it wasn't the problem in this case. Shall we keep it anyway?

For me the changes seem reasonable!

I'm getting the impression that there are two threads in this PR, one for the CI improvements and another one around the destructor and we would probably do better to separate both. I think it became more apparent as we are still tuning the CI. If you don't have anything against I can separate them

Right, it will look better in the git history to merge them separately. The destructor part looks good to me. If you separate it in another PR I will approve it. As for tuning CI, I will add the caching in #166 . This PR could remain as tests for multiple python versions.

@matz-e @ferdonline , caching and multiple python versions are in place. Shall we merge it?


the ohif can't load(view) the image

I pull the lastest project, and when I started the project, I found the image can't be load, and the chromeDev has error， it reminds seems like domain-corss

Hi @zhongsiyuan, I am unable to reproduce. Can you detail your environment, and the steps one would take to reproduce this issue?

um, sry, I think it's my some config problem, and I forget them..


[OpenAPI.next] validate (not lint) versions/3.0.md with mdv

Checks for broken links and images with missing alt tags and fenced code-blocks with no defined language.
This change also updates the Node.js version used on Travis from 0.10.36 (which is now unsupported) to a LTS version (6.x)
Issues identified have been fixed.

I don't know how, but it looks like a bunch of things got messed up when you look at the rendered view.
For example:

https://github.com/MikeRalphson/OpenAPI-Specification/blob/11af30e39d1319d2d55828333cedcaec7f3f6dd4/versions/3.0.md#fixed-fields-13
https://github.com/MikeRalphson/OpenAPI-Specification/blob/11af30e39d1319d2d55828333cedcaec7f3f6dd4/versions/3.0.md#patterned-fields-4

Can the check to add ```text be configured and removed? It's not really needed and just adds noise.

@webron thanks for the heads-up. The raw diff looked ok. Will rework,

@webron commits reworked but table-formatting issues still remain.
My theory is that GitHub have recently changed their markdown renderer and the | hack in table cells no-longer works.
You can see the same problem in an unrelated PR by @willdady here.
The following markdown
Column A|Column B|Column C|Overflow
---|---|---|---
Cell A|Cell |B|Cell C

renders as:

Column A
Column B
Column C
Overflow

Cell A
Cell |B
Cell C

One option is to use another Unicode bar character:

Column A
Column B
Column C
Overflow

Cell A
Cell ¦B
Cell C

Thanks. I'll look into it.

@MikeRalphson - I should have merged the PRs in a different order, but alas... I'm trying to manually resolve issues for some PRs but would you mind resolving these yourself?

@MikeRalphson I see you're pushing changes, lmk when done.

@webron those four conflicts (between fixed links and fixed table formatting) are resolved.


[AREA]: Capture project expenses

Contact details
<EMAIL_ADDRESS>Organization type
Microsoft employee
End-to-end business process
Project to profit
Specify the business process area name for the article.
Capture project expenses
Enter any additional comments or information you want us to know about this business process area.
Draft in progress
Specify the date you expect the article to be completed and ready for review.
7/31/2023
Code of Conduct

[X] I agree to follow this project's Code of Conduct

This is moved to Hire to retire and Manage project delivery.


HAL notebook needs updating

The installation instructions in https://github.com/threeML/threeML/blob/master/docs/md_docs/slow_execute/hal_example.md still reference root - should be updated as hawc_hal doesn't require it anymore.
@xiaojieww Do you think you or someone else active on HAL development could take a look?

Sure, I can take a look later.


Kill switch now available

Hi team, time to update the note at the beginning of this documentation? The fencing agent now uses the new kill switch to quickly stop VMs.

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

ID: f1f5847a-561c-2cf8-3955-6e5cfef0f73e
Version Independent ID: 67841eb9-66ec-106f-f6f8-015a4dc6e0d3
Content: Setting up Pacemaker on Red Hat Enterprise Linux in Azure
Content Source: articles/virtual-machines/workloads/sap/high-availability-guide-rhel-pacemaker.md
Service: virtual-machines-windows
GitHub Login: @MSSedusch
Microsoft Alias: sedusch

@dohughes-msft
Thanks for reporting it! I have assigned the issue to the content author to investigate further and update the document as appropriate.

@dohughes-msft thanks for the feedback. PR has been submitted. Once it merges, the changes will go live after a few hours.


Add attribute to form on creation

Also needs to handle clobber. Assume whole entity deletion, but validate the assumption ;)


How do you set the message/labels in vue-pull-refresh?

How do you override the LABELS?
Also is it possible to change it to be set via a property instead
Like

Any thing not set uses defaults.
What do you think?

Good idea! I will update the component later today

Hi, I have updated the package to customize LABELS when pull down. You can update the package to use.

Thank you. Will check it out shortly.


pdm

Thanks for good article.
(1) What are typical attributes  or factors required for predictive maintenance?
(2)  I am unable to understand 'time_since_issue' and 'time_to_issue'. Kindly provide small example.
(3) After building model why are we running pdm in simulation mode?
(4) Concept behind "pdm_threshold_time=400 timesteps hence, which is the ML models' target variable"
Regards

I would also like to ask questions about the sensor derivative values. What is the basis of using such formula to calculate the damage done to the machine based on the sensor values? Is there any paper supporting such formula or is it simply an assumption? thank you


Voice Is Not Working

I'm trying to transmit video to discord with ffmpeg. It opens the file and I can see it reading(I tested it) but I can't hear anything on discord. The bot is in the voice channel and it is not muted.
private async Task TransmitAudio(Song.Song song)
       {
           // Create FFmpeg
           try
           {
               var ffmpeg = CreateStream(song);
               var output = ffmpeg.StandardOutput.BaseStream;
               var discord = audioClient.CreatePCMStream(AudioApplication.Mixed);
               await output.CopyToAsync(discord);
               await discord.FlushAsync();
           }
           catch (Exception e)
           {
               Console.WriteLine(e);
           }
       }

       private Process CreateStream(Song.Song song)
       {
           Console.WriteLine(song.filename);
           var ffmpeg = new ProcessStartInfo
           {
               FileName = "ffmpeg",
               Arguments = $"-i \"{song.filename}\" -ac 2 -f s16le -ar 48000 pipe:1",
               UseShellExecute = false,
               RedirectStandardOutput = true,
               CreateNoWindow = false
           };
           return Process.Start(ffmpeg);
       }

output:
22:34:00 Discord     Discord.Net v1.0.1 (API v6)
22:34:01 Gateway     Connecting
22:34:02 Gateway     Connected
22:34:03 Gateway     Ready
Channel botmessaging set as the bot channel.
22:34:09 Audio #1    Connecting
22:34:09 Audio #1    Unknown OpCode (8)
22:34:10 Audio #1    Connected
c:\users\boti\documents\visual studio 2017\Projects\LemonBOT\LemonBOT\bin\Debug\downloads\kXYiU_JCYtU.webm
ffmpeg version N-83657-g7e4f32f Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 6.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zlib
  libavutil      55. 47.100 / 55. 47.100
  libavcodec     57. 81.100 / 57. 81.100
  libavformat    57. 66.102 / 57. 66.102
  libavdevice    57.  2.100 / 57.  2.100
  libavfilter     6. 74.100 /  6. 74.100
  libswscale      4.  3.101 /  4.  3.101
  libswresample   2.  4.100 /  2.  4.100
  libpostproc    54.  2.100 / 54.  2.100
Input #0, matroska,webm, from 'c:\users\boti\documents\visual studio 2017\Projects\LemonBOT\LemonBOT\bin\Debug\downloads\kXYiU_JCYtU.webm':
  Metadata:
    encoder         : google
  Duration: 00:03:06.14, start: -0.007000, bitrate: 125 kb/s
    Stream #0:0(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
Output #0, s16le, to 'pipe:1':
  Metadata:
    encoder         : Lavf57.66.102
    Stream #0:0(eng): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s (default)
    Metadata:
      encoder         : Lavc57.81.100 pcm_s16le
Stream mapping:
  Stream #0:0 -> #0:0 (opus (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help

Is your client null? It's possible the code is throwing an exception.

Nope it isn't throwing an exception.

If your command is async it will be swallowed

Could someone send me a working example?

One is available in the docs, another is available in the example bots.

Yeh, I used that one, but it isn't working for me. Could it be because I used webm instead of mp3?

For using ffmpeg, you should read the documentation for it here.

The opcodes are outdated, please refer to https://discordapp.com/developers/docs/topics/voice-connections. No wonder it doesn't work out right.

The unimplemented opcodes do not have a bearing on this issue.

Code to play with: https://hastebin.com/usozohasib.cs. Direct PCM writing works, but ffmpeg pipe is somehow broken and gets stuck.

Make sure your client is not null (you can debug it).
Can you provide further output?

FlushAsync(CancellationToken) in BufferedWriteStream.cs is basically just busy waiting. WTF?

@BinkanSalaryman i don't get it. My audio is working fine.

Did someone solve it? I still don't have sound.

I used @BinkanSalaryman 's example:
Console.WriteLine("Phase 1");
                using (var stream = audioClient.CreatePCMStream(AudioApplication.Music))
                {
                    Console.WriteLine("Phase 2");
                    bool pcmDataFromFile = true;
                    if (pcmDataFromFile)
                    {
                        await LoadAndConvertPCM(stream, "asd.mp3"); // custom sound from file
                        Console.WriteLine("Phase 3A");
                    }
                    else
                    {
                        GeneratePCM(stream, 440, 3, 1); // 3 seconds of A440 (pitch standard), 100% volume
                        Console.WriteLine("Phase 3B");
                    }

                    Console.WriteLine("PRE-FLUSH");
                    await stream.FlushAsync(); // when using ffmpeg, program flow gets stuck at this line
                    Console.WriteLine("POST-FLUSH");

And it only reaches Phase 2 and then nothing happens. No errors or anything.

@botiapa I completely removed every Flush call to avoid the hanging problem. You can take my project Discord Audio Stream Bot as a working example if you want. I pull audio from a chosen recording device using BASS.net instead of generating direct pcm or taking ffmpeg to convert a whole file at once. (I advice to use BASS.net instead of ffmpeg, streaming blockwise with JIT decoding is much faster - The bigger the file to load from is, the longer it takes ffmpeg to convert.)

I'm having this same exact issue. What's stranger is that it worked once, and then never again.
03:56:45 Gateway     Connecting
03:56:45 Gateway     Connected
03:56:46 Gateway     Ready
03:56:49 Audio #1    Connecting
03:56:49 Audio #1    Unknown OpCode (Hello)
03:56:49 Audio #1    Connected
Guessed Channel Layout for  Input Stream #0.0 : stereo
Input #0, wav, from 'sfx/luna.wav':
  Metadata:
    encoder         : Lavf54.20.4 (libsndfile-1.0.24)
  Duration: 00:00:05.44, bitrate: 1411 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 channels,                                                                                s16, 1411 kb/s
Output #0, s16le, to 'pipe:1':
  Metadata:
    encoder         : Lavf56.40.101
    Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
    Metadata:
      encoder         : Lavc56.60.100 pcm_s16le
Stream mapping:
  Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help

And now it's working again after 0 changes, bloody hell.


Allow starting junior-web without having prompt interaction files

Project Description
Hey, Contributor!
Please help us select the best next communication platform for the project!
Vote here: https://github.com/tisztamo/Junior/issues/78
Interpret issues freely. Need help or have ideas? Comment right here.
Note: We eat our own dog food. We use Junior to work on Junior. Please, do not turn off the audit feature!
Keep it friendly, that's our vibe.
Happy contributing!

Also see #70


initial working version

This creates a @vscode/test-cli NPM module that exposes a vscode-test
command line.
This reads a configuration file, described in the readme, and runs all
tests defined therein by default. Multiple configurations can be defined,
in which case they are all run sequentially.
See previous discussion on https://github.com/microsoft/vscode-test/pull/235
This is largely the same as the version in that PR, with the addition
of a reporter and addressed comments.

Cool!
On the naming, I'd suggest to bring mocha into it. If I understand this right, it's a mocha wrapper around our extension test runner. Maybe @vscode/test-electron-mocha ? I know you want to merge the web runner in there, but I don't know how far you got with that.
Someone else might create a wrapper from a different test runner


Broken download link for eton-sample

The download link https://downloads.hydraulic.dev/eton-sample/download.html to the sample app in the README.md of the https://github.com/hydraulic-software/eton-desktop repo is broken. (The requested URL was not found on this server.)

Whoops, thank you! It's fixed now. We should update the link checker to cover the sample app READMEs as well.
The fixed URL is: https://hydraulic-software.github.io/eton-desktop/download.html


Close #34

This PR uses __getattribute__ to intercept user attempts to access attributes that are stored as lists, forcing them to overwrite the attribute rather than update it in place. In-place updates aren't caught by __setattr__, and thus changes made in-place weren't being synced back to Todoist on .update().
I also added myself as a contributor in credits.rst, because I saw the contributing guide suggested that.
As for quality checks, the test suite still passes and didn't require any changes. I also tested this change interactively.

Thank you!


how dispatch job on different executor

Hi guys:
I am new on Azkaban. Recently, I builded Azkaban 3.x . I tried to run the command type on Multiple Executor Mode. But I find that
the dispatch level is flow , not the job's level .So I want to know if the Azkaban 3.x can dispatch on the job's level.
e,g: My project has one flow ,and this flow has some jobs.

No, it's not supported. Job-level execution is entirely managed by a single executor instance.
As a work-around you could split your jobs into multiple flows (grouped by executor id to use) and use the rather new conditional triggering feature to start each flow when its flow dependencies have finished.

thx

pls close the issue


Deprecated method in docs

In the "Get info about locations" section the deprecated GetLocationFromOffset method is advised to use. There should be the TryGetLocationFromOffset method listed.

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

ID: a2556060-087b-0509-0639-5ad36ce5a85e
Version Independent ID: 47c9b210-bb48-c5f3-3cf5-08ff1a75662a
Content: Display maps with 2D, 3D, and Streetside views - UWP app developer
Content Source: windows-apps-src/maps-and-location/display-maps.md
Product: uwp
GitHub Login: @hickeys
Microsoft Alias: hickeys

Thanks for the feedback. I've made this change in the docs, it should be published shortly. I'll keep this issue open until the change is visible.

This change is now reflected in the page. I'm closing this issue.


Invalid get index '1' (on base: 'PackedStringArray').

Hey o/
i tried using gift to get a twitch connection ... but at start  i get this error:
Invalid get index '1' (on base: 'PackedStringArray') at line 204 of gift_node.gd

I added a print("Server Response:", response) at line 203 and got this:
Server Response:

Do you have the same issue when using the example chat project? Can you give me the actual byte array of the response? There seems to be data present, it just doesn't seem to be the expected string.


History in interactive CLI does not work.

Ctrl+Left, Ctrl+Right (move cursor through words) neither.

Hi @alexey-milovidov ,
to go forward or backward with history just user cursor down/up or  cntl+d/p; generally speaking what is working on bash is working on omnisql, except for moving between words that's not working


Text as prompts

Thanks for leasing this wonderful work!
I saw the demo shows examples of using point, box as input prompt. Does the demo support text as prompt?

Following! Text prompting has been mentioned in the research paper but hasn't been released yet. Really looking forward to this feature because I need it for a specific use case.

Exactly, wait for it to be released

Thank you for your exciting work!
I also want to use text as prompt to generate mask in my project. Now i am using ClipSeg to generate the mask, but it can not performance well in fine grained semantics.
When do you plan to open source the code of text as prompt? What is the approximate time line? Waiting for this amazing work.

following

following

The paper mentioned they used CLIP to handle text prompts:

We represent points and boxes by positional encodings [95] summed with learned embeddings for each prompt type and free-form text with an off-the-shelf text encoder from CLIP [82].

It appears the demo does not seem to allow textual inputs though.

@peiwang062 @stefanjaspers @HaoZhang990127 @eware-godaddy @jy00161yang
https://github.com/IDEA-Research/Grounded-Segment-Anything
Does what we are all looking after.

@peiwang062 @stefanjaspers @HaoZhang990127 @eware-godaddy @jy00161yang https://github.com/IDEA-Research/Grounded-Segment-Anything does what we are all looking after.

yes, we could simply combine these two, but if SAM can do it better, why do we need two models. We don’t know if Grounding Dino is the bottleneck if we just use its output to SAM.

@peiwang062 @stefanjaspers @HaoZhang990127 @eware-godaddy @jy00161yang https://github.com/IDEA-Research/Grounded-Segment-Anything does what we are all looking after.

why not use output of SAM as bounding box?

@peiwang062 @stefanjaspers @HaoZhang990127 @eware-godaddy @jy00161yang https://github.com/IDEA-Research/Grounded-Segment-Anything does what we are all looking after.

why not use output of SAM as bounding box?

The current version of SAM without of the CLIP text encoder only gives instances from image points or bounding boxes as prompts. Thus SAM's output is only instances without semantic information about the segmentation. With a text encoder you can correlate SAM's output with text such as an object of interest in an image. If you have a promptable text based object detector you can bridge this link for the time being thus SAM's output not generic instance segmentation anymore which is what Grounded Segment Anything is helping to do.

Put together a demo of grounded-segment-anything with radio for better testing.
I tested using clip, open-clip, and groundingdino. Groudingdino performs much better with a great performance. Less than 1 sec on a A100 for DINO+SAM. Maybe ill add the clip versions as well.
https://github.com/luca-medeiros/lang-segment-anything

@peiwang062 @stefanjaspers @HaoZhang990127 @eware-godaddy @jy00161yang https://github.com/IDEA-Research/Grounded-Segment-Anything does what we are all looking after.

why not use output of SAM as bounding box?

The current version of SAM without of the CLIP text encoder only gives instances from image points or bounding boxes as prompts. Thus SAM's output is only instances without semantic information about the segmentation. With a text encoder you can correlate SAM's output with text such as an object of interest in an image. If you have a promptable text based object detector you can bridge this link for the time being thus SAM's output not generic instance segmentation anymore which is what Grounded Segment Anything is helping to do.

If SAM just segments in the bounding box, I think many methods can be used for this also. Like BoxInstSeg https://github.com/LiWentomng/BoxInstSeg

@peiwang062 @stefanjaspers @HaoZhang990127 @eware-godaddy @jy00161yang https://github.com/IDEA-Research/Grounded-Segment-Anything does what we are all looking after.

why not use output of SAM as bounding box?

The current version of SAM without of the CLIP text encoder only gives instances from image points or bounding boxes as prompts. Thus SAM's output is only instances without semantic information about the segmentation. With a text encoder you can correlate SAM's output with text such as an object of interest in an image. If you have a promptable text based object detector you can bridge this link for the time being thus SAM's output not generic instance segmentation anymore which is what Grounded Segment Anything is helping to do.

If SAM just segment in the bounding box, I think many methods can be used for this also. Like BoxInstSeg https://github.com/LiWentomng/BoxInstSeg

It should be able to support boxes, points, masks and text as prompts as the paper mentions, no?

following

following

Following

following

Our work can achieve text to mask with SAM:
https://github.com/xmed-lab/CLIP_Surgery
This is our work about CLIP's explainability. It's able to guide SAM to achieve text to mask without manual points.
Besides, it's very simple without any fine-tuning, using the CLIP model itself only.
Furthermore, it enhances many open-vocabulary tasks, like segmentation, multi-label classification, multimodal visualization.
This is the jupyter demo:
https://github.com/xmed-lab/CLIP_Surgery/blob/master/demo.ipynb

following

can try the result using this explorer extension:
[https://chrome.google.com/webstore/detail/text-prompts-for-segment/jndfmkiclniflknfifngodjnmlibhjdo/related

can try the result using this explorer extension:

can try the result using this explorer extension
https://chrome.google.com/webstore/detail/text-prompts-for-segment/jndfmkiclniflknfifngodjnmlibhjdo/related

following

following

following

+1

following

following

following

waiting for it

following

following


Encrypting data in S3 using secor

I'm trying to configure secor to use AES256 encryption in the target S3 bucket. Does anyone have past experience in getting this working?

Hey Fergus,
I needed this too. I've just submitted a pull request with the changes needed to make it work. You can get them at: https://github.com/pinterest/secor/pull/156
cheers,
Keith


let middleware.responseRecorder be a http.Hijacker

fix issue #133
Signed-off-by: Tw<EMAIL_ADDRESS>

Thanks for taking initiative on this! Before merging this in, I just want to test it with that situation in #133, to make sure that log behaves as would be expected.
Also, this reminds me, we need tests for recorder.go.

:+1: Worked wonders.

Aye, that seems to do the trick. Thanks @tw4452852!


translations findById

Hello,
First of all thanks for the work on this library, highly appreciated :)
Second, I would like to be able to find translations by their ids. Currently it is only possible to search by translations.
https://github.com/php-gettext/Gettext/blob/master/src/Translations.php#L169
May I propose a PR to implement the changes? It should be fairly easy to implement.
Cheers,

Hi. In most cases the id is generated with the context + original text (See here: https://github.com/php-gettext/Gettext/blob/master/src/Translation.php#L34)
But it's possible to use different ids so your proposal is fine. Feel free to create a PR. Thanks!

Thank you for your answer. We don't use context and the id holds the original source language in our case.
I will be submitting a PR in the next days.


Please add LUT effects

The feature is perhaps best described by an existing ticket in three:

https://github.com/mrdoob/three.js/issues/19457

There's a basic external implementiation but it is perhaps not up to standards of this library :) For one, it doesn't use 3D textures which should at the very least result in less code (and be faster too, maybe?). That said, it does have a working loader for .cube files, so it's a great start.
Basically, LUTs provide a generalized way to perform any color operation or a combination of operations at the same time. They are extremely convenient when trying to create a specific look of a scene or the whole game.

I agree, a LUT-based color transformation effect would be nice!
The reference implementation will come in handy, thanks for that. @gkjohnson Would it be ok if I used your LUT-implementation as a basis for a new ColorTransformationEffect?
I'd like to make this a WebGL 2 effect to avoid emulating 3D textures. The initial implementation will use linear color interpolation, tetrahedral interpolation will come later for reduced artifacts/banding: https://i.imgur.com/4SVNP.png

I'd like to make this a WebGL 2 effect to avoid emulating 3D textures.

If you're just going to use 3d textures then my implementation may not be all that useful because it was implemented with the intent to support WebGL1 -- a 3d texture LUT fragment shader should just be a couple lines. You're free to use it if it is helpful, though!
I'm planning to add that LUT implementation into three.js examples with a 3d texture sampling but it makes sense to have a version here, as well. I was going to conditionally support WebGL1 via 2d textures by testing the glsl version (or #define) and using different uniforms if you're interested in supporting webgl 1, too:
#if __VERSION__ >= 300

    // 3d texture sample

#else

    // manual interpolation

#endif

I'll also add the 3DL and CUBE LUT loaders that output 3d textures into three.js so those should be useable by your implementation. I may be able to put some time into incorporating all that in the next couple weeks.

The initial implementation will use linear color interpolation, tetrahedral interpolation will come later for reduced artifacts/banding: https://i.imgur.com/4SVNP.png

Regarding tetrahedral interpolation this was the most clear description of how it works that I'd come across when I was looking into this -- unfortunately I couldn't find any reference implementations but that paper has a pretty nice description. In practice though I'm not sure how common using tetrahedral interpolation is for this, though? A larger LUT would be faster and probably "good enough" at removing noticeable artifacts if they're there -- a tetrahedral implementation would require more calculations and 4 texture samples vs just the 1 for the built in linear interpolation. If you have any other references related to this I'd be interested in checking them out.

A larger LUT would be faster

But transferring that larger lut over the network can be a problem. For example, 33 point cube file is ≈0.7 MB (≈0.3 MB gzipped), but 65 point cube file is ≈5.8 MB (≈2.2 MB gzipped). It seems to me that some kind of interpolation has to happen, but not necessarily at every frame considering that LUTs are mostly static.

You're free to use it if it is helpful, though!

@gkjohnson Cool, thanks! I haven't really delved into the matter yet, so it's still possible that I'll add WebGL 1 support. It just feels wrong to keep supporting and promoting legacy tech. Heck, even WebGL 2 feels outdated at this point with WebGPU on the horizon.
@AlexDaniel right, there are a lot of people who have to deal with low bandwidth, myself included, not to mention mobile users. Tetrahedral interpolation would add a nice option to trade performance for fidelity.

If you have any other references related to this I'd be interested in checking them out.

@gkjohnson I've only found this shader implementation so far. Haven't taken a closer look at it yet, though.

It seems to me that some kind of interpolation has to happen, but not necessarily at every frame considering that LUTs are mostly static.

@AlexDaniel Good point. However, I think the shader would need to interpolate the LUT anyway, so the question is whether a LUT augmentation on the CPU would be worth it compared to just doing tetrahedral interpolation in the shader. OpenColorIO also has a CPU implementation.

However, I think the shader would need to interpolate the LUT anyway, so the question is whether a LUT augmentation on the CPU would be worth it compared to just doing tetrahedral interpolation in the shader.

Well, the two are not necessarily mutually exclusive, maybe both shaders can be useful (and be used at the same time, actually). That is, maybe tetrahedral shader can be used to create a much larger 3D texture, and then the fast shader can be used at every frame. But maybe that's making things a bit more complicated. Anyway, please judge yourself.

After reading these notes, it looks like LUTs are not the best way of doing color grading. Unreal is phasing this feature out in favor of individual color grading properties for things like white balance, shadows, midtones and highlights.
I think it might be better to implement a proper tonemapper and add more color grading options similar to what Unreal is describing here. I wanted to move auto-exposure and tonemapping into separate effects anyway.

After reading these notes, it looks like LUTs are not the best way of doing color grading. Unreal is phasing this feature out in favor of individual color grading properties for things like white balance, shadows, midtones and highlights.

Actually, LUTs end up being the only way to do color grading. Of course, it is always possible to create some very primitive adjusting sliders and call that color grading tools, but most colorists will find that to be insufficient if not outright useless.
I don't know much about the internals of unreal, but I wouldn't be surprised if they are generating a single LUT based on the user input in their color grading tools, and then just using that in the shader. If they're not doing that yet, then eventually they will once they make their tools more sophisticated (with things like custom rgb, hue, saturation and other curves, color selectors, etc.). Basically, because they provide their own GUI, they can afford to reinvent color grading software so that they can bypass the LUT format, which allows them to handle HDR a bit better. That seems to be the point being made, but it is a different realm which doesn't exactly apply to three.js. Maybe in case of babylon.js the approach would've been different.
In other words, LUT implementation is still needed. Whether the LUT will be created automatically (taking into account the availability of HDR and other things) or externally by the user is a different question. I guess for now the best idea is to focus on artistic freedom and to just support LUTs. This probably means that those who want to generate HDR-capable content will need to create at least 2 different LUTs, which isn't a bad idea given that HDR to SDR conversion is not a well-defined process and may involve some creative decisions too. But yes, it is kinda unfortunate that people would need to put extra work to get HDR results.

Bandwidth consideration are a good point and "upscaling" a smaller LUT using tetrahedral interpolation seems like a reasonable solution. Regarding performing this on the GPU as far as I'm aware you can't render directly into a 3d texture in WebGL -- in the future compute shaders may be a good candidate for this. This PR (https://github.com/mrdoob/three.js/pull/20111) adds support for rendering into layers of a 3d texture but it's not yet supported by three.js. Performing the upscaling in javascript might not be so bad performance wise but I'd have to try it. Sounds like something that can come later though.

I haven't really delved into the matter yet, so it's still possible that I'll add WebGL 1 support. It just feels wrong to keep supporting and promoting legacy tech. Heck, even WebGL 2 feels outdated at this point with WebGPU on the horizon.

I definitely feel this. Unfortunately Safari has been dragging its feet in terms of adding WebGL2 support so dropping WebGL1 means dropping support for all Apple devices until it's there. They've apparently committed to adding it now but it's unclear what the timeline is. Hopefully WebGPU isn't so slow to be adopted fully but who knows.

I think it might be better to implement a proper tonemapper and add more color grading options similar to what Unreal is describing here.

Interesting -- it sounds like it's motivated primarily to support HDR monitors, though, which I don't know if is something the web even really is talking about supporting. Either way it seems they're still a useful tool particularly for LDR content for controlling a feeling of the final image that can be produced by a variety of existing software.

Not exactly. From what I understand, Safari allows you to enable WebGL 2 in experimental settings.

It does now but I believe that flag has been around for years and Firefox and Chrome have had full support since early 2017 -- Safari has been extremely slow to add WebGL2 and while they've apparently committed a bit more firmly now and I'd like to believe they will have a support in a few months I'm not really betting on that. A nag screen may be good enough for your app but when building something for general use the uncertainty about WebGL2 support is something to consider.

Thanks for the feedback.
I see what you mean; LUTs are indeed better in terms of practicality - especially since we don't have a visual game editor where we could easily tweak individual color grading settings. However, I think it makes sense to also add more atomic color grading effects that operate on linear colors because those are more portable from a technical perspective.
From what I've gathered, LUTs operate in the sRGB color space and need to be applied at the very end of the rendering pipeline. Furthermore, LUT color grading cannot be implemented as an Effect because effects run before the color encoding step. LUT support should instead be implemented as a feature of the EffectMaterial; If a LUT is provided, it will be applied after the color encoding step. And the EffectComposer should probably complain if a LUT is used by an EffectPass that doesn't render to screen.
That's the plan so far, did I get anything wrong?

From what I've gathered, LUTs operate in the sRGB color space and need to be applied at the very end of the rendering pipeline.

That doesn't sound quite right. Textures and other things are also often in sRGB, and it just means they need to get converted (.encoding = sRGBEncoding) but otherwise everything can still work with linear colors.
So, my expectation is that I'd be able to apply a LUT at any point in the EffectComposer, and even multiple times (with different LUTs) if so is required. I agree that this means that a regular sRGB LUT then needs to be converted to linear colors. For values of the LUT, .encoding = sRGBEncoding should be enough, I think. For the lookup itself a bit of extra glsl is required to pick the right values in the LUT given a linear color. Another option is to convert it ahead of time. Does it make sense, or is there any reason why an sRGB LUT can't be converted to linear colors or used with linear colors in realtime?
Please keep in mind that this whole GLSL business is a new territory for me so I'm kinda talking out of my ass :)

is there any reason why an sRGB LUT can't be converted to linear colors or used with linear colors in realtime?

Afaik, LUTs map a finite range of LDR sRGB input colors to LDR sRGB output colors. Linear color values don't have a limited range which makes them incompatible with LUTs. The Unreal docs explain that a LUT must be applied after tonemapping which reduces colors to [0.0, 1.0]. Since the sRGB conversion is the last step in the pipeline, I think it would make sense to apply the LUT afterwards.
I don't know if converting a LUT into linear space would work out. Applying a converted LUT transformation to linear colors and then converting the result into sRGB might produce incorrect results.
I believe the point of a LUT is efficiency, so using multiple LUTs seems a bit counterintuitive.

I think I'm just confused about HDR/LDR and tonemapping in general. Will need to study this more.

@vanruesc I also don't understand it fully, if at all. Here's what I understand. If we take ACES tone mapping for example, then in color grading terms it's just an S-curve. Essentially, that's a LUT too. Almost any grade of any video source includes an S-curve at some point, otherwise the video will look too “flat” (unless the camera itself overdoes it for you, which doesn't really happen with prosumer and up hardware).
Now, in gamedev world, the output from 0 to 16 (or whatever it is that corresponds to the max outputable value) is scaled down into 0 to 1 range, which makes things look flat, so an S-curve is slapped on top of that, which makes things look alright or “filmic”. Boom, ACES.
However, unless I'm using some kind of adaptive tonemapping, is there even any reason to have an ACES curve step if I can include an S-curve as part of my grade? That is, why not include an S-curve in the LUT itself.
Or, in other words, why can't tonemapping itself be an Effect? Yes, in most cases you'd want to place it last, but hey, who knows.
So, yeah, I don't understand it. Please let me know where exactly I got confused.

I believe the point of a LUT is efficiency, so using multiple LUTs seems a bit counterintuitive.

While it's true that you can merge multiple consecutive LUTs into one, that doesn't really work if you want to have any temporal or spatial effects in between your LUTs (let's say before bloom and after bloom tweaks). Moreover, having a single base grade for the whole project and additional ones for specific scenes can be very useful too. So, you're right, but being able to use one LUT only can be very limiting.

From unity docs:

Tonemapping Mode:
• Neutral: Use this option if you only want range-remapping with minimal impact on color hue & saturation. It is generally a great starting point for extensive color grading.
• ACES: Use this option to apply a close approximation of the reference ACES tonemapper for a more filmic look. It is more contrasted than Neutral and has an effect on actual color hue & saturation. Note that if you use this tonemapper all the grading operations will be done in the ACES color spaces for optimal precision and results.

So, I'm not wrong. One can use range remapping + LUTs for “extensive color grading”. That sounds about right.

@vanruesc I've added PR into three.js that adds LUT support for postprocessing here:
https://github.com/mrdoob/three.js/pull/20558
It supports both 3d texture and 2d texture luts pretty seemlessly. And I've updated the 2d texture LUT sampling so that it exactly matches the 3d texture linear interpolation sampling. Feel free to grab what you want from it!
Regarding HDR support -- Unity's docs might be worth looking at:
<EMAIL_ADDRESS>In order to support color grading HDR renders they require a custom log-encoded LUT but I'm not how easy those are to produce. It seems the common case is to just apply the LU on the LDR, post-tonemapped result.

Got it, thank you!

In order to support color grading HDR renders they require a custom log-encoded LUT but I'm not sure how easy those are to produce. It seems the common case is to just apply the LUT on the LDR, post-tonemapped result.

In the page you linked, they talk about their color grading effect which creates the LUT internally. They also provide “Lookup Texture” which is applied “before the rest of the color grading operators”.

It seems the common case is to just apply the LUT on the LDR, post-tonemapped result

Doesn't seem to be so simple to me, especially given that the tonemapping itself that they do appears to be part of the generated LUT.

Sorry for the delay; I haven't been able to work on this yet. Hopefully this weekend I'll find some time.

Made some progress, but it's not done yet. I'll give another update later this week.

I've been too busy last week to finish this, but it shouldn't take much longer. I'll try to get it done before the end of the month.

Sorry for the repeated delays - work takes priority at the moment.
The dev branch now contains the loaders which return a LookupTexture3D instead of a normal 3D data texture. This allows to convert the texture into a 2D strip LUT. Converting from sRGB to linear is also supported, but I still need to test everything thoroughly.
I ended up naming the effect ColorGradingEffect because it will eventually support baking arbitrary color grading operators into a single composite LUT. This would also replace other existing color grading effects in the library.
Tonemapping could be included in the LUT but I think this would complicate things too much right now as it requires a special input domain other than [0, 1] and probably some form of encoding. So for now, I think it's best to treat tonemapping separately.

Added LUTEffect and related classes in<EMAIL_ADDRESS>I changed the name of the effect again because it would make more sense to apply color grading operations directly to the LUTs if those are ever added.
Some closing notes
This turned out to be a can of worms in regards to color space conversions and LUT formats and took a lot longer than anticipated. There's always a chance that some bugs made it into the first release so let me know if you run into any issues.
The final implementation relies on LookupTexture3D to perform various LUT transformations (sRGB<->linear, Uin8<->float, 3D<->2D). It also supports converting plain image LUTs into 3D textures since those are more commonly found in the wild.
I modified the parsing methods of the loaders to use regular expressions for the iteration which made things a little bit faster:

LUT3dlLoader
LUTCubeLoader

original
21-31ms
20-27ms

new
15-23ms
14-19ms

I also moved the tetrahedral upscaler into a web worker and removed all references to three to avoid including the library in the worker. For that, I converted the object-based vector math into atomic operations which resulted in a major speedup:

TetrahedralUpscaler (64)
TetrahedralUpscaler (128)

original
295-300ms
2243-2272ms

new
115-134ms
817-886ms

@gkjohnson All of this would've taken a whole lot longer if it weren't for your reference implementation, so thank you! If you'd like to use any of my modifications feel free to do so. No attribution needed.

Added LUTEffect and related classes in<EMAIL_ADDRESS>I changed the name of the effect again because it would make more sense to apply color grading operations directly to the LUTs if those are ever added.
Some closing notes
This turned out to be a can of worms in regards to color space conversions and LUT formats and took a lot longer than anticipated. There's always a chance that some bugs made it into the first release so let me know if you run into any issues.
The final implementation relies on LookupTexture3D to perform various LUT transformations (sRGB<->linear, Uin8<->float, 3D<->2D). It also supports converting plain image LUTs into 3D textures since those are more commonly found in the wild.
I modified the parsing methods of the loaders to use regular expressions for the iteration which made things a little bit faster:

LUT3dlLoader
LUTCubeLoader

original
21-31ms
20-27ms

new
15-23ms
14-19ms

I also moved the tetrahedral upscaler into a web worker and removed all references to three to avoid including the library in the worker. For that, I converted the object-based vector math into atomic operations which resulted in a major speedup:

TetrahedralUpscaler (64)
TetrahedralUpscaler (128)

original
295-300ms
2243-2272ms

new
115-134ms
817-886ms

@gkjohnson All of this would've taken a whole lot longer if it weren't for your reference implementation, so thank you! If you'd like to use any of my modifications feel free to do so. No attribution needed.

@vanruesc this is fantastic! Thank you so much! My project got stalled a little bit due to some unexpected things, but I'm slowly getting back to it now. Will provide some feedback as soon as I have it!

@vanruesc this is fantastic! Thank you so much! My project got stalled a little bit due to some unexpected things, but I'm slowly getting back to it now. Will provide some feedback as soon as I have it!

As a quick feedback, the scale up option in the demo (https://vanruesc.github.io/postprocessing/public/demo/#color-grading) seems to be a bit off?  Let's see:
For example, let's choose “neutral” lut (I'm assuming it's a bypass lut that shouldn't affect colors at all, is that right?).

If “scale up” is not selected, then changing the opacity from 0 to 1 changes the resulting image. That is, the bypass lut is not bypassing the colors correctly. Yes, the difference is not huge, but there is a difference that shouldn't be there. Moreover, the image overall seems to become darker, so maybe the inaccuracy goes one way only.
If we now choose scale up with the highest available size (128), then the colors change once again. OK, in case of extreme luts that can indeed happen, but we're not using an extreme lut in this case, the colors should be 100% the same. When looking more closely, I can see some color banding:

Compared with opacity 0:

On the other hand, smaller luts (target size 32) seem to have no banding. Hmm?

So, I don't know where exactly it goes wrong, but it seems like there are some tiny issues somewhere.

As a quick feedback, the scale up option in the demo (https://vanruesc.github.io/postprocessing/public/demo/#color-grading) seems to be a bit off?  Let's see:
For example, let's choose “neutral” lut (I'm assuming it's a bypass lut that shouldn't affect colors at all, is that right?).

If “scale up” is not selected, then changing the opacity from 0 to 1 changes the resulting image. That is, the bypass lut is not bypassing the colors correctly. Yes, the difference is not huge, but there is a difference that shouldn't be there. Moreover, the image overall seems to become darker, so maybe the inaccuracy goes one way only.
If we now choose scale up with the highest available size (128), then the colors change once again. OK, in case of extreme luts that can indeed happen, but we're not using an extreme lut in this case, the colors should be 100% the same. When looking more closely, I can see some color banding:

Compared with opacity 0:

On the other hand, smaller luts (target size 32) seem to have no banding. Hmm?

So, I don't know where exactly it goes wrong, but it seems like there are some tiny issues somewhere.

@AlexDaniel I've seen these artifacts too during development but I think it's simply a shortcoming of LUTs and interpolation in general. I have double checked the TetrahedralUpscaler as well as the LUT shader and found no bugs there. I have also downloaded @gkjohnson's original implementation and plugged in a screenshot of the Sponza demo scene to cross-check for differences but it produced the same results. If you focus on the darker areas in the original demo, you can see that the neutral LUTs also makes the image darker.
I've read somewhere that LUTs heavily depend on the input colors  and that results will be bad if the source image is not properly color corrected. I'm no expert in this field but it seems that the Sponza demo is simply too dark and thus suffers mild color degradation when put through the LUT filter.
I'm taking a wild guess here but the increase in banding artifacts when scaling up the LUT might be linked to a higher error rate of smaller linear interpolations performed in the shader. Recall this comparison: https://i.imgur.com/4SVNP.png There's a good chance that tetrahedral interpolation could solve the banding issue if performed inside the shader. But it would obviously require more GPU cycles.

On the other hand, smaller luts (target size 32) seem to have no banding. Hmm?

The base size of the cinematic 3dl/cube LUTs and the neutral LUT is 32 so the upscaling doesn't change them if the target size is 32.

@AlexDaniel I've seen these artifacts too during development but I think it's simply a shortcoming of LUTs and interpolation in general. I have double checked the TetrahedralUpscaler as well as the LUT shader and found no bugs there. I have also downloaded @gkjohnson's original implementation and plugged in a screenshot of the Sponza demo scene to cross-check for differences but it produced the same results. If you focus on the darker areas in the original demo, you can see that the neutral LUTs also makes the image darker.
I've read somewhere that LUTs heavily depend on the input colors  and that results will be bad if the source image is not properly color corrected. I'm no expert in this field but it seems that the Sponza demo is simply too dark and thus suffers mild color degradation when put through the LUT filter.
I'm taking a wild guess here but the increase in banding artifacts when scaling up the LUT might be linked to a higher error rate of smaller linear interpolations performed in the shader. Recall this comparison: https://i.imgur.com/4SVNP.png There's a good chance that tetrahedral interpolation could solve the banding issue if performed inside the shader. But it would obviously require more GPU cycles.

On the other hand, smaller luts (target size 32) seem to have no banding. Hmm?

The base size of the cinematic 3dl/cube LUTs and the neutral LUT is 32 so the upscaling doesn't change them if the target size is 32.

I've read somewhere that LUTs heavily depend on the input colors and that results will be bad if the source image is not properly color corrected.

This isn't a technical limitation. LUTs create a certain look&feel for the image you're seeing, and that of course works better if the input is normalized (a simple example: push darker colors into teal to create a sort of filmic look – if your image is too dark then the whole image will be teal, and that's not what you wanted). So usually one would do color correction first and color grading later. The difference is in the semantics and human expectations, both steps are done with LUTs.

I think it's simply a shortcoming of LUTs and interpolation in general

Download the free version of Davinci Resolve, add any source image, go to color grading and load the neutral cube lut. Apply it to the image. I can pretty much bet that there will be no change in color whatsoever. They do it with shaders, too.

I've read somewhere that LUTs heavily depend on the input colors and that results will be bad if the source image is not properly color corrected.

This isn't a technical limitation. LUTs create a certain look&feel for the image you're seeing, and that of course works better if the input is normalized (a simple example: push darker colors into teal to create a sort of filmic look – if your image is too dark then the whole image will be teal, and that's not what you wanted). So usually one would do color correction first and color grading later. The difference is in the semantics and human expectations, both steps are done with LUTs.

I think it's simply a shortcoming of LUTs and interpolation in general

Download the free version of Davinci Resolve, add any source image, go to color grading and load the neutral cube lut. Apply it to the image. I can pretty much bet that there will be no change in color whatsoever. They do it with shaders, too.

If “scale up” is not selected, then changing the opacity from 0 to 1 changes the resulting image. That is, the bypass lut is not bypassing the colors correctly. Yes, the difference is not huge, but there is a difference that shouldn't be there. Moreover, the image overall seems to become darker, so maybe the inaccuracy goes one way only.

If "scale up" is not selected then basic linear interpolation is used for sampling so you'll have to expect some color differences. If you want better color accuracy you'll have to upscale the LUT. I think there are still improvements to be made, though.
@vanruesc
I did find one issue in my TetrahedralUpscaler class which was causing some banding on upscale -- specifically the UVW values were not being adjusted to be relative to the sub 2x2x2 pixel cube that you're actually sampling from. The commit that fixes it is here. For testing I adjusted my demo to use a FloatType format for the render target to ensure no color banding would occur due to gamma correction and it looks much better with the fix. Upscaling the neutral 2³ LUT in my example to 256³ looks just about identical (if not identical) to the original image though there are more noticeable differences when upscaling 32³ to 256³.
It occurs to me that there may be other issues with sampling in the shader and in the upscale that could be addressed but I want to think about them more -- perhaps you'll have some thoughts. Right now the 3d texture LUT is set to edge clamp for sampling and the color is used directly as the UVW coordinate for sampling which means that every color below half a pixel width will be clamped to the edge color. It seems likely that the right thing to do is to start sampling [0,1] from the center of the edge pixels rather than the edge of the texture ie inset the sampling by half a pixel. I think this should be accounted for in both the shader and in the upscaler. Let me know if I'm not being clear. When I have time I'll mull it over a bit more, too.

If “scale up” is not selected, then changing the opacity from 0 to 1 changes the resulting image. That is, the bypass lut is not bypassing the colors correctly. Yes, the difference is not huge, but there is a difference that shouldn't be there. Moreover, the image overall seems to become darker, so maybe the inaccuracy goes one way only.

If "scale up" is not selected then basic linear interpolation is used for sampling so you'll have to expect some color differences. If you want better color accuracy you'll have to upscale the LUT. I think there are still improvements to be made, though.
@vanruesc
I did find one issue in my TetrahedralUpscaler class which was causing some banding on upscale -- specifically the UVW values were not being adjusted to be relative to the sub 2x2x2 pixel cube that you're actually sampling from. The commit that fixes it is here. For testing I adjusted my demo to use a FloatType format for the render target to ensure no color banding would occur due to gamma correction and it looks much better with the fix. Upscaling the neutral 2³ LUT in my example to 256³ looks just about identical (if not identical) to the original image though there are more noticeable differences when upscaling 32³ to 256³.
It occurs to me that there may be other issues with sampling in the shader and in the upscale that could be addressed but I want to think about them more -- perhaps you'll have some thoughts. Right now the 3d texture LUT is set to edge clamp for sampling and the color is used directly as the UVW coordinate for sampling which means that every color below half a pixel width will be clamped to the edge color. It seems likely that the right thing to do is to start sampling [0,1] from the center of the edge pixels rather than the edge of the texture ie inset the sampling by half a pixel. I think this should be accounted for in both the shader and in the upscaler. Let me know if I'm not being clear. When I have time I'll mull it over a bit more, too.

Maybe I am missing something, but in my view it is not useful to hold the position that the LUT is allowed to produce completely wrong results. Yes, maybe a few pixels on the whole image can be off by 1, but that shouldn't be noticeable to the human eye at all. I don't know what will convince you, but here is an example of somebody applying a small neutral lut with the size of 16 and producing results that are indistinguishable from the original: https://kosmonautblog.wordpress.com/2017/04/26/color-grading-correction/. Testing is very simple – if you can see any difference after applying the lut, something is wrong.

Maybe I am missing something, but in my view it is not useful to hold the position that the LUT is allowed to produce completely wrong results. Yes, maybe a few pixels on the whole image can be off by 1, but that shouldn't be noticeable to the human eye at all. I don't know what will convince you, but here is an example of somebody applying a small neutral lut with the size of 16 and producing results that are indistinguishable from the original: https://kosmonautblog.wordpress.com/2017/04/26/color-grading-correction/. Testing is very simple – if you can see any difference after applying the lut, something is wrong.

By the way:

The base size of the cinematic 3dl/cube LUTs and the neutral LUT is 32 so the upscaling doesn't change them if the target size is 32.

Looking at the repo, I found this: https://github.com/vanruesc/postprocessing/blob/main/public/demo/textures/lut/lut-neutral.jpg
But that lut seems to be of size 16, or am I wrong? Maybe there is actually no problem and using an actual lut with size 32 will give proper results.

By the way:

The base size of the cinematic 3dl/cube LUTs and the neutral LUT is 32 so the upscaling doesn't change them if the target size is 32.

Looking at the repo, I found this: https://github.com/vanruesc/postprocessing/blob/main/public/demo/textures/lut/lut-neutral.jpg
But that lut seems to be of size 16, or am I wrong? Maybe there is actually no problem and using an actual lut with size 32 will give proper results.

I don't know what will convince you

I didn't mean to downplay this issue - just trying to find an explanation. Let's track this bug over here #250 and fix it.
That neutral LUT is not actually used in the demo, I just forgot to delete it.
@gkjohnson thanks for the heads-up! I'll update the TetrahedralUpscaler when I get a chance.

I don't know what will convince you

I didn't mean to downplay this issue - just trying to find an explanation. Let's track this bug over here #250 and fix it.
That neutral LUT is not actually used in the demo, I just forgot to delete it.
@gkjohnson thanks for the heads-up! I'll update the TetrahedralUpscaler when I get a chance.

I also didn't mean to sound too frustrated, I'm loving this library so far. :) It's just that slight unexpected color differences can be very annoying. For example, see this.


Add Series.all and Series.any

Codecov Report

Merging #359 into master will decrease coverage by 0.06%.
The diff coverage is 83.33%.

@@            Coverage Diff             @@
##           master     #359      +/-   ##
==========================================
- Coverage    94.4%   94.33%   -0.07%
==========================================
  Files          36       36
  Lines        3646     3656      +10
==========================================
+ Hits         3442     3449       +7
- Misses        204      207       +3

Impacted Files
Coverage Δ

databricks/koalas/missing/series.py
100% <ø> (ø)
:arrow_up:

databricks/koalas/series.py
92.7% <83.33%> (-0.36%)
:arrow_down:

databricks/koalas/__init__.py
88.88% <0%> (-3.71%)
: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 3cffb28...84d3c59. Read the comment docs.

All tests passed

Let me get this in. The output is as expected anyway.


Will sockette increase the typescript type declaration file?

Hi, Will sockette increase the typescript type declaration file?

Coming back to this, I think you were reminding me to publish the typings.
If so, they're now included :)


docs(v2): typo fixing double colon

Removing This double colon and making it single, looks like a simple typo
Have you read the Contributing Guidelines on pull requests?
Yes

thanks


feat: upgrade ceresdbproto to latest version

Which issue does this PR close?
Closes #
Rationale for this change
Upgrade ceresdbproto to latest version.

What changes are included in this PR?

Modify GetShardTables to GetTablesOfShards.

Are there any user-facing changes?

How does this change test

LGTM


Improving code coverage

Moving comment up to method
@f36dc37aad3182882984d7c67d7f99d35a0b18b1
Refactoring to leverage short-circuit
ATTN: @dbrower regarding this commit.
@24d3de257561ecc8d9ac57b90070960f1c4123ee
A side-effect of this code refactor is that the method is now returning
the same object as was passed in (e.g. the input and output are the same
object in memory). The previous behavior was that a new object_list was
created via the #map! method.
Adding specs for ROF::Bendo::Filter
@95a9ec3da719720c9c46e9638927bee0461db4f0
To ensure that I understood what was happening in the method, I wrote
the specs and did some minor refactoring to assist in my understanding
of the method.
Tweaking coverage goal from 89% to 90%
@c3996b16c496540262f929239d4d11c57ff4e846

@jeremyf Doesn't map! alter a list in-place?

@dbrower Yes it does. So…umm…looks good?


How to fill project reference?

How can I fill the project reference? Or is the project reference not part of the implementation?

That depends on if you (a) or your customer (b) assigned the project, how formal the project is (do you have a contract (c), an order (d) or an procurement (e)) and if you want to refer to it on item (f) or document level (g):
I suggest the technical appendix of the ZUGFeRD specification.
What do you need?
(a) could be SupplyChainTradeTransaction/IncludedSupplyChainTradeLineItem/SpecifiedTradeProduct/SellerAssignedID
(b) buyerassignedID
(c) contractReferencedDocument
(d) buyerOrderReferencedDocument
(e) SpecifiedProcuringProject (this one is indeed not yet implemented in Mustang)
(f) / (g) I believe there something like SellerAssignedID also on document level

Thanks, I found SpecifiedProcuringProject in the specification, that would be appropriate.
I implemented the type:
<ram:SpecifiedProcuringProject>
   <ram:ID>10212</ram:ID>
   <ram:Name>World peace</ram:Name>
</ram:SpecifiedProcuringProject>

Ultramarin eRechung Viewer views only the ID, not the name.

If you want to integrate that in Mustang the steps would be

have a unit test in validator, in validator/src/test/java/org/mustangproject/validator/LibraryTest.java, which creates a file with a procuring project, confirms that the file is valid, and checks that the info is there, e.g. the procuring project ID is mentioned in the XML: the functionality is required in the library but the unit test in the validator allows to also validate that the generated XML was valid.
in library create something like a IProcuringProject interface with getName and getID, and create a class implementing that interface (e.g. ProcuringProject)
in library/src/main/java/org/mustangproject/ZUGFeRD/IExportableTransaction.java, add something like default IProcuringProject getProcuringProject() { return null; }
in library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java check if trans.getProcuringProject()!=null, in which case you add the according lines with XMLEncoded values (roughly e.g. XMLTools.encodeXML(trans.getProcuringProject().getName())) to the XML (at the right place)
in library/src/main/java/org/mustangproject/Invoice.java add a property for the ProcuringProject class, add a setter, and add a compatible IProcuringProject getProcuringProject() getter.
Now you should be able to set a ProcuringProject in the invoice class.


Upgrade log4j version

Here is the library versions that Lucene depends on. Current log4j version is 2.11.0 (2018/10)
https://github.com/apache/lucene-solr/blob/master/lucene/ivy-versions.properties

Created a PR for this issue: https://github.com/DmitryKey/luke/pull/130


Fix #2877: Internal JS envs config amenable to bincompat evolution.

The internal configuration of (abstract) classes in the JS env API is now protected def-based, rather than based on constructor parameters.
This can be evolved in binary-compatible ways, as we can add new protected defs with default implementations in the superclasses.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/4082/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/5405/
Test PASSed.

Should we also make the base traits abstract classes?

Do you mean ComJSEnv and things like that? I don't think that's necessary, because they are pure interfaces and should remain so. Moreover, I don't think that's even possible. For example we have ExternalJSEnv that extends AsyncJSEnv only, but its subclasses add extends ComJSEnv.

Also: No-reusing bugs :P

I don't understand what that means :s

I do have some more simplifications in mind, but not for the time-frame of M1. Notably I'd like to remove the synchronous APIs.

Also: No-reusing bugs :P
I don't understand what that means :s

You are "fixing" #2877 multiple times. That's not ideal.

Oh did I do that? Where?
My guess would've been https://github.com/scala-js/scala-js/pull/3001 but that one definitely does not fix #2877.

Ah... Indeed. I must have misread the references in #2877. Having the amended commits still being referenced is so confusing :-/


Changed Project to PCL

Hi,
although there are no sinks for Win10 yet, I propose to change the project to PCL in order to use it from UWP,Win8,Silverlight etc

Thank you Michael, this looks good. Not sure how I overlooked your PR, very sorry about the delay in responding!

Thank you, that was my 1st PR ever :)

Great! :+1: :-)


fix: use optimistic locking when updating conditions

Kubernetes does not implement strategic merge for CRDs, and every JSON merge patch will replace the condition set with a new one.
It is possible for a proposed patch to start from a Cluster that is not up-to-date, and in that case, the conditions will be reverted back to an older status.
This patch fixes this race condition by encapsulating this operator with a merge patch that requires optimistic locking and retrying the conditions update when needed.
Fixes: #6317

E2e:

https://github.com/EnterpriseDB/cloudnative-pg/actions/runs/12368613950
https://github.com/EnterpriseDB/cloudnative-pg/actions/runs/12368617238
https://github.com/EnterpriseDB/cloudnative-pg/actions/runs/12368619484
https://github.com/EnterpriseDB/cloudnative-pg/actions/runs/12368622769
https://github.com/EnterpriseDB/cloudnative-pg/actions/runs/12368625852
https://github.com/EnterpriseDB/cloudnative-pg/actions/runs/12368628422
https://github.com/EnterpriseDB/cloudnative-pg/actions/runs/12368630656
https://github.com/EnterpriseDB/cloudnative-pg/actions/runs/12368633698
https://github.com/EnterpriseDB/cloudnative-pg/actions/runs/12368636366

We've got 10 continuous E2e tests green with only the replication feature.
➜ gh run list --workflow=continuous-delivery.yml -R EnterpriseDB/cloudnative-pg
STATUS  TITLE                WORKFLOW             BRANCH          EVENT              ID           ELAPSED   AGE
✓       continuous-delivery  continuous-delivery  fix-conditions  workflow_dispatch<PHONE_NUMBER>1  33m19s    about 34 minutes ago
✓       continuous-delivery  continuous-delivery  fix-conditions  workflow_dispatch<PHONE_NUMBER>1  32m44s    about 34 minutes ago
✓       continuous-delivery  continuous-delivery  fix-conditions  workflow_dispatch<PHONE_NUMBER>7  32m39s    about 34 minutes ago
✓       continuous-delivery  continuous-delivery  fix-conditions  workflow_dispatch<PHONE_NUMBER>3  32m24s    about 34 minutes ago
✓       continuous-delivery  continuous-delivery  fix-conditions  workflow_dispatch<PHONE_NUMBER>4  33m32s    about 34 minutes ago
✓       continuous-delivery  continuous-delivery  fix-conditions  workflow_dispatch<PHONE_NUMBER>2  32m47s    about 34 minutes ago
✓       continuous-delivery  continuous-delivery  fix-conditions  workflow_dispatch<PHONE_NUMBER>6  33m38s    about 34 minutes ago
✓       continuous-delivery  continuous-delivery  fix-conditions  workflow_dispatch<PHONE_NUMBER>0  31m59s    about 34 minutes ago
✓       continuous-delivery  continuous-delivery  fix-conditions  workflow_dispatch<PHONE_NUMBER>6  32m48s    about 34 minutes ago
✓       continuous-delivery  continuous-delivery  fix-conditions  workflow_dispatch<PHONE_NUMBER>5  33m25s    about 35 minutes ago

/ok-to-merge


Change the Home page to be the Login page

When user goes to the webpage, the user is brought to the login page.

hours: 2

hours: 1


Provide plan syntactic sugar for processing YAML/JSON

Background & motivation
Quite frequently, folks will need to do jq-like things on JSON or YAML output from a result of one of their run_sh steps. It would be a very nice convenience if we had a plan step that helped users do the extraction (without them needing to coordinate files artifact-mounting and everything themselves.
Desired behaviour
There is a plan step for extracting values from JSON/YAML. Bonus points if it can return a Starlark dict/struct object that has the keys the user expects.
How important is this to you?
Painful; the lack of this feature makes using Kurtosis frictionful.
What area of the product does this pertain to?
Other: anything not covered by the above

Did a v0 of design here: https://www.notion.so/kurtosistech/YAML-Processing-Plan-Steps-8744a128765c4045a78402a1b752adf1?pvs=4


Bazel [Debug/Opt] build for C/C++ failing for many targets

The infrastructure these tests run on have become overloaded in the past week, and this is causing many tests to fail. I've already done some steps to alleviate the stress we put on the infrastructure and am monitoring to see if performance returns to normal.

Issue has been resolved. Most recent master builds have been green.


Streamification is coming

Streamified the things! Also changed the docs slightly. The build is currently failing because of a strange npm error in node 0.8. I'm not sure what to do about that -- all tests are passing...
I'm working on an example, hopefully going to hook it up to some d3 graphs at some point, and let the user click around and make some events. https://github.com/AWinterman/estate-example

hi @chrisdickinson ! I'm just closing this because 🤷

Oh hi! Sorry I dropped the ball on this one! Hope you're doing well!

I donno, I think this was more of a ball chucked in an arbitrary direction, so no worries!


Implement query based contests

#510
Change log:

The search will now be auto-populated with the platform names passed in the query params.
The code also checks if the platform names are valid or not. (For example, ?platform=codechef,abs,leetci) will only include codechef in the search params.

Summary by CodeRabbit

New Features

Enhanced the Contests filter with the ability to read and apply platform filters directly from the URL parameters.

Hey, looks like this isn't working

preview - it does add "codechef" in filters but the contests are not filtering accordingly.
On selecting "abc" in filter, should also change the URL


Adding support for concurrent mode back

Initial pass for adding concurrent mode support back as a CLI argument this time.
Looking for feedback, will test it out on our large repository tomorrow.

In hindsight, what we actually want is to disable concurrent mode (bring back the ability to set concurrent:false). I like the suggestion of exposing a number to control concurrency, going to try a few things :)


Create TypeScript definitions

Anyone interested?

@tomchentw Yes. Please create definition. I am using typescript on my project, but there are no .d.ts gile for maps. Thank you.

Should I create PR here or in https://github.com/DefinitelyTyped/DefinitelyTyped?

@mxl you can create PR here.

Any update on this?

I haven't used typescript in about a year, going to defer this to someone else thats more familiar and can crank it out without reading alot of docs

I'm almost done writing definitions and will submit PR this weekend.

@mxl you're awesome!

@tomchentw Sorry, I was busy on that weekend. I will finish the work this week.

No rush.

@mxl no rush, but please keep us posted regarding the progress on this issue.

also interested in this

PR's are welcomed!
Also, you may be interested to generate typed code from src/macro directly using jscodeshift API. That could save you lots of time.

Guys, sorry for late response. I've continued my work on definitions. See #646.

I've almost finished definitions. You can test them by installing react-google-maps with npm install github:mxl/react-google-maps#typescript-definitions.

Hello,
Could you please share an example of usage for typescript ? I wanted to try out the
I tried `yarn add github:mxl/react-google-maps#typescript-definitions`.

 getting 'expecting 1 arguements, got 3'.. 'withProps' error underlined

also interested

Released v9.3.0

Anyone using Webstorm? I'm getting a warning about Cannot find parent 'tsconfig.json' from<EMAIL_ADDRESS>

I'm on Webstorm, what steps did you take to reproduce
On 1 Feb 2018 08:20, "stonecold123"<EMAIL_ADDRESS>wrote:

Anyone using Webstorm? I'm getting a warning about Cannot find parent
'tsconfig.json' from /.../node_modules//index.d.ts
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/tomchentw/react-google-maps/issues/363#issuecomment-362191500,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADk46KIJJH8CnzcdwgeVyA1J-jTfkwDlks5tQXOkgaJpZM4KXKPA
.

@AAllport
I installed the type file with npm i --save @types/googlemaps
I think the problem comes from the exclude settings in tsconfig.json
{
  "compileOnSave": true,
  "compilerOptions": {
    "module": "commonjs",
    "target": "es2015"
  },
  "exclude": [
    "node_modules",
  ]
}

The warning disappears after "node_modules" is removed.

are you using webpack or any bundler?
On 1 February 2018 at 08:39, stonecold123<EMAIL_ADDRESS>wrote:

@AAllport https://github.com/aallport
I installed the type file with npm i --save @types/googlemaps
I think the problem comes from the exclude settings in tsconfig.json
{
"compileOnSave": true,
"compilerOptions": {
"module": "commonjs",
"target": "es2015"
},
"exclude": [
"node_modules",
]
}
The warning disappears after "node_modules" is removed.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tomchentw/react-google-maps/issues/363#issuecomment-362196082,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADk46EIHe198QMfVH5igbcZFZp2GQH7Zks5tQXhEgaJpZM4KXKPA
.

Do I need webpack or a bundler to use this component? I keep getting the following error:
./src/app/components/CustomMap/CustomMap.js Module parse failed: \src\app\components\CustomMap\CustomMap.js Unexpected token (6:4) You may need an appropriate loader to handle this file type. |  | const CustomMap = withScriptjs(withGoogleMap((props) =>  |     <GoogleMap |     defaultZoom={8} |     defaultCenter={{ lat: -34.397, lng: 150.644 }}

Why is this closed?

@mxl
Has your type definitions for react-google-maps been merged? I can't find on npm.

@digital-nomad17 Yes, they are installed with this module. Also you need definitions for googlemaps and markerclustererplus modules:
npm i --save react-google-maps @types/googlemaps @types/markerclustererplus

@mxl
Thank you!
Can we add notes to the github page for the typedefiniton file so people can find them?

@digital-nomad17 Actually it's better to move definitions to separate module and make it depend on @types/googlemaps and @types/marlerclustererplus or add them to dependencies for this module. @tomchentw what is your decision?

@mxl running npm i --save react-google-maps @types/googlemaps @types/markerclustererplus and then importing import {GoogleMap, withGoogleMap, withScriptjs} from 'react-google-maps' results in a bunch of TS2503: Cannot find namespace 'google'.. Is this the expected result? Is there more work to do on my end?

@nickdb93
You have to declare /*global googlemap*/ in the first line of the file. It's defined in the google-maps package but can't resolve it.

Just an FYI for anyone having trouble importing snazzymaps styles (on typescript), make sure you are using the correct type for "stylers"
snazzymaps default:
           "stylers": [                {                    "saturation": "13"                },                {                    "lightness": "4"                }            ]
should be:
           "stylers": [                {                    "saturation": 13                },                {                    "lightness": 4                }            ]
types based on:

export interface MapTypeStyler {
   color?: string;
   gamma?: number;
   hue?: string;
   invert_lightness?: boolean;
   lightness?: number;
   saturation?: number;
   visibility?: string;
   weight?: number;
}


Kill gdata (again)

gdata is currently being used by 3 APIs:

Contacts API https://developers.google.com/people/contacts-api-migration
Email Audit API https://developers.google.com/admin-sdk/email-audit/overview
Classic Sites API https://developers.google.com/sites/docs/1.0/developers_guide_protocol

each of these is in various states of deprecation and ideally we'd remove the gdata code from GAM because it's old, crufty and may have some security issues.
In the case of Contacts API, it's been replaced with the People API. @taers232c are you aware of any use cases where Contacts API is still needed?
In the case of Email Audit API, Google Vault is meant as the much more robust replacement but the Email Audit API is still used by some customers and was never turned down. For this I suggest we drop support from the current GAM release but customers wishing to use Email Audit API calls can continue to run old versions of GAM. Should something break we can always do a patch release to that old version.
In the case of Classic sites API, afaik Classic Sites is entirely turned down:  https://workspaceupdates.googleblog.com/2022/11/migrate-classic-google-sites-by-january-30-2023.html @taers232c are you aware of any further usage / need for Classic Sites API?
Once we can replace / remove these 3 APIs we can cleanup the gdata folder(s) and eliminate a lot of crufty old code.

Security issues detected in old gdata / atom code. These are almost certainly benign but we should still clean them up (ideally by killing GData usage)
https://github.com/GAM-team/GAM/security/code-scanning
Also Python 3.12 seems to be taking issue with a bunch of the old regex strings in GData. See #1655

Contacts API - Domain Shared Contacts
https://developers.google.com/admin-sdk/domain-shared-contacts/overview
https://developers.google.com/people/contacts-api-migration
I have a fan of Email Audit API in Spain (big bank, 500,000 users) but I'm
sure Diego would be willing to save an old version for that particular use,
Classic Sites - Saved version would probably do the trick
On Thu, Aug 17, 2023 at 6:39 AM Jay Lee @.***> wrote:

gdata is currently being used by 3 APIs:

Contacts API
https://developers.google.com/people/contacts-api-migration
Email Audit API
https://developers.google.com/admin-sdk/email-audit/overview
Classic Sites API
https://developers.google.com/sites/docs/1.0/developers_guide_protocol

each of these is in various states of deprecation and ideally we'd remove
the gdata code from GAM because it's old, crufty and may have some security
issues.
In the case of Contacts API, it's been replaced with the People API.
@taers232c https://github.com/taers232c are you aware of any use cases
where Contacts API is still needed?
In the case of Email Audit API, Google Vault is meant as the much more
robust replacement but the Email Audit API is still used by some customers
and was never turned down. For this I suggest we drop support from the
current GAM release but customers wishing to use Email Audit API calls can
continue to run old versions of GAM. Should something break we can always
do a patch release to that old version.
In the case of Classic sites API, afaik Classic Sites is entirely turned
down:
https://workspaceupdates.googleblog.com/2022/11/migrate-classic-google-sites-by-january-30-2023.html
@taers232c https://github.com/taers232c are you aware of any further
usage / need for Classic Sites API?
Once we can replace / remove these 3 APIs we can cleanup the gdata
folder(s) and eliminate a lot of crufty old code.
—
Reply to this email directly, view it on GitHub
https://github.com/GAM-team/GAM/issues/1656, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCTYL4DKENONBMDLEQXLV3XVYNJTANCNFSM6AAAAAA3UDE5AQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Ross Scroggs
@.***

OK, I've commited:
https://github.com/GAM-team/GAM/commit/4454e55b1e6a171826166325989e56353dfcf416
which cleans up some 13,000 lines of GData cruft, mostly around tlslite and very old authentication code which GAM should never be using.
I've also added commands to our GitHub Actions testing to create/list/delete domain shared contacts so we can continue to confirm we haven't broken those commands.
@taers232c can you please test and confirm this doesn't break anything else?

Jay,
Here at Redwood Day we have a nightly script that updates domain shared
contacts and it is running with the changes
Ross
On Fri, Aug 18, 2023 at 7:15 AM Jay Lee @.***> wrote:

OK, I've commited:
4454e55
https://github.com/GAM-team/GAM/commit/4454e55b1e6a171826166325989e56353dfcf416
which cleans up some 13,000 lines of GData cruft, mostly around tlslite
and very old authentication code which GAM should never be using.
I've also added commands to our GitHub Actions testing to
create/list/delete domain shared contacts so we can continue to confirm we
haven't broken those commands.
@taers232c https://github.com/taers232c can you please test and confirm
this doesn't break anything else?
—
Reply to this email directly, view it on GitHub
https://github.com/GAM-team/GAM/issues/1656#issuecomment-1683986384, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCTYL6IUNVSQ2QMYGII3RDXV52JPANCNFSM6AAAAAA3UDE5AQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Ross Scroggs
@.***


errorWrapper and errorClass appended to different location when using custom validator

When using a custom validator the errorWrapper and errorClass are appended to a different element than they are when using a default validator.
Default:
.parsley-errors-list appended as sibling of validated element
.parsley-error is added to validated element
Custom:
.parsley-errors-list appended as sibling of validated element's parent
.parsley-error is added to validated element's parent
See jsfiddle: http://jsfiddle.net/kdaigneault/1ykk4q0x/16/
(Parsley v2.0.3)

First of all, thank you for your fiddle.
This is actually the perfect example of why every bug should be reported with a fiddle! Without is, I would not have believed you...
The issue is that your validator is called multiple. That conflicts with the existing multiple option of Parsley... Rename it to something else and you will be good to go.


fix(travis): Crash

For some reason some of the travis builds fail with the following compiler errors:
/home/travis/build/jaagr/polybar/src/main.cpp:68:65: error: incomplete type 'polybar::v3_1_0::connection' named in nested name specifier
      throw application_error("X connection error... (what: " + connection::error_str(xcb_error) + ")");
                                                                ^~~~~~~~~~~~
/home/travis/build/jaagr/polybar/include/x11/types.hpp:30:7: note: forward declaration of 'polybar::v3_1_0::connection'
class connection;
      ^
/home/travis/build/jaagr/polybar/src/main.cpp:71:22: error: incomplete type 'polybar::v3_1_0::connection' named in nested name specifier
    connection& conn{connection::make(xcb_connection, xcb_screen)};
                     ^~~~~~~~~~~~
/home/travis/build/jaagr/polybar/include/x11/types.hpp:30:7: note: forward declaration of 'polybar::v3_1_0::connection'
class connection;
      ^
/home/travis/build/jaagr/polybar/src/main.cpp:72:9: error: member access into incomplete type 'polybar::v3_1_0::connection'
    conn.ensure_event_mask(conn.root(), XCB_EVENT_MASK_PROPERTY_CHANGE);
        ^
/home/travis/build/jaagr/polybar/include/x11/types.hpp:30:7: note: forward declaration of 'polybar::v3_1_0::connection'
class connection;
      ^
/home/travis/build/jaagr/polybar/src/main.cpp:78:25: error: use of undeclared identifier 'randr_util'
      for (auto&& mon : randr_util::get_monitors(conn, conn.root(), true)) {
                        ^
/home/travis/build/jaagr/polybar/src/main.cpp:78:60: error: member access into incomplete type 'polybar::v3_1_0::connection'
      for (auto&& mon : randr_util::get_monitors(conn, conn.root(), true)) {
                                                           ^
/home/travis/build/jaagr/polybar/include/x11/types.hpp:30:7: note: forward declaration of 'polybar::v3_1_0::connection'
class connection;
      ^

From what I can tell, the only difference between builds that fail and builds that don't, is that the failing builds have the xcb-xrm option disabled.
EDIT1:
I have been able to reproduce this locally with the -DWITH_XRM=OFF cmake option. On travis the install_xcb_xrm.sh file somehow thinks that the xrm binaries were cached and thus the script doesn't run. However a failed build when xrm is disabled shouldn't happen anyways, so these are two separate problems.
EDIT2:
Looks like in commit 20f3d9a1419ea3cbf5694d442847eccb4c8f148c the headers I removed that I thought weren't necessary anymore because of forward declaration, are actually necessary

Alright this is ready to merge.
I have merely fixed install_xcb_xrm.sh not reinstalling the cached libraries on the system.
I am working on a PR that also fixes compilation issues when xrm is not installed (amongst others)

pinging @NBonaparte: please give this PR priority over my other PRs, because right now all builds on master and thus all new PRs are failing

I’ll take a look at this within the next 24 hours.

Thank you very much


Update Readme to include branching strategy

Readme in dunfell branch

Do we need to do the same for master branch ? @micahl

Do we need to do the same for master branch ? @micahl

Ah, right. I assumed this was for the master branch. :) What if we only do this for the master branch? Duplicating this same info and keeping it up to date across multiple branches seems like it would add extra overhead.
Btw, one more minor typo is to capitalize 'thud' in the Yocto release column.

sounds good. I will close this and create a new PR as it would have so many conflicts


'DataFrame' object has no attribute 'geometry' error

When using the sample data in Q:\dss_workarea_contractors\sinorris\FIT_changedetector\tests\test_2024_11_29_PrinceGeorge we got the following error:
Start Time: November 29, 2024 1:39:09 PM
2024-11-29 13:39:12,090 - root - INFO - Original data: W:\ilmb\dss\dss_workarea_contractors\sinorris\FIT_changedetector\tests\test_2024_11_29_PrinceGeorge\d826ef7c-b852-4b2d-b7e8-fcb67aaa52de.gdb\Road_original
2024-11-29 13:39:12,091 - root - INFO - New data: W:\ilmb\dss\dss_workarea_contractors\sinorris\FIT_changedetector\tests\test_2024_11_29_PrinceGeorge\013dacc1-f5fa-4b08-9fc9-e5f9fe7d181d.gdb\Road_new
2024-11-29 13:39:12,091 - root - INFO - Output file: W:\ilmb\dss\dss_workarea_contractors\sinorris\FIT_changedetector\tests\test_2024_11_29_PrinceGeorge\changedetector_20241129_1339.gdb
'DataFrame' object has no attribute 'geometry'
Failed script changedetector...
Failed to execute (changedetector).
Failed at November 29, 2024 1:39:15 PM (Elapsed Time: 6.11 seconds)

I've created issue #29 and will note parameters in logfile on every run... but for this data is there a primary key? AssetID?

Yes: AssetID is the primary key. Also, I elected to compare only five fields: Full_Name, LF_Addr, LT_Addr, RF_Addr, and RT_Addr

Dumb coding error - when a list of fields was supplied as a parameter the geometry was being dropped from the list of fields to use.

The file still does not process successfully though, there are data issues:
ValueError: Duplicate values exist for primary_key AssetID, in dataframe a, consider using another primary key or pre-processing to remove duplicates


Is it possible to import user dict generated by Google Pinyin IME?

@caizixian There is what you need on Windows: http://www.cnblogs.com/studyzy/archive/2013/01/10/2855403.html