Taking out Force-side Redis

Now that Metaphysics is the bee's knees, we should try to kill off all Force-side caching and drop the Open Redis addon.
In most places, it's used to do request-level caching with a cache: true flag when we had spottier performance in Gravity. Now we don't really gain anything with this, and the only places it's still necessary is on pages like the fair microsite that needs to fetch and cache a big blob of data (clear use case for MP), or in often-fetched data like fetching auction reminders which should probably move that performance optimization downstream to Gravity or MP.
Places that need refactoring...

[ ] Fair microsite (refactor to MP... I hear there's a redesign under works to check in with Katarina & Morgan on)
[ ] Info menu component (refactor to MP)
[ ] Venice feature check (kill code + feature or atleast remove caching)
[ ] EOY list  (kill code + feature or atleast remove caching)
[ ] Auction reminders (remove caching code—move perf. optimization downstream)
[ ] Partner category fetch (remove caching code—it uses MP)
[ ] SMS throttling (look at Twillio throttling features)

Following along with today's discussion of retiring Open Redis… I'm gonna add to this list a couple of cache: true instances that are for read-only Backbone collections that fetch not from Gravity endpoints, but rather from static files on S3.

[ ] listing of all partner cities
[ ] listing of featured cities

These are used e.g. here and here
Wondering if those also be good candidates to move — do we use Metaphysics to fetch and cache static json blobs?

Thanks @anandaroop ! I think at this point we haven't set any boundaries with MP and any data is fair game in MP, so 👍  to moving that if it feels like the right call to you. However, you could also simply remove the cache: trueflags as those are only mildly increasing performance (caching individual requests) and Gravity (and certainly S3) should be performant enough without caching.


bench(json): Include winnow in the cross-parser compare

winnow is a recent fork of nom that is being used by tonl_edit / toml.
winnow seems to be taking half the time of nom and I had to check
the output to confirm there wasn't a bug.  I dumped the JsonZero
structure from both parsers and diffed it and it was the same.
On my machine
json_nom
                        time:   [385.34 µs 386.74 µs 388.21 µs]
json_winnow
                        time:   [160.89 µs 161.85 µs 162.91 µs]
json_chumsky_zero_copy
                        time:   [265.28 µs 266.16 µs 267.06 µs]

These results are a complete surprise to me with winnow being the fastest parser combinator library, coming in at less than half the parse time  nom.  For toml_edit, winnow takes only 20% less time which I think I narrowed down to an extra #[inline].  In this case, the main difference that I can think of is the use of escaped as its rewritten in winnow and toml_edit doesn't use it.  Note that dispatch! only shaved 10% or so of the time off.

Wow, looks like we have a new competitor to take on! Thanks for adding it to the benchmark.

@zesterer its still declarative, its mapping a parser to parsers :).  On a more serious note, we have it documented as a standard thing to use.  I held off on porting other optimizations from toml_edit like parsing strings in two modes: unescaped and escaped, as the parsers are written more naively so I figured I should be consistent.
Plus, nom and winnow are not meant to exclusively be used declarative.  That was one of the big selling points for me to use nom and make winnow.
Also, the dispatch only helped by about 10%.

Interesting, perhaps a fast path for escaping should be next on our list to investigate. I've just taken a look at winnow, that's a great project you have there. I like the customisability of the thing, that's very nice. I'm hopeful that in time the slightly more closed down approach of chumsky will pay dividends, but I'm excited to see just how far the two approaches can be pushed. You've actually given me a few ideas for potential optimisations internally...

I suspect we can never match a fully optimized closed solution, and thats okay!  Some, like me, are willing to pay the cost for not feeling so constrained while for others, the closed solution will provide great results.


Polygon model

Changes
Migration with tables PolygonBlock, PolygonTransaction, PolygonLabel
How to test these changes?
Tested on dev server
Related issues

@bugout-dev check

[ ] First merge PR https://github.com/bugout-dev/moonstream/pull/369

@bugout-dev check require Run production database migration

@bugout-dev check accept Run production database migration


How to check each class IOU while evaluating instance segmenetation result?

no detailed toutrial for add each class IoU while evaluting the test or val set for customized instance segmentation datasets
the log only shows the segm50 segm75 and sort of useless info.
Thanks in advanced !

just found out modify the /home/liwei.fang/mmdetection-master/mmdet/datasets/coco.py
line369: classwise to True


Error Compiling modules from the shell in OTP25

I'm running nitrogen over Yaws on OTP 25 [erts-13.2.2]. I get the following error when I try to compile a module using either c(module_name) or sync (the on-the-fly recompiling and reloading utility). Running make and compiling from a normal (non-Nitrogen) shell works fine though.
(myapp@<IP_ADDRESS>)1> c(usage_statistics).
Recompiling /home/user/myapp/site/src/usage_statistics.erl
/home/user/myapp/site/src/usage_statistics.erl: internal error in pass parse_module:
exception error: undefined function proplists:to_map/1
  in function  compile:metadata_add_features/2 (compile.erl, line 1072)
  in call from compile:do_parse_module/2 (compile.erl, line 1038)
  in call from compile:parse_module/2 (compile.erl, line 994)
  in call from compile:fold_comp/4 (compile.erl, line 405)
  in call from compile:internal_comp/5 (compile.erl, line 389)
  in call from compile:'-internal_fun/2-anonymous-0-'/2 (compile.erl, line 227)
  in call from compile:'-do_compile/2-anonymous-0-'/1 (compile.erl, line 217)
error

(myapp@<IP_ADDRESS>)2> sync:go().
Starting Sync (Automatic Code Compiler / Reloader)
.
.
.
 =ERROR REPORT==== 24-Aug-2023::16:13:59.302768 ===
/home/user/myapp/site/src/usage_statistics.erl none: ☠ Error: internal error in pass parse_module:
exception error: undefined function proplists:to_map/1
  in function  compile:metadata_add_features/2 (compile.erl, line 1072)
  in call from compile:do_parse_module/2 (compile.erl, line 1038)
  in call from compile:parse_module/2 (compile.erl, line 994)
  in call from compile:fold_comp/4 (compile.erl, line 405)
  in call from compile:internal_comp/5 (compile.erl, line 389)
  in call from compile:'-internal_fun/2-anonymous-0-'/2 (compile.erl, line 227)
  in call from compile:'-do_compile/2-anonymous-0-'/1 (compile.erl, line 217)

=ERROR REPORT==== 24-Aug-2023::16:13:59.303569 ===
** gen_event handler yaws_log_file_h crashed.
** Was installed in error_logger
** Last event was: {error,<0.276.0>,
                          {<0.280.0>,
                           "/home/user/myapp/site/src/usage_statistics.erl none: ☠ Error: internal error in pass parse_module:\nexception error: undefined function proplists:to_map/1\n  in function  compile:metadata_add_features/2 (compile.erl, line 1072)\n  in call from compile:do_parse_module/2 (compile.erl, line 1038)\n  in call from compile:parse_module/2 (compile.erl, line 994)\n  in call from compile:fold_comp/4 (compile.erl, line 405)\n  in call from compile:internal_comp/5 (compile.erl, line 389)\n  in call from compile:'-internal_fun/2-anonymous-0-'/2 (compile.erl, line 227)\n  in call from compile:'-do_compile/2-anonymous-0-'/1 (compile.erl, line 217)\n",
                           []}}
** When handler state == {st,<0.145.0>,"./report.log",[],unlimited}
** Reason == {no_translation,
                 [{io,put_chars,
                      [<0.145.0>,
                       [[10,61,"ERROR REPORT",61,61,61,61,32,"24",45,"Aug",45,
                         "2023",58,58,"16",58,"13",58,"59",32,[],61,61,61,10],
                        [],
                        ["/home/user/myapp/site/src/usage_statistics.erl none: ☠ Error: internal error in pass parse_module:\nexception error: undefined function proplists:to_map/1\n  in function  compile:metadata_add_features/2 (compile.erl, line 1072)\n  in call from compile:do_parse_module/2 (compile.erl, line 1038)\n  in call from compile:parse_module/2 (compile.erl, line 994)\n  in call from compile:fold_comp/4 (compile.erl, line 405)\n  in call from compile:internal_comp/5 (compile.erl, line 389)\n  in call from compile:'-internal_fun/2-anonymous-0-'/2 (compile.erl, line 227)\n  in call from compile:'-do_compile/2-anonymous-0-'/1 (compile.erl, line 217)\n"]]],
                      [{file,"io.erl"},
                       {line,99},
                       {error_info,
                           #{cause => {device,{no_translation,unicode,latin1}},
                             module => erl_stdlib_errors}}]},
                  {error_logger_file_h,handle_event,2,
                      [{file,"error_logger_file_h.erl"},{line,71}]},
                  {gen_event,server_update,4,
                      [{file,"gen_event.erl"},{line,802}]},
                  {gen_event,server_notify,4,
                      [{file,"gen_event.erl"},{line,784}]},
                  {gen_event,handle_msg,6,[{file,"gen_event.erl"},{line,526}]},
                  {proc_lib,init_p_do_apply,3,
                      [{file,"proc_lib.erl"},{line,240}]}]}

Hi @lgmfred,
Given that proplists:to_map was introduced in OTP24, but you're running OTP25, this looks like there's some kind of inconsistency in your system.
I would try to completely delete the _build directory, then re-run make and see what kicks out.

Or wait, is this with nitrogen 2.x still, rather than Nitrogen 3 (a.k.a the rebar3 branch?)
If that's the case, is this a full release or a slim release?
In either case, I would try this:
make fix-slim-release (if this is a full release, it will convert it to a slim release)
Then run make
If, after that is run, it continues to do that, I would then delete the lib directory and run make again and see what happens.

Yeah, there's some inconsistency. I'm running Nitrogen 2.4.0 on Ubuntu 22.04 LTS, and I've tried the above, but it didn't work either. I was using ASDF, but I even tried directly installing esl-erlang package. However, the same error still pops up.
From the Nitrogen shell, the proplists:to_map/2 is undefined. But, starting a normal Erlang shell from the same Nitrogen directory, the function proplists:to_map/2 is defined and compiling works fine.
I just decided to revert my dev environment to use OTP24 instead.

My bad! My bad!
It turns out one of my predecessors copied the proplists.erl module file from an older Erlang release to the ./site/src/ directory and it was overwriting the standard file. Sorry about that.

Iiiiintersting.
Glad to hear you solved it.
What an unusual situation!
-Jesse
On Wed, Sep 13, 2023, 1:48 AM Ayiko Fred @.***> wrote:

My bad! My bad!
It turns out one of my predecessors copied the proplists.erl module file
from an older Erlang release to the ./site/src/ directory and it was
overwriting the standard file. Sorry about that.
—
Reply to this email directly, view it on GitHub
https://github.com/nitrogen/nitrogen/issues/139#issuecomment-1717044466,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABNRHDYVQICILAQPIVSQ23X2FJM3ANCNFSM6AAAAAA35BVJ54
.
You are receiving this because you commented.Message ID:
@.***>


Not equal operator (<>)

This sentence throw an error but it shouldn't
 SELECT * FROM sometable WHERE id <> 1

Good catch! Fixing now.


CVE-2023-30767

Hello again!
Public sources say that CVE-2023-30767 affects versions of intel-tensorflow before than 2.13.0. Here the advisory:

Improper buffer restrictions in Intel(R) Optimization for TensorFlow before version 2.13.0 may allow an authenticated user to potentially enable escalation of privilege via local access.

I think this is the related fix PR, which is indeed included in intel-tensorflow 2.13.0 and also in tensorflow itself.
However, I don't see this security issue mentioned in this repository. It does not appears on https://github.com/tensorflow/tensorflow/security, nor I found a TFSA entry for it, nor it is mentioned in Tensorflow 2.13.0 Release Notes.
Could you clarify this situation? Is TensorFlow affected by CVE-2023-30767 in versions before 2.13.0?
Thank you in advance

There are no more TFSAs filed in this repo, only CVEs and only for advisories that match the updated security posture.
For this specific CVE, the vulnerable code is in OneDNN, with is contributed by Intel and not active in tensorflow itself. If you use oneDNN then you are affected, otherwise not.

Thank you for the prompt response.
What confuses me is, if this CVE only affects code contributed by Intel OneDNN fixed here, why these same code changes are also part of TensorFlow release 2.13.0 without it being affected.
Even the branch name Intel-tensorflow:security_fix_quantiz may suggest something related to security.
I will appreciate if you help me understand this situation 🙏

The code itself is not in use in production if you're not using OneDNN. It's similar to the following scenario
if (using_one_dnn) {
  call_the_code_that_got_fixed();
} else {
  run_some_other_code();
}

Since using_one_dnn is true only if using OneDNN, the vulnerability does not manifest anywhere else


Question: serverless

Is this going to work on serverless environment? as looks like it doesnt store the installations in a db and the schedule is also done in memory. so isn't it going to be all lost once a container is restarted?

Got an answer via slack. for serverless scheduler to work you need a db or only work for specific installation.


The iPad mouse cursor should be removed when the mouse is disconnected.

When a mouse is disconnected from an iPad, such as by removing the iPad from the Magic Keyboard with trackpad, the pointer isn't removed from Flutter. So it stays in the framework, and triggers MouseEnter events. There is no way to remove the pointer, and only by reattaching the mouse can it be moved. When the user disconnects their iPad from a pointing device, Flutter should recognize and stop triggering hovers at the last position of that pointing device.

CC @dkwingsmt


docs: add section about Athena view definition

Checklist

[x] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[x] Links to related issues (if applicable)
[x] Tests for the changes have been added/updated (if applicable)
[x] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[x] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

Pyathena's newest release (3.0.7) now supports the extraction of the view deifinition.
This PR introduces a small additional section to the documentation about how you can make use of it.
Is there anything I need to adapt elsewhere? Just adding the file doesn't seem to be enough 😅

may introduce to many dependency issues and (in addition) is to compatible to https://github.com/datahub-project/datahub/pull/8137


Illuminate\Contracts\Mail\Mailer contract is missing methods

Laravel Version: 5.4.15
PHP Version: 7.0.16

Description:
The Illuminate\Contracts\Mail\Mailer contract doesn't have the to() method, so a class cannot depend on the contract without abusing the interface and calling to() anyway. It is also not possible to depend on an implementation like Illuminate\Mail\Mailer because Illuminate\Support\Testing\Fakes\MailFake is not compatible.
Steps To Reproduce:
Inject Illuminate\Contracts\Mail\Mailer and try to do something useful with only the interface methods.

I just tried this (inject mail contract) and send an email using ...to('email@e.ee')->send(new Mailable...) and I got mail in mailtrap.
I guess your IDE (as mine) simply does not show methods... you may either inject concrete and develop and after you done just inject contract... (this is bad way to go ofc, just a workaround).
What I am doing is using only ->send() method and I let Mailable set $to and $subject itself (in build() method). Not sure if this is a way how to do it but it works and mail is "self contained".

To test mailables (without using facade) in case I have more dependencies and want to use resolve helper I extend class I am testing and inject MailFake instead of Mailer.

I just tried this (inject mail contract) and send an email using ...to('email@e.ee')->send(new Mailable...) and I got mail in mailtrap.

It doesn't show the methods because they aren't technically there, they only appear during runtime because the actual implementations happen to have them.
I'll look into having the Mailable itself set addresses and the subject. It would be still be nice if the interface would cover all methods though.

People are doing some changes to Mail contract atm, they can not change it on current version, I am sure its going to be improved in 5.5.

Let's hope so. Currently Laravel is many times unusable without facades or without breaking contracts by silently relying on implementation-specific functionality.

Ping @themsaid this should be fixed on 5.5.

yes, will do close to release to prevent complex conflicts.


How does this compare to Autohotkey?

Using a standard language like C# for writing scripts will attract many users, but how powerful is the keyboard remapping functionality compared to Autohotkey?
This author has taken a different approach by encapsulating Autohotkey in Python:  ahk

Hotkeys, hotstrings (autotext), keyboard remapping and everything else are as powerful as in AHK.

Good to know. I've recently invested some time to learn AHK and found its scripting abilities to be a bit lacking. Having already several years of experience with C# and .NET, this alternative seems very appealing to me. Willing to give it a go :)

Hello,
I think I have some points that can answer this question:
How does this compare to Autohotkey?
LibreAutomate isn't a competitor of AutoHotKey nor AutoIt.
It appears to take a different approach, it behaves like a C# gateway for beginners of .NET who know the syntax but have trouble remembering function names or how to properly create some async Wait timer etc for HTTP downloads as one example.
LibreAutomate doesn't have its own scripting language, it simply provides a considerably easier 'standard library' for C# beginners.
This way we can easily start C# development without hassle, with a real .NET CLR, as well as using some SQL of JSON libraries (NewtonSoft's JSON library, for example).
AutoIt vs AutoHotKey vs LibreAutomate
If we were to compare them,

AutoIt would be providing a simpler syntax for BASIC as well as a simpler 'standard library'.
AutoHotKey would look like a mix of Pascal / Delphi using Windows's rundll32.exe function call syntax (example: 'SetWallpaper, %A_WorkingDir%\wallpaper.png')
LibreAutomate uses the original C# syntax with a simpler 'standard library'.

Keyboard remapping of LibreAutomate
You get the same keyboard remapping power as all native .NET programs (full power).
LibreAutomate cans help to facilitate this use-case with simpler functions & APIs.


Prediction fails on variable size inputs due to np.concatenate

I've built an autoencoder that takes input of size (None, 2) (batch size must be 1). This works for training, because it deals with each batch individually. I've posted my implementation here
When it comes to prediction however, the model first (correctly) predicts on every input, but then fails because it tries to concatenate them, as you can see from the traceback.
self.results = np.concatenate(self.results, axis=0)
  File "<__array_function__ internals>", line 6, in concatenate
ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 1, the array at index 0 has size 12 and the array at index 1 has size 51
2019-11-22 16:08:58.238687: W tensorflow/core/kernels/data/generator_dataset_op.cc:102] Error occurred when finalizing GeneratorDataset iterator: Failed precondition: Python interpreter state is not initialized. The process may be terminated.
	 [[{{node PyFunc}}]]

Is there any way to disable this, in order to keep the performance optimization? Predicting on each sample in a loop instead gives a warning, and is roughly 10 times slower.
WARNING:tensorflow:5 out of the last 5 calls to <function _make_execution_function.<locals>.distributed_function at 0x7f63d8635268> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings is likely due to passing python objects instead of tensors. Also, tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. Please refer to https://www.tensorflow.org/beta/tutorials/eager/tf_function#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for more details.

Okay, so I found that I need to do predict_on_batch on single samples in a loop. I assume the concatenation in predict() will not go away anytime soon, because it's what's sensible in 99.9% of cases.


[1251] autocomplete ux

Resolves #1251 by using bootstrap blue for highlighting as well as changing the pointer cursor for additional visual cue. Also removes some old css that wasn't doing anything

Awesome, looks great. Squash / merge / update CHANGELOG away! :smile:


Support 'more than' and 'less than' statements in verify and try to verify is

This PR adds the support for more than and less than keywords in verify and try to verify is statements.
When I was implementing some test cases, I found that this two statements could be useful instead of parsing the data from the kubectl output and do the comparison in a bash fashion.
In case some other changes are needed, please, let me know.

Hi @peterparser!
This is a great contribution. Thank you!
I added few comments, mostly cosmetic.

Thanks for the review! I've made the fixes and also made the less/more than tests more robust.

Hi @peterparser!
This is a great contribution. Thank you!
I added few comments, mostly cosmetic.

Thanks @vincent-zurczak! I've made the changes, also I changed the tests from testing if more is present I now check for more than, the same happens with less. Thanks again

hei @peterparser since you are doing this PR can you also add a simple gh action that will run the bats tests? both vs main and during a PR, thanks!
(hoping that is ok for you @vincent-zurczak )

Again, thank you for this contribution.
I merged it and I was about to create a new tag when I noticed the README documentation had not been updated. Do you think you could do that please?

@peterparser Again, thank you for this contribution. I merged it and I was about to create a new tag when I noticed the README documentation had not been updated. Do you think you could do that please?

Sure, I will update it and put some examples in the examples folder!


Remove "extension" coded values from domain exports

I just noticed the multiple "Extension" values are back in the samples/domain values in the latest version of our GDB.
Please remove from the same exports, ex: https://github.com/Esri/joint-military-symbology-xml/blob/master/samples/symbolcode_firstten_domains_values/jmsml_Amplifier.csv#L11 & https://github.com/Esri/joint-military-symbology-xml/blob/master/samples/symbolcode_firstten_domains_values/jmsml_StandardIdentity.csv#L9 (I realize these are this way in the standard, but not needed in the samples/domains)
Note: this was apparently fixed once in the domains (but perhaps not in the source data?), issue re-opened from/for reference:
https://github.com/ArcGIS/military-features-pro-data_RETIRED_DONT_USE/issues/72 (Note: internal link)

@csmoore please confirm fix and close.

Verified fixed


White Line on left edge of sprites

It's visible in your screenshots. Very visible in my attempt to make use of these scripts. Think it has to do with Texture Wrapping but I'm new to Unity.

Hi @Hoenn
I know what you mean, and I'm sure I overcame this somehow when I used PSG in one of my personal projects, but looking through the code I didn't seem to make any changes. I did use a template mask with a bit of extra space on the sides though. Here is a script you can attach to a GameObject with a SpriteRenderer attached - just make sure you add the Default-Sprite material too.
https://gist.github.com/Shogan/674f2d6e9f86902b04a4a005bfe24f71
If I use that I don't get any white lines, so try that out and see if you can do the same for your mask?
I've tried messing with the texture wrap modes - clamp/repeat but that had no bearing on the white line effect. Point mode filtering is best too - bilinear or trilinear just blur the pixel effect on the sprites...

Adding the '-0.02f' temporarily fixed my issue
(mask.mirrorX) {                 width = (mask.width * 2) -0.02f;             }
Any idea why your output varies in color much more compared to the original? (Pretty noticeable on the many color variation outputs)

I also noticed the color variation - no idea at the moment, I haven't really had the opportunity to see why. It seems like the Color struct matches the original version's color property, and is pretty straightforward with r,g,b,a values, so I'm not sure where the variation is coming in from.


'shoutem/animation' is not in the npm registry.

and i am try npm install --save @shoutem/ui but fail
error log:
npm ERR! addLocal Could not install shoutem/ui
npm ERR! Error: ENOENT: no such file or directory, stat 'D:\workdir\reactdir\PracticeRN\shoutem\ui'

@zuojianjian npm install --save @shoutem/ui and npm install --save @shoutem/animation seems to work fine. Do check again and let know on which condition are you facing the issue


Barometer diagram: add min/max

At least on the F-Droid version there seems to be no defined min and max for the diagram of the barometric data.
This leads to situations that although there has almost been no change in barometric pressure the diagram looks like there was a big change (in my case 1022 to 1026 only).
Solution: add a lower and upper limit for diagram.

Agreed, I actually do have that logic in place, just picked too small of a range

How does something like this look?

Nice!
According to Wikipedia it usually ranges from 940hPa to 1040hPa on earth. Why not use the full range?
https://en.m.wikipedia.org/wiki/Barometer

Using the full range makes it difficult to see smaller, yet meaningful changes and may not be fully accurate when not using sea level pressure. I will experiment with that though.

i see :)
However, the weather at home is at the moment rather too good for testing ;)

I'll put some fake in the UI today and post that later. Looks like there is good weather all week for me too (great for testing the navigation features though!)

These screenshots are using data from my local area as a storm approached. I personally prefer either the 20hPa or the 40hPa because they clearly show that the weather is worsening (note: the forecasts in Trail Sense are created via changes in barometric pressure in the 3 hour range for short term forecasting and 48 hours for long term forecast trends, so the user should be able to see the chart matching up with the forecast). In my experience, my local weather varies between about 990 and 1030 hPa typically.
Range: 20hPa

Range: 40hPa

Range: 60hPa (normal weather condition variance across earth)

Range 100hPa (normal atmospheric variance across earth)

I'm going to close this - if you feel like the new min and max do not address this properly, feel free to reopen.


Changed SharePoint API behaviour over night

Category

[ ] Question
[ ] Typo
[x] Bug
[ ] Additional article idea

Expected or Desired Behavior
Running /_api/web/lists/getbytitle('Listname')/items?$select=* should return all items in the list.
Observed Behavior
Over night the API call above has stopped working returning:
The query cannot be completed because the number of lookup columns it contains exceeds the lookup column threshold enabled by the system administrator.
Steps to Reproduce
Our list has 10 lookup fields and 5 person field (including Author and Editor). This has been running fine for over two years until yesterday when the error above started to occur.

So - reason for this is obviously that there's too many lookup columns in the list, so next step is to understand how your list actually looks like and how many lookup columns you have added to it, so that we can understand how to build a repro. In general lookup columns are quite performance intensive, so speculating few options here - we might have adjusted our settings OR we might have added new oob look up, which then pushed your list over the limit...
But to be able to get the facts - we need to understand how your list looks like - what kind of fields it contains. If you need, you can change the column names, but don't change the type, so that we understand what you have there.

As an example - if you have more than 12 lookup fields in the default view, that would cause the following exception to be raised as 12 is the limit supported also based on our documentation - https://support.office.com/en-us/article/manage-large-lists-and-libraries-in-sharepoint-b8588dae-9387-48c2-9248-c24122f07c59?redirectSourcePath=%252fen-us%252farticle%252fManage-large-lists-and-libraries-in-Office-365-b4038448-ec0e-49b7-b853-679d3d8fb784&ui=en-US&rs=en-US&ad=US
This includes people, lookup, and managed metadata field types.

@VesaJuvonen
List of fields in list "Project":

Main project (Lookup back to same list ~2500 items)

Stakeholder (Lookup to company list ~3500 items)

Lead status (Lookup to lead status list)

Project type (Lookup to project type list)

Company (Lookup to company list)

Status (Lookup to status list)

Lead Department (Lookup lead department list)

External project contact (Lookup to contact list ~1200 items)

External lead contact (Lookup to contact list)

Project Department (Lookup to department list)

Person 1 (Person)

Person 2 (Person)

Person 3 (Person and group)

Person 4 (Person)

Person 5 (Person)

No MMD fields

I forgot to mention that we have deleted a couple of unused lookups today without any help, so it seems that is has to be something else than one new OOTB field.

@VesaJuvonen Is it possible to remove some of the OOB fields? (Both at all, and without breaking something).

Here are a grouped count of all fields based on TypeAsString from the failing tenant:

Here is the same count on a completely different tenant with similar setup which works fine:

We have encountered two new cases with the same problem.
Tantant1:

{ContentTypeId: 1, Text: 12, Note: 4, Lookup: 43, User: 3, …}

Attachments: 1
Boolean: 3
Calculated: 4
Choice: 6
Computed: 19
ContentTypeId: 1
Counter: 1
Currency: 1
DateTime: 15
File: 1
Guid: 2
Integer: 5
Lookup: 42
ModStat: 1
MultiChoice: 1
Note: 4
Number: 12
Text: 10
URL: 1
User: 3
WorkflowStatus: 1

You can create a new custom list with some fields and check if the REST API works.
Or use the REST API below to get items.
/_api/web/lists/getbytitle('Listname')/items
Or use $select and $expand to get list items. Example:
/_api/web/lists/getbytitle('Listname')/items?$select=LookupField/Title&$expand=LookupField/Id

You can create a new custom list with some fields and check if the REST API works.
Or use the REST API below to get items.
/_api/web/lists/getbytitle('Listname')/items
Or use $select and $expand to get list items. Example:
/_api/web/lists/getbytitle('Listname')/items?$select=LookupField/Title&$expand=LookupField/Id

The REST API works.
Have tested with custom select on the affected tenants and it works fin up to 12 Lookup/Person/MMD fields, as expected, but we have ‘*’ in our selection.
As OP mentioned this is affecting customers that have made no changes to the list and have worked for several years.
Have also tested on tenants that are not affected and created lookup/person/mmd fields way beyond the limit without any problem.
We have now been contacted by 3 different customers on separate tenants in a short period of time with the same problem, which makes it more plausible that Microsoft have made some changes that are causing this.
As VesaJuvonen mentioned “so speculating few options here - we might have adjusted our settings OR we might have added new oob look up, which then pushed your list over the limit.”

At my client we are using PowerApps and Power BI to access SharePoint Online libraries (O365) which was all running fine until at some point on Wednesday evening 18 Sept (UK time) when we got the "the number of lookup columns exceeds the lookup column threshold" message both in PowerApps and in Power BI even though nothing had changed (as it is a live production environment).
Now we are aware of the threshold being 12 lookup columns, however, behaviour was different for Managed Metadata compared to Person or Lookup columns in PowerApps and in Power BI.
Last year October (2018) I tested this in PowerApps and I got the threshold error depending on what  columns I was using:
| Person | Lookup | Managed Metadata | Result
-- | -- | -- | -- | --
Test 1 | 9 | 3 | 0 | Success
Test 2 | 10 | 3 | 0 | Failed
Test 3 | 9 | 3 | 1 | Success
Test 4 | 9 | 3 | 2 | Failed
Test 5 | 8 | 3 | 2 | Success
Test 6 | 8 | 3 | 5 | Success
Test 7 | 8 | 3 | 10 | Failed
Test 8 | 6 | 3 | 10 | Success
Test 9 | 6 | 3 | 14 | Success
Test 10 | 6 | 3 | 15 | Failed
Test 11 | 5 | 3 | 15 | Success
Test 12 | 5 | 3 | 16 | Failed
Test 13 | 5 | 4 | 10 | Success
Test 14 | 5 | 4 | 11 | Failed
As you can see we could access SP lists or libraries even if there were up to 23 lookup columns as long as the number of person and standard lookup columns remained below 12. This was working until Thursday evening and afterwards behaviour for managed metadata columns was the same as for the other lookup columns:
| Person | Managed Metadata | Result
-- | -- | -- | --
Test 1 | 12 | 0 | Success
Test 2 | 13 | 0 | Failed
Test 3 | 9 | 3 | Success
Test 4 | 9 | 4 | Failed
So as it looks the 12 column Lookup Column Threshold wasn't enforced in all circumstances (i.e. PowerApps, Power BI, REST API but it was in SPO itself) and I think Microsoft has enforced it across the board now. @VesaJuvonen is that anything you can confirm or look into? Thank you!

Confirm our SPO is running into the same problem. Flows with queries into custom lists that have been working for months suddenly stopped working with no change on our side - happened sometime within the last 3-4 days.
Can I just say how nice it would be if changes like this were communicated in advance rather than discovered the hard way...?!

Interestingly yesterday  evening (Friday 20 Sept 22:45 UK time) I noticed behaviour had changed again (as our Power BI reports worked again). Testing in PowerApps gave these results:
| Person | Managed Metadata | Result
-- | -- | -- | --
Test 1 | 9 | 3 | Success
  | 9 | 4 | Success
  | 9 | 6 | Success
  | 9 | 8 | Success
  | 9 | 9 | Failed
So the lookup column threshold for Managed Metadata columns has once again changed. Why Microsoft? And like @plbowers  mentioned it would be good to be communicated about such changes in advance.

All tenants we had problems with are now up and running again, the error has magically disappeared

This indicates that someone reported the issue through Premier support and thus there was a detailed investigation on the issue, which clearly has then been resolved. Thanks for following up on @eirikb, highly appreciated.
Are others also seeing the issue being resolved?

Thank  you @VesaJuvonen  if there was a detailed investigation is it possible to find out what has happened and why? And how to know for sure this won't happen again in the future? Some kind of explanation would be good. Is there any way of finding out?
Also my test results from today are different again from the ones on Friday:
| Person | Lookup | Managed Metadata | Result
-- | -- | -- | -- | --
Test 1 | 9 | 0 | 3 | Success
Test 2 | 9 | 0 | 4 | Success
Test 3 | 9 | 0 | 9 | Success
Test 4 | 9 | 0 | 14 | Success
Test 5 | 9 | 0 | 15 | Failed
Test 6 | 6 | 3 | 14 | Success
Test 7 | 6 | 3 | 15 | Failed
This behaviour is the same again as what we had last year - which is good - but question is what is to be expected? How to explain having 23 lookup columns even though the documented threshold is only 12? And why does the threshold of 12 only applies to person and standard lookup columns where the limit for managed metadata is different in PowerApps and Power BI even though it is not in SPO?

@frnk01 I test it again in my tenant, create a custom list with 12 lookup fields and 5 person fields, then use $select=* in the REST API, it works. This issue seems resolved in currently.

This is now working again so closing the issue, but would appreciate if we could get some kind of update on this @VesaJuvonen - Was this a temporary roll back or can we be sure that this will continue to work in the future?


Add support for WebTemplate=69 in Add-PnPSiteDesign

Is your feature request related to a problem? Please describe.
https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/customize-default-site-design describes the Tean channel WebTemplate and states the value to be 69. The v1.8.0 PnP.PowerShell module does not support this template.
The error thrown when doing Add-PnSiteDesign with -WebTemplate 69 is pretty to the point on what's missing.
Add-PnPSiteDesign: Cannot bind parameter 'WebTemplate'. Cannot convert value "69" to type "PnP.PowerShell.Commands.Enums.SiteWebTemplate" due to enumeration values that are not valid. Specify one of the following enumeration values and try again. The possible enumeration values are "GrouplessTeamSite,TeamSite,CommunicationSite".
Describe the solution you'd like
The SiteWebTemplate enum ought to be updated to include 69 for a private team channel.
Describe alternatives you've considered
Microsoft SPO Management Shell allows WebTemplate 69 but I had to revert back to Powershell 5.1 to be able to successfully connect-SPOservice.

FYI, WebTemplate=69 is used for the SharePoint site with limited functionality (eg no content type support) used when a private team channel is created.

Fixed through https://github.com/pnp/powershell/pull/1369


Design System > Create color variants for toast elements

Design System > Create color variants for toast elements

Dark theme icon is not display & alignment issue.
Refer to wireframe as an alignment issue.

Expected -


Playback when the screen is off

Please add the ability to playback when the screen is off

Duplicate of #44


Unable to add to my project.

I am a begineer in react-native and expo. pls suggest.
$ npx create-expo-app ShortVideosApp
$ cd ShortVideosApp
$ npm install --save expo-instagram-reels
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/react-native
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/expo-instagram-reels
npm ERR!   expo-instagram-reels@"*" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR!
npm ERR! For a full report see:
npm ERR! /Users/jigarthakkar/.npm/_logs/2023-09-17T05_27_10_030Z-eresolve-report.txt

Details in the log file:
'Log files:
/Users/jigarthakkar/.npm/_logs/2023-09-17T05_27_10_030Z-debug-0.log
npm resolution error report
While resolving<EMAIL_ADDRESS>Found<EMAIL_ADDRESS>node_modules/react-native
<EMAIL_ADDRESS>from the root project
Could not resolve dependency:
peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>node_modules/expo-instagram-reels
expo-instagram-reels@"*" from the root project
Fix the upstream dependency conflict, or retry
this command with --force or --legacy-peer-deps
to accept an incorrect (and potentially broken) dependency resolution.

I am having the same issue as jigar1859


Roll Engine from ea1e3804831d to 6c2b052383c6 (10 revisions)

https://github.com/flutter/engine/compare/ea1e3804831d...6c2b052383c6
2021-06-30<EMAIL_ADDRESS>Roll Dart SDK from 8234f00e521a to 54c79f559d23 (2 revisions) (flutter/engine#27079)
2021-06-30<EMAIL_ADDRESS>Roll Skia from e1f72377e574 to 0734c6223cb8 (3 revisions) (flutter/engine#27078)
2021-06-30<EMAIL_ADDRESS>[web] Librarify text editing files (flutter/engine#27071)
2021-06-30<EMAIL_ADDRESS>Roll Fuchsia from 275038b8be7196927b0f71770701f3c2c3744860 to 86a2f5264f8dc496dccdd4060e4bad4c33eef552 (flutter/engine#27077)
2021-06-30<EMAIL_ADDRESS>Update buildroot to ignore new warnings from Clang package update (flutter/engine#27056)
2021-06-30<EMAIL_ADDRESS>[web][felt] Fix stdout inheritance for sub-processes (flutter/engine#27070)
2021-06-30<EMAIL_ADDRESS>Roll Skia from c9897a55650a to e1f72377e574 (3 revisions) (flutter/engine#27073)
2021-06-30<EMAIL_ADDRESS>Partial reland for VM tests (flutter/engine#27069)
2021-06-30<EMAIL_ADDRESS>Roll Skia from b393c4bccd5f to c9897a55650a (1 revision) (flutter/engine#27068)
2021-06-30<EMAIL_ADDRESS>Roll Skia from 76e45134b8a7 to b393c4bccd5f (1 revision) (flutter/engine#27067)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Automator: update<EMAIL_ADDRESS>dependency in<EMAIL_ADDRESS>

Generated by Automator - 2022-12-15T21:47:42+00:00

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-security-multicluster_istio_release-1.16
2a8098d26a41bffb0858f5d5b9151010c47929d4
link
unknown
/test integ-security-multicluster

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


Issue compiling software

Hi
Trying to compile the firmware for Z-Stack-firmware/coordinator/Z-Stack_3.x.0 to test a CC2652R but when i try to add the patch file i get the following errors even though the folders and files it says it cannot find are sub-directories
Am i missing anything
adrian@home1 MINGW64 ~/workspace_v9/znp_CC26X2R1_LAUNCHXL_tirtos_ccs
$ git apply firmware.patch
error: znp_CC26X2R1_LAUNCHXL_tirtos_ccs/Application/mt/mt_sys.c: No such file or directory
error: znp_CC26X2R1_LAUNCHXL_tirtos_ccs/Application/mt/mt_version.c: No such file or directory
error: znp_CC26X2R1_LAUNCHXL_tirtos_ccs/Stack/Config/znp_cnf.opts: No such file or directory
error: znp_CC26X2R1_LAUNCHXL_tirtos_ccs/Stack/af/af.c: No such file or directory
error: znp_CC26X2R1_LAUNCHXL_tirtos_ccs/Stack/sys/zglobals.c: No such file or directory

User error, my fault


Action bar menu glitched

Will be fixed
On Mon, Jun 26, 2017, 4:16 AM Desperate_Kun<EMAIL_ADDRESS>wrote:

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/berict/Tapad/issues/132, or mute the thread
https://github.com/notifications/unsubscribe-auth/AMrq_WqyOO6wx1J6FjF1Rh5eBIZojNEpks5sHrIJgaJpZM4OEsVy
.

Can't replicate the issue. Please let me know your API info @Gennadiyev

Glitched image

probably a device-specific error, reopen this if this occurs in two or more devices


GPGL issue for lamejs

We are using this module that comes under MIT licence, but this module is dependent on lamejs that comes under GPGL licence.
Do we have to confirm to lamejs for using this module?

Disclaimer: I'm not a lawyer and I don't know much about licenses, but:
Lame license is LPGL, actually. So if it's a commercial application, you probably need to fully acknowledge that you are using LAME, and link to their web site.

It seems that this package cannot/should not be licensed as "MIT".


Adding Cryptocurrency prices scraping support to finance module

Describe the feature
I want to add cyptocurrency scraping support to finance module. This would enable StockPrice class to scrape latest price and historical price of all cryptocurrencies from crypto.com. I would create a crypto.py file and CRYPTO class then intergrate CRYPTO class into StockPrice class
Add ScreenShots
Adding this feature would enable add such functionality to StockPrice class:
solana = StockPrice("solana","crypto")
latest_price = solana.get_latest_price()
historical_price = solana.get_historical_data("05-06-2023","10-06-2023")

(would surely add screenshots after completing the feature)
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC 23 contributor
[X] I want to work on this issue

The BSE class is not giving results when multiple requests are made. I would also try to fix this problem under this issue.

Go ahead @brohithkr
Note

Create a separate module for this, as per the folder and project structure

@nikhil25803 I'm thinking to add this feature to finance module. So I am thinking to add crypto.py inside finance module and you can use CRYPTO class by putting stock_index parameter of StockPrice class as "crypto" instead of "nse" or "nasdaq". What do you think about this ?


Provide more examples for the tmpfs option

Proposed changes
Discovered that it's possible to pass more parameters to the tmpfs options that aren't documented anywhere.  The source for this was in https://github.com/docker/compose/issues/3425#issuecomment-217914305, and have confirmed this is working locally.
Unreleased project version (optional)

Related issues (optional)

Close and reopen the PR to trigger CI checks


feat(project): support cpu-only mode

Take siliconcloud as model API
Support CPU-only RAG

#356


Reorganized the workflows and added better versioning

Functional reorg should make our workflows more easily navigable. Versioning through numbered directories should ensure that going forward, links used in repositories will not break when the next version comes out. This is a prerequisite to registering workflows in Dockstore.

(suggestion: ) @kshakir has tuned me into "semantic versioning" which would make all these version numbers 1.0.0

I'm not opposed to it in principle, but I'm not sold on the need for the third level of granularity. Could you outline briefly how you think it should be applied and how it would help?

Quoting the spec:

PATCH version when you make backwards-compatible bug fixes

I doubt it would be used often.  I think you could use it like cromwell and just omit trailing 0's.
Again, not super important, just thought it was worth a look.

That was actually quite an interesting read, thanks for linking to it. Now I'm thinking it probably would make sense to also include a patch number, just to be safe in case we need it down the road. That would allow us to fix typos or amend documentation in the WDLs without disrupting the major/minor numbering. Thanks for bringing this up!

Converted to semantic versioning; looking more closely at the early versions of the prod pipelines they were all just patch versions, so that's already come in handy. Thanks again @danbills


write problem

I am reading in this file: http://www.kgs.ku.edu/software/PfEFFER-java/HELP/New_Session/12345b.las
which seems to work fine. then
l = las_reader.read("12345a.las")
Then i try to write it using:
l.write('foo.las',2)
but this gives me an error:
 in ()
----> 1 l.write('foo.las')
/home/bdi/virtualenvs/p27/local/lib/python2.7/site-packages/las_reader/las.pyc in write(self, file, version)
251                 l_value = len(str(vm.value))
252         for vm in list(self.version.values()):
--> 253             vm_d = vm.todict()
254             vm_d['mnemonic'] = vm_d['mnemonic'].rjust(l_mnem)
255             vm_d['value'] = str(vm_d['value']).rjust(l_value)
AttributeError: 'Metadata' object has no attribute 'todict'
Is there an example on how i should write a file?
Can this library actually write las 2.0 files?

Strange error, I'm finding it too. Looking into it.

Try updating to the latest version (0.4.1) either via pip or the releases page here on Github. The code shown there on lines 251-255 is old code where it was unable to write las 2.0 files properly.

The write method needs an open file-like object rather than a filename -- I've added a docstring to make this clear. So use for example:

l = las_reader.read("12345b.las")
with open("12345b_version2test.las", mode="w") as f:
    l.write(f, 2)

That is working for me. Let me know if you still have a problem.

...and thanks for the suggestion, I will put an example in the readme.


Add higher level wrappers for smart contracts (similar to neon-js experimental)

It would be useful to have higher level wrappers for contracts to simplify contract interaction, similar to experimental in neon-js, where I can load an account, select a node, then create a wrapper around one (or more?) contracts. Ideally I'd be able to add multiple signers with scopes, have the wrapper handle the sys/netfee calculation, and be able to easily swap between test and persisted transactions (experimental.invoke vs experimental.testInvoke).
As a bonus, it would be great if it was able to chain multiple invoke steps in a single tx (which is not currently able in neon-js AFAIK).

Re-opening as it's not completely solved. The linked PR got quite big so we're splitting the work. test_invoke exists, invoke with the signing, fee handling etc will be done in a separate PR.

I believe this is done with the merge of #202. As said in https://github.com/CityOfZion/neo-mamba/pull/202#issuecomment-1280599384 the invoke_multi* convenience commands will be added in a separate PR (probably after the first release). But it is still possible to chain contract calls manually using the ScriptBuilder class


I can't build go-sqlite3 on windows/amd64

C:\Users\xxx\Desktop\firefox\src\github.com>go version
go version go1.7.1 windows/amd64
C:\Users\xxx\Desktop\firefox\src\github.com>go install github.com/mattn/go-sqlit
e3
github.com/mattn/go-sqlite3
exec: "gcc": executable file not found in %PATH%
C:\Users\xxx\Desktop\firefox\src\github.com>
how to resolve this issue? thanks

install gcc.

from the README：
if you install go-sqlite3 with go install github.com/mattn/go-sqlite3, you don't need gcc to build your app anymore.


[action] remove Title: and Body: from request

Context: https://github.com/jonathanpeppers/inclusive-heat-sensor/pull/29
As seen in #29, the word "Body:" can throw off the LLM.
Let's remove these and just include the text with a line break after the title.

Looks correct:


Migrate sonarqube-backend plugin to the new backend system

Hey, I just made a Pull Request!
Migrate sonarqube-backend plugin to the new backend system to contribute to the issue  #18301

:heavy_check_mark: Checklist

[X] A changeset describing the change and affected packages. (more info)
[X] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[X] All your commits have a Signed-off-by line in the message. (more info)

Thanks for the PR, there are some fixes required and it would be great to add a test for the new sonarqubePlugin

Hi jhaals,
I have tried to address all the comments, if there's any mistakes let me know. I'm not sure how to test the new sonarqubePlugin as I was following the other backend plugins that have been merged and couldn't see tests that have been added

This looks better with the router now being wired up properly.
The diff for yarn.lock is however very large so this branch is either out of date or you might have forgot to run yarn

Hi @jhaals,
Think the issue with the yarn.lock should now be fixed? Is there any other comments in relation to this PR?

There's still a change needed to yarn.lock but a fairly small one. You can see that the post validation step is currently failing because yarn produces as diff. So if you commit the lock file from running yarn. It should be a quite small change.


Form Validation Error: Callback being called even if required field is empty

Hi, I've got this problem in some form validations, I still do not know if this is a bug from CodeIgniter.
The problem is:
In validation of required fields that also need pass over callbacks validations, the callback is being called even if the required field is empty.
Example:
// $_POST['email'] is empty,

$this->form_validation->set_rules('email', 'Email test', 'trim|required|callback_test');

.......

public function test($email)
{
    // this function should not be called if the email is empty, but it is being called
    die('Email is not empty');
}

Not a bug.


Try not to allow "none" as a profile choice

Is your feature request related to a problem? Please describe
I skipped over the default "none" profile choice in

https://github.com/shaal/DrupalPod/issues/124

And it led to catastrophic results
Describe the solution you'd like
Remove "none", make "demo_umami" or "default" the default profile.

I mostly use DrupalPod for testing Drupal patches/MRs.
My vote would be to set the default for standard; while still allowing all the other options.
Is there a repo for the Chrome extension so I can submit a PR?


[5.9] [CS] Diagnose UnresolvedPatternExprs as part of constraint solving

5.9 cherry-pick of #66593

Explanation: Fixes a crash that could occur when attempting to write a binding pattern within an expression pattern
Scope: Affects the type-checking of invalid ExprPatterns
Issue: rdar://110638279
Risk: Low, only affects invalid expression patterns
Testing: Added tests to test suite
Reviewer: Pavel Yaskevich

@swift-ci please test


Define Model trait

Define Model trait to abstruct usual layers such as linear layer and composite layers.
This trait demands following method to be implemented:

forward(&self, x: Function) -> Function: Construct computational graph for the layer, not performing actual computing.
update_parameters(&self, opt, &Optimizer): Update parameters in the layer by using opt.

To enumerate learning parameters in a sequence of Model, each Model should know the previous one.
So define apply(&self, x: Model) -> Model and redefine forward(&self, x: Variable) in Model.
In the forward(), implementing struct holds previous Model.
// This is pseudo code
fn apply(&self, x: Model) -> Model {
    // initialize parameters
    self.previous = x;
}

fn forward(&self, x: Function) -> Function {
    let input = self.previous.forward(x);
    // Return `Function` of each impl
}


Structure field offset as a data type

Situation: AmigaOS, library calls are: jsr -$xxx(A6).
To deal with that I created a structure, which contains such fields:
typedef struct {
  byte[6] func0; // -0x228
  byte[6] func1; // -0x222
  byte[6] func2; // -0x21C
  byte[6] func3; // -0x216
  // ...
  dword base; // 0x000
} AmigaLib;

After the OpenLibrary call AmigaOS returns an address of base field into A6 register. After that you must use negative offsets to call func0, func1, etc.
The problem starts here:
  *(dword **)&r->exec_base = &AmigaLib_00001000.base;
  pbVar1 = r->exec_base;
  iVar2 = (*(code *)(pbVar1 + -0x228))();

Here the program stores an offset to the loaded library base into variable, then uses it to jump to functions.
I want to specify that exec_base field points to the specific structure field, so then the decompiler will be able to use that information to calculate an offset to the func0 call.
For example, it may look like:

In IDA it is possible to specify that by pressing Ctrl+R and specifying reference information here, but using real address only. But you also able to specify that some integer is an offset to some field in some structure by pressing T.

Without that feature it is not possible to deal with negative offset virtual function table calls in AmigaOS.

I think it relates to #573.


Add stub files generation and installation

See https://github.com/rdkit/rdkit/issues/3591 and https://github.com/rdkit/rdkit/issues/5588 for context.
The goal of this PR is to generate stub files for the RDKit Python library. The generation is done with the command called stubgen coming from the mypy library. This is the only dependency that must be added to the rdkit local env and CI env (mamba install mypy).
The generated *.pyi files can be then used by any text editor or checker tool to provide things like autocompletion, type checking, etc.
The default logic is to build the stub files, and it can be turned OFF with -DRDK_GENERATE_PYTHON_STUBS=OFF.

I tried hard to do it the "CMake way" using add_custom_target, add_dependencies and add_custom_command but I could not make it work. I think the complexity here comes from the need to call stubgen on an installed Python module.
That being said, the current logic is probably good enough: it executes the stubgen command after all the Python-related targets have been installed. The generation is performed directly into the installed Python rdkit module.

@greglandrum a friendly ping to see whether you could be interested in that PR?

The correct type annotations for this example, based on the rdkit.Chem.rdchem.MolBundle documentation, is
from typing import Any, ClassVar, overload

class MolBundle(Boost.Python.instance):
    __instance_size__: ClassVar[int] = ...
    def __init__(arg1, /) -> None: ...
    def AddMol(arg1, arg2: Mol, /) -> int: ...
    def GetMol(arg1, arg2: int, /) -> Mol: ...
    def Size(arg1, /) -> int: ...
    @overload
    def GetSubstructMatch(self, query: Mol, useChirality: bool = ..., useQueryQueryMatches: bool = ...) -> Any: ...
    @overload
    def GetSubstructMatch(self, query: MolBundle, useChirality: bool = ..., useQueryQueryMatches: bool = ...) -> Any: ...
    @overload
    def GetSubstructMatch(self, query: Mol, params: SubstructMatchParameters) -> Any: ...
    @overload
    def GetSubstructMatch(self, query: MolBundle, params: SubstructMatchParameters) -> Any: ...
    @overload
    def GetSubstructMatches(self, query: Mol, uniquify: bool = ..., useChirality: bool = ..., useQueryQueryMatches: bool = ..., maxMatches: int = ...) -> Any: ...
    @overload
    def GetSubstructMatches(self, query: MolBundle, uniquify: bool = ..., useChirality: bool = ..., useQueryQueryMatches: bool = ..., maxMatches: int = ...) -> Any: ...
    @overload
    def GetSubstructMatches(self, query: Mol, params: SubstructMatchParameters) -> Any: ...
    @overload
    def GetSubstructMatches(self, query: MolBundle, params: SubstructMatchParameters) -> Any: ...
    @overload
    def HasSubstructMatch(self, query: Mol, recursionPossible: bool = ..., useChirality: bool = ..., useQueryQueryMatches: bool = ...) -> bool: ...
    @overload
    def HasSubstructMatch(self, query: MolBundle, recursionPossible: bool = ..., useChirality: bool = ..., useQueryQueryMatches: bool = ...) -> bool: ...
    @overload
    def HasSubstructMatch(self, query: Mol, params: SubstructMatchParameters) -> bool: ...
    @overload
    def HasSubstructMatch(self, query: MolBundle, params: SubstructMatchParameters) -> bool: ...
    def __getitem__(arg1, arg2: int, /) -> Mol: ...
    def __len__(arg1, /) -> int: ...
    def __reduce__(arg1, /) -> Any: ...

Limitations of stubgen aside, the type signatures generated will cause an abundant number of false positives. Just from the following snippet,
class MolBundle(Boost.Python.instance):
    @classmethod
    def __init__(cls, *args, **kwargs) -> None: ...
    @classmethod
    def AddMol(cls, RDKit, boost) -> Any: ...
    @classmethod
    def GetMol(cls, RDKit, unsignedlong) -> Any: ...

Boost Python makes no use of @classmethod, so there should be nothing decorated with it in any stubs;
AddMol and GetMol both have the wrong number of arguments, and the wrong names for these arguments; it seems as if stubgen tried to use the C++ signature C++ signature :

     unsigned long AddMol(RDKit::MolBundle {lvalue},boost::shared_ptr<RDKit::ROMol>)
                          ^^^^^                     ^^^^^

 ...

 C++ signature :

     boost::shared_ptr<RDKit::ROMol> GetMol(RDKit::MolBundle {lvalue},unsigned long)
                                            ^^^^^                     ^^^^^^^^^^^^^

to infer the arguments, which will cause any non-*args, **kwargs signatures generated by stubgen for instance methods to have one more argument than than they're supposed to.

For these stubs to aid in basic code completion and method calling, it would be necessary to turn methods produced by stubgen  all into the permissive (*args, **kwargs) -> Any so that linters won't generate a copious number of false positives.

Thanks @bzoracler, for looking into that. The generated stubs give you the correct method for a given method, but you are right the signatures are messed up.
Unfortunately, I don't really know how to fix that at the moment. It would be great to be able to generate the correct args without setting all of them to (*args, **kwargs) -> Any.

xref with https://github.com/python/mypy/issues/14094 as it might be relevant.

Thanks @bzoracler, for looking into that. The generated stubs give you the correct method for a given method, but you are right the signatures are messed up.
Unfortunately, I don't really know how to fix that at the moment. It would be great to be able to generate the correct args without setting all of them to (*args, **kwargs) -> Any.

This is out of anyone's hands, including RDKit's. The first step is to suggest to Boost.Python to generate valid Python syntax in the documentation strings. For example,

GetSubstructMatch((MolBundle)self, (Mol)query[, (bool)useChirality=False[, (bool)useQueryQueryMatches=False]]) → object

has the complete information to write a Python stub, but is invalid Python syntax. I wouldn't try to parse this e.g. using regex or similar, just because of situations like in https://www.rdkit.org/docs/source/rdkit.Chem.rdMMPA.html:

rdkit.Chem.rdMMPA.FragmentMol((Mol)mol[, (int)maxCuts=3[, (int)maxCutBonds=20[, (str)pattern='[#6+0;!$(*=, #[!#6])]!@!=!#[*]'[, (bool)resultsAsMols=True]]]]) → tuple :

Once Boost.Python revises how it generates its Python signature, then it'll be easier to convince the developers of stubgen or other programs to make a parser for the Boost.Python docstrings. The necessary modifications to the docstrings should all be in
https://github.com/boostorg/python/blob/develop/src/object/function_doc_signature.cpp and the associated header at https://github.com/boostorg/python/blob/develop/include/boost/python/object/function_doc_signature.hpp.

Thanks for the details. It's too bad Boost Python can't handle that. That old ticket might be relevant as well: https://github.com/boostorg/python/issues/277
I will close here for now.


steps_per_execution autotune

System information.
TensorFlow 2.9
Are you willing to contribute it (No)
Describe the feature and the current behavior/state.
steps_per_execution reduces the number of round trips to the GPU and as such makes it possible to make better use of the GPU without having to resort to larger batch sizes
It would be nice if the number does not need to be specified but can be determined automatically to maximize performance - in the same spirit as tf.data.AUTOTUNE. I have no idea how that could be accomplished though.
Will this change the current api? How?
No - it could be a magic constant like AUTOTUNE
Who will benefit from this feature?
Everyone

Hi @kvarekamp,
Could you elaborate about your Feature. Also, please specify the Use Cases for this feature. Thank you!

model.compile() has a steps_per_execution param that allows you to send say 10 batches to the GPU at once. Rather than tuning this param manually (increasing it until the GPU starts throwing errors) it would be nice if keras can tune it for you and set it to the max number of batches that your GPU can handle (for example by setting steps_per_execution=AUTO).  The use case would be any model running on a GPU with room to spare.

Thanks @kvarekamp for the request! We have a autotuning callback that's currently WIP. We are currently a bit short on resources but this remains a high priority.

I would like to better understand why this parameter needs autotuning. Will appreciate if someone can help by looking over these questions:
Is it sufficient to always set steps_per_execution to a very high number?
What impact does setting steps_per_execution to a high number have on memory, CPU, and device resource utilization?
Are there any concerns about model accuracy when using a very high steps_per_execution, or will models with different steps_per_execution values always converge to the same metrics? (In contrast, very large batch sizes can negatively impact model performance, as discussed in this post and paper).
For distributed strategies such as TPUStrategy, is there any concern about setting a very large steps_per_execution? When do the gradient all-reduces happen across pod devices when using large steps_per_execution values? Does the optimizer.apply_gradients behavior change with large steps_per_execution values?

Also cc'ing @grasskin as Gabriel has been researching into this.
steps_per_execution is indeed one of the key parameters that affect the performance (and possibly, to a lesser extent, the model quality) we're trying to understand. The only knowledge we have currently is that a number that's too low would make the training suffer from low throughput. As for the upper bound, we have less information, but in theory the steps per execution can't be so large comparing with steps per epoch that some workers end up being idle because a fraction of the workers have taken up all the steps. A large steps per execution likely also have negative impact when the eviction/preemption of the workers is common. The training step though, including the forward and backward (gradient application) passes, is in theory not affected by the steps per execution.

Setting the steps_per_execution parameter to a large value can speed up the training process on toy datasets (device utilization goes up), but it may cause problems when training on larger datasets or using medium-sized TPU pods such as v3-128. In these cases, setting steps_per_execution to a large value can lead to nan losses, even without using learning rate scheduling callbacks. This issue can be difficult to debug because it only occurs when training with a large number of devices. It would be helpful to have a tutorial or resource that provides guidance, details / gotchas on the appropriate upper bounds for steps_per_execution based on the size of the dataset and the number of replicas and batch sizes being used.

Thanks @kvarekamp for the request! We have a autotuning callback that's currently WIP. We are currently a bit short on resources but this remains a high priority.

Hi @rchao, any update on this?

Hi @innat, I'm preparing to release a callback that autotunes steps_per_execution. We've been able to see a significant speedup especially in distributed systems. The callback is still going through testing but we're hoping to release it this quarter. I'll update this issue when it's released!

Hi @grasskin. Any updated timeline on this callback? Would love to put it into action. Thanks

Hi @feelmyyears, we still have to add more information on this in documentation and tutorials, but if you're using the nightly version of Keras you can try it out by setting compile(..., steps_per_execution='auto'). Let me know if you run into any issues.

Note this is still highly experimental and final implementation/results might vary.


[Dialog] Align disableOutsidePointerEvents to trapFocus prop

Description
We were trying to use forceMount on our Dialog implementation of the component. Our idea is to have the modals be in the DOM but not visible until the Trigger is clicked.
Doing this, we noticed that the trapFocus worked correctly but the disableOutsidePointerEvents prop was adding pointer-events: none to a lot of elements so you couldn't interact with the page.
By aligning this behavior with trapFocus, everything works as intended and the pointer event styles aren't added if the modal is closed.

Can someone take a look at this please?


node-gyp rebuild fails if --unsafe-perm is not set for sudo npm install -g

I installed homebridge using node 6 on raspberry pi v1.
It is needed to run sudo npm install -g homebridge --unsafe-perm (note the last option) or mdns will fail to build.
Sudo is needed to use the -g option but then node-gyp doesn't understand where to build anymore:
node-gyp rebuild
gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/6.0.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/lib/node_modules/homebridge/node_modules/mdns/.node-gyp"

I'm sorry, but nothing in this seems related to mdns. Also, I do not understand why you think this is a bug. To me it seems the --unsafe-perm flag is specifically designed to work around such cases.
According to the documentation --unsafe-perm defaults to false when running as root (sudo). That means npm will drop privileges before running scripts (node-gyp). node-gyp wants to download stuff into $HOME/.node-gyp/ which fails because it does not have permissions to do that...

@wind-rider did you solve installation problem? I have the same with homebridge on synology
sudo npm i -g mdns
node: /lib/libstdc++.so.6: no version information available (required by node)
node: /lib/libstdc++.so.6: no version information available (required by node)

><EMAIL_ADDRESS>install /volume1/homes/admin/node-v6.2.2-linux-x86/lib/node_modules/mdns
> node-gyp rebuild

node: /lib/libstdc++.so.6: no version information available (required by node)
node: /lib/libstdc++.so.6: no version information available (required by node)
gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/6.2.2"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/volume1/homes/admin/node-v6.2.2-linux-x86/lib/node_modules/mdns/.node-gyp"
node: /lib/libstdc++.so.6: no version information available (required by node)
node: /lib/libstdc++.so.6: no version information available (required by node)
gyp: Call to 'node -e "require('nan')"' returned exit status 0 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/volume1/homes/admin/node-v6.2.2-linux-x86/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:305:16)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12)
gyp ERR! System Linux 3.2.40
gyp ERR! command "/volume1/homes/admin/node-v6.2.2-linux-x86/bin/node" "/volume1/homes/admin/node-v6.2.2-linux-x86/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /volume1/homes/admin/node-v6.2.2-linux-x86/lib/node_modules/mdns
gyp ERR! node -v v6.2.2
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
npm ERR! Linux 3.2.40
npm ERR! argv "/volume1/homes/admin/node-v6.2.2-linux-x86/bin/node" "/usr/local/bin/npm" "i" "-g" "mdns"
npm ERR! node v6.2.2
npm ERR! npm  v3.9.5
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the mdns package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs mdns
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls mdns
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /volume1/homes/admin/node-v6.2.2-linux-x86/bin/npm-debug.log

@troyanskiy that depends on what you call "solved" -> I used --unsafe-perm and after that I haven't tried it anymore


Initial configuration

Hi @f4z3r,
I use auto-dark-mode to change my neovim background to dark or light depending on my machine settings.
This behavior was not being reflected within the gruvbox-material palette. The palette would be calculated only at the initial loading stage of the plugin and not anymore.
Commenting these lines out:
https://github.com/f4z3r/gruvbox-material.nvim/blob/9143e172617e708d6588f424772ef20340877dd9/lua/gruvbox-material/init.lua#L26-L30
And:
https://github.com/f4z3r/gruvbox-material.nvim/blob/9143e172617e708d6588f424772ef20340877dd9/lua/gruvbox-material/init.lua#L38
Solves the issue. Changing the background manually or via the auto-dark-mode plugin, effectively changes the color palette as expected.
Is there a reason on why this check exists? Or can it be safely removed?

Hi @dot-1q , thanks for submitting this issue. I took over the repo from someone else and thus I can't tell you off the top of my head why the check exists. I will have a look at it tomorrow to have it working 👍🏽

I tested your proposed changes, and it does dynamically update the theme by just setting set background=light and back. I am a bit unsure about the unloading of the package itself, but as far as I could tell, there was no additional calls to the setup that were unnecessarily triggered 👍🏽
Thanks for submitting the issue and the proposed changes 💯
Fix is released in version 0.1.4


[App] Sweep does not re-run failed runs, even after deleting

When I create a sweep grid search, I want to explore all possible parameter configurations. Sometimes however, some runs fail because of an implementation bug or just due to network issues. When I delete these failed runs from the sweep while it is running, these runs will not be repeated. As soon as the sweep reaches the predefined number of runs, it will go on "pause" mode. Then after reactivating the sweep, the remaining runs will be finished. This is increasingly annoying since I often fix bugs on the fly and expect failed runs to be completed when I delete them from the already running sweep.
Interestingly, I did not observe this behaviour a couple months ago - I feel like this must have changed with a recent update.
Best,
Max

Hi @zimmer-m is the blocker that your sweeps sit "nominally" finished for a while or simply that this happens often enough that reactivating it manually is a big hassle?

Hey @zimmer-m wondering if you've had a chance to look at this. If it's no longer an issue we'd like to close this.

Hi @aidanjdonohue, reactivating manually is indeed a big hassle, I have large sweeps where I'd like to simply delete the failed runs when something unexpected happens, without having to send jobs to the cluster again.
A bigger problem however, which is noticed after writing the above, is that some sweeps, where I manually delete failed runs and click on resume after it has finished, are unable to send jobs to the agents. In other words, the agents can stay forever in an idle mode waiting for a job that never comes. This seems like a proper bug.

Hi @zimmer-m that does sound like a proper bug. Could you link me to the sweeps page where this is happening so I can take a look things?

Unfortunately I cannot point you to a sweep where this happened, I deleted it and redid it as a whole. Will update once this happens again.

Hi @zimmer-m, I wanted to follow up on this issue. Were you able to reproduce this issue in another sweep?

@ramit-wandb Not yet, if you want we can close this issue and I will report back as soon as I notice the error again.

Sure, you can comment here again if you see this error and we can pick it up from there!

Hi @zimmer-m is the blocker that your sweeps sit "nominally" finished for a while or simply that this happens often enough that reactivating it manually is a big hassle?

I've also ran into this issue multiple times and did not know that reactivating the sweep solves this issue. This is definitely a bug IMO.
Regarding reproduction, this can easily be replicated by introducing any bug that causes a run to fail. E.g. renaming the script specified in the grid sweep such that it won't be able to find it anymore.

i am facing the same issue right now. i have a sweep, and several runs failed. my sweep is still in "running" state, so i deleted the failed runs and started another worker to re-run them. the worker is sitting idle.
wandb: Starting wandb agent 🕵
2022-11-14 09:47:35,718 - wandb.wandb_agent - INFO - Running runs: []

i still have a few runs running, so once they finish, i will stop the sweep and then resume it. i hope this will prompt the worker to pick up the deleted runs.
my sweep is at https://wandb.ai/kaczmarj/champkit-journal/sweeps/4dd840ch


Create reusable AsyncCaller class for calling "expensive" resources like APIs or LLMs

This class contains generic logic useful for calling any "expensive" resource, eg. an API or LLM. This logic up to now has lived in various forms in subclassess of BaseLLM. As a follow on this will be applied across all those places.
As a follow on to this and to #277 will open a future PR using this in BaseLanguageModel

@agola11 it makes it super easy to work around api rate limits (ie. queue up requests instead of having them fail), it's disabled by default

kk makes sense, thanks!


fix read property when node.op2type is pay/payl ( #2399 )

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

Proposed changes

This PR is a fix of #2399.
In TriggerNode, when the following option is selected, msg object is handled instead of msg.payload.

the original msg object
the latest msg object

Checklist

[x] I have read the contribution guidelines
[ ] For non-bugfix PRs, I have discussed this change on the mailing list/slack team.
[x] I have run grunt to verify the unit tests pass
[ ] I have added suitable unit tests to cover the new/changed functionality

Coverage increased (+0.03%) to 77.593% when pulling c04bd2e73aed9d54e6c6d44cf55b187ead4353ef on okhiroyuki:fix-trigger-node-read-property-error into a4c351fd4f4114d11f516b40c5c0d770b7c087e5 on node-red:master.

Thanks for proposing this fix, however I think there is a different way to address it that would help prevent other errors.
RED.util.cloneMessage(arg) needs to handle the case where arg is undefined without throwing an error.
I've pushed this fix here: 0f1ca1c7cf200d436e0cb0feb6a308c6f4a56c03


Spara/crosswalk

Proposed changes
suggested changes to docs
Unreleased product version (optional)

Related issues (optional)

Closed in https://github.com/pulumi/docs/pull/1864
Commit: https://github.com/pulumi/docs/pull/1864/commits/95ed8a1d2060f3b2482a7edac06458ff20cb6e82


HTTP Publish requests are not checked against the ACL

HTTP Publish requests are authenticated but not checked against the ACL. It's a serious security problem. Please, fix it as soon as possible.

I also faced with the same issue. Please fix it.


LiDAR Sensor

What LiDAR Sensor is used in the dataset? Some additional characteristics, specifically the vertical nr. of scanlines are helpful for specific data representations such as range images. I presume the Velodyne Alpha prime?

RoboSense RS32


Added config to rollout storage account

Creating storage account to restore the VMs.

Plan Result (nonprod_general - TerraformPlanApply)
Plan: 1 to add, 1 to change, 0 to destroy.

Create

azurerm_storage_account.this

Update

azurerm_application_gateway.ag

Change Result (Click me)

  # azurerm_application_gateway.ag will be updated in-place
  ~ resource "azurerm_application_gateway" "ag" {
        id                                = "/subscriptions/b7d2bd5f-b744-4acc-9c73-e068cec2e8d8/resourceGroups/atlassian-nonprod-rg/providers/Microsoft.Network/applicationGateways/atlasssian-nonprod-app-gateway"
        name                              = "atlasssian-nonprod-app-gateway"
        tags                              = {
            "application"  = "atlassian"
            "builtFrom"    = "hmcts/atlassian-infrastructure"
            "businessArea" = "Cross-Cutting"
            "criticality"  = "Medium"
            "environment"  = "staging"
            "startupMode"  = "always"
        }
        # (8 unchanged attributes hidden)

      - probe {
          - id                                        = "/subscriptions/b7d2bd5f-b744-4acc-9c73-e068cec2e8d8/resourceGroups/atlassian-nonprod-rg/providers/Microsoft.Network/applicationGateways/atlasssian-nonprod-app-gateway/probes/appgw-probe-cnf" -> null
          - interval                                  = 30 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "appgw-probe-cnf" -> null
          - path                                      = "/confluence" -> null
          - pick_host_name_from_backend_http_settings = true -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 30 -> null
          - unhealthy_threshold                       = 3 -> null
            # (1 unchanged attribute hidden)

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - id                                        = "/subscriptions/b7d2bd5f-b744-4acc-9c73-e068cec2e8d8/resourceGroups/atlassian-nonprod-rg/providers/Microsoft.Network/applicationGateways/atlasssian-nonprod-app-gateway/probes/appgw-probe-crd" -> null
          - interval                                  = 30 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "appgw-probe-crd" -> null
          - path                                      = "/crowd" -> null
          - pick_host_name_from_backend_http_settings = true -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 30 -> null
          - unhealthy_threshold                       = 3 -> null
            # (1 unchanged attribute hidden)

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - id                                        = "/subscriptions/b7d2bd5f-b744-4acc-9c73-e068cec2e8d8/resourceGroups/atlassian-nonprod-rg/providers/Microsoft.Network/applicationGateways/atlasssian-nonprod-app-gateway/probes/appgw-probe-jira" -> null
          - interval                                  = 30 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "appgw-probe-jira" -> null
          - path                                      = "/jira/status" -> null
          - pick_host_name_from_backend_http_settings = true -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 30 -> null
          - unhealthy_threshold                       = 3 -> null
            # (1 unchanged attribute hidden)

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      + probe {
          + id                                        = (known after apply)
          + interval                                  = 30
          + minimum_servers                           = 0
          + name                                      = "appgw-probe-cnf"
          + path                                      = "/confluence"
          + pick_host_name_from_backend_http_settings = true
          + protocol                                  = "Http"
          + timeout                                   = 30
          + unhealthy_threshold                       = 3
            # (1 unchanged attribute hidden)
        }
      + probe {
          + id                                        = (known after apply)
          + interval                                  = 30
          + minimum_servers                           = 0
          + name                                      = "appgw-probe-crd"
          + path                                      = "/crowd"
          + pick_host_name_from_backend_http_settings = true
          + protocol                                  = "Http"
          + timeout                                   = 30
          + unhealthy_threshold                       = 3
            # (1 unchanged attribute hidden)
        }
      + probe {
          + id                                        = (known after apply)
          + interval                                  = 30
          + minimum_servers                           = 0
          + name                                      = "appgw-probe-jira"
          + path                                      = "/jira/status"
          + pick_host_name_from_backend_http_settings = true
          + protocol                                  = "Http"
          + timeout                                   = 30
          + unhealthy_threshold                       = 3
            # (1 unchanged attribute hidden)
        }

      - request_routing_rule {
          - http_listener_id            = "/subscriptions/b7d2bd5f-b744-4acc-9c73-e068cec2e8d8/resourceGroups/atlassian-nonprod-rg/providers/Microsoft.Network/applicationGateways/atlasssian-nonprod-app-gateway/httpListeners/appgw-http-listener" -> null
          - http_listener_name          = "appgw-http-listener" -> null
          - id                          = "/subscriptions/b7d2bd5f-b744-4acc-9c73-e068cec2e8d8/resourceGroups/atlassian-nonprod-rg/providers/Microsoft.Network/applicationGateways/atlasssian-nonprod-app-gateway/requestRoutingRules/appgw-routing-rule" -> null
          - name                        = "appgw-routing-rule" -> null
          - priority                    = 1 -> null
          - rule_type                   = "PathBasedRouting" -> null
          - url_path_map_id             = "/subscriptions/b7d2bd5f-b744-4acc-9c73-e068cec2e8d8/resourceGroups/atlassian-nonprod-rg/providers/Microsoft.Network/applicationGateways/atlasssian-nonprod-app-gateway/urlPathMaps/appgw-url-map-path" -> null
          - url_path_map_name           = "appgw-url-map-path" -> null
            # (8 unchanged attributes hidden)
        }
      + request_routing_rule {
          + backend_address_pool_id     = (known after apply)
          + backend_address_pool_name   = "appgw-backend-pool-cnf"
          + backend_http_settings_id    = (known after apply)
          + backend_http_settings_name  = "appgw-backend-settings-cnf"
          + http_listener_id            = (known after apply)
          + http_listener_name          = "appgw-http-listener"
          + id                          = (known after apply)
          + name                        = "appgw-routing-rule"
          + priority                    = 1
          + redirect_configuration_id   = (known after apply)
          + rewrite_rule_set_id         = (known after apply)
          + rule_type                   = "PathBasedRouting"
          + url_path_map_id             = (known after apply)
          + url_path_map_name           = "appgw-url-map-path"
            # (2 unchanged attributes hidden)
        }

        # (18 unchanged blocks hidden)
    }

  # azurerm_storage_account.this will be created
  + resource "azurerm_storage_account" "this" {
      + access_tier                        = (known after apply)
      + account_kind                       = "StorageV2"
      + account_replication_type           = "LRS"
      + account_tier                       = "Standard"
      + allow_nested_items_to_be_public    = true
      + cross_tenant_replication_enabled   = true
      + default_to_oauth_authentication    = false
      + dns_endpoint_type                  = "Standard"
      + https_traffic_only_enabled         = true
      + id                                 = (known after apply)
      + infrastructure_encryption_enabled  = false
      + is_hns_enabled                     = false
      + large_file_share_enabled           = (known after apply)
      + local_user_enabled                 = true
      + location                           = "uksouth"
      + min_tls_version                    = "TLS1_2"
      + name                               = "atlassiannonprod"
      + nfsv3_enabled                      = false
      + primary_access_key                 = (sensitive value)
      + primary_blob_connection_string     = (sensitive value)
      + primary_blob_endpoint              = (known after apply)
      + primary_blob_host                  = (known after apply)
      + primary_blob_internet_endpoint     = (known after apply)
      + primary_blob_internet_host         = (known after apply)
      + primary_blob_microsoft_endpoint    = (known after apply)
      + primary_blob_microsoft_host        = (known after apply)
      + primary_connection_string          = (sensitive value)
      + primary_dfs_endpoint               = (known after apply)
      + primary_dfs_host                   = (known after apply)
      + primary_dfs_internet_endpoint      = (known after apply)
      + primary_dfs_internet_host          = (known after apply)
      + primary_dfs_microsoft_endpoint     = (known after apply)
      + primary_dfs_microsoft_host         = (known after apply)
      + primary_file_endpoint              = (known after apply)
      + primary_file_host                  = (known after apply)
      + primary_file_internet_endpoint     = (known after apply)
      + primary_file_internet_host         = (known after apply)
      + primary_file_microsoft_endpoint    = (known after apply)
      + primary_file_microsoft_host        = (known after apply)
      + primary_location                   = (known after apply)
      + primary_queue_endpoint             = (known after apply)
      + primary_queue_host                 = (known after apply)
      + primary_queue_microsoft_endpoint   = (known after apply)
      + primary_queue_microsoft_host       = (known after apply)
      + primary_table_endpoint             = (known after apply)
      + primary_table_host                 = (known after apply)
      + primary_table_microsoft_endpoint   = (known after apply)
      + primary_table_microsoft_host       = (known after apply)
      + primary_web_endpoint               = (known after apply)
      + primary_web_host                   = (known after apply)
      + primary_web_internet_endpoint      = (known after apply)
      + primary_web_internet_host          = (known after apply)
      + primary_web_microsoft_endpoint     = (known after apply)
      + primary_web_microsoft_host         = (known after apply)
      + public_network_access_enabled      = true
      + queue_encryption_key_type          = "Service"
      + resource_group_name                = "atlassian-nonprod-rg"
      + secondary_access_key               = (sensitive value)
      + secondary_blob_connection_string   = (sensitive value)
      + secondary_blob_endpoint            = (known after apply)
      + secondary_blob_host                = (known after apply)
      + secondary_blob_internet_endpoint   = (known after apply)
      + secondary_blob_internet_host       = (known after apply)
      + secondary_blob_microsoft_endpoint  = (known after apply)
      + secondary_blob_microsoft_host      = (known after apply)
      + secondary_connection_string        = (sensitive value)
      + secondary_dfs_endpoint             = (known after apply)
      + secondary_dfs_host                 = (known after apply)
      + secondary_dfs_internet_endpoint    = (known after apply)
      + secondary_dfs_internet_host        = (known after apply)
      + secondary_dfs_microsoft_endpoint   = (known after apply)
      + secondary_dfs_microsoft_host       = (known after apply)
      + secondary_file_endpoint            = (known after apply)
      + secondary_file_host                = (known after apply)
      + secondary_file_internet_endpoint   = (known after apply)
      + secondary_file_internet_host       = (known after apply)
      + secondary_file_microsoft_endpoint  = (known after apply)
      + secondary_file_microsoft_host      = (known after apply)
      + secondary_location                 = (known after apply)
      + secondary_queue_endpoint           = (known after apply)
      + secondary_queue_host               = (known after apply)
      + secondary_queue_microsoft_endpoint = (known after apply)
      + secondary_queue_microsoft_host     = (known after apply)
      + secondary_table_endpoint           = (known after apply)
      + secondary_table_host               = (known after apply)
      + secondary_table_microsoft_endpoint = (known after apply)
      + secondary_table_microsoft_host     = (known after apply)
      + secondary_web_endpoint             = (known after apply)
      + secondary_web_host                 = (known after apply)
      + secondary_web_internet_endpoint    = (known after apply)
      + secondary_web_internet_host        = (known after apply)
      + secondary_web_microsoft_endpoint   = (known after apply)
      + secondary_web_microsoft_host       = (known after apply)
      + sftp_enabled                       = false
      + shared_access_key_enabled          = true
      + table_encryption_key_type          = "Service"
      + tags                               = {
          + "application"  = "atlassian"
          + "builtFrom"    = "hmcts/atlassian-infrastructure"
          + "businessArea" = "Cross-Cutting"
          + "criticality"  = "Medium"
          + "environment"  = "staging"
          + "startupMode"  = "always"
        }

      + blob_properties (known after apply)

      + network_rules (known after apply)

      + queue_properties (known after apply)

      + routing (known after apply)

      + share_properties (known after apply)

      + static_website (known after apply)
    }

Plan: 1 to add, 1 to change, 0 to destroy.


Discord id

btw can i have you discord ? (not for this project)

What for?

nvm
On Sun, Dec 8, 2024 at 9:45 PM kimoVoid @.***> wrote:

What for?
—
Reply to this email directly, view it on GitHub
https://github.com/kimoVoid/BetaQOL/issues/1#issuecomment-2526298641,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BE3GRZXYNSVZS6VNUSMI74L2ESEDRAVCNFSM6AAAAABTGEFEHWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMRWGI4TQNRUGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Actually i want it for your bw quest plugin

Sorry but this project has nothing to do with that, and I quit making bw related plugins in 2021.

Bro pls i need the src

I spent a lot of time to find you