Implement intrinsic call to RuntimeHelpers.InitializeArray for WASM

RuntimeHelpers.InitializeArray is now implemented as a call to LLVM intrinsic llvm.memcpy.p0i8.p0i8.i32, which copies from generated global constant to provided target array.
Currently the base size of the array object is hard-coded to 8, since no EEType is provided in the intrinsic call. Is there anyway to get the EEType of the object on stack? I don't think the current working around is doing any good, except it's working.

Currently the base size of the array object is hard-coded to 8, since no EEType is provided in the intrinsic call. Is there anyway to get the EEType of the object on stack? I don't think the current working around is doing any good, except it's working.

Might be nice to sprinkle around TODOs:

This should check for cases when RuntimeHelpers.InitializeArray wasn't called in a well-formed sequence (e.g. RuntimeHelpers.InitializeArray(null, default) will likely crash the compiler with InvalidCastException right now.
Handling of multidimensional arrays (this will currently corrupt memory)
Handling the case when the fieldhandle is a handle of a field that has more bytes in it than number of bytes within the array (we'll corrupt memory right now)
Using a GC safe memcpy operator (if a GC happens in the middle of a memcpy, this will corrupt memory)

In general, RyuJIT is a better source of truth than CppCodegen prototype code:
https://github.com/dotnet/coreclr/blob/6ac0222061ac7e4db928c80c3bb925de13843d15/src/jit/importer.cpp#L2923

@Blealtan, this looks like good progress. The base size isn't necessarily 8 -- you'd probably see more cases where InitializeArray gets used in a retail build. There are two options for getting the array's type and base size:

If you dereference the pointer to the array, it will have an eetype pointer, which you can emit a call to get the element size for. This is probably the easiest place to start.
The normal pattern for this would be:

newarr someType[]
ldtoken someRvaField
call RuntimeHelpers.InitializeArray()

You could introduce a new StackEntry type to represent the newarr result that the InitializeArray intrinsic could check for and pull the type out of. That would have the performance advantage of not needing a runtime type check in most cases and could maybe allow more efficient codegen (e.g. by using a version of memcpy with a larger size). It's a bit more complex to implement since it still need to fall back to 1 if the pattern doesn't hold.

You could introduce a new StackEntry type to represent the newarr result ...
I found the Type of the StackEntry is SzArray, which I think is enough for emitting simple codes instead of a new entry type. What do you think? @morganbr

This version looks good if you'd like me to merge it. Of course we'll want to get to length checks, but we don't have them anywhere else and when Roslyn generates these, the length will always be ok.

(We don't have length or null checks anywhere in part because we don't have exception support, so we'd have to redo it anyway when we do. Hopefully our test code doesn't really need length or null checks.)

I've not yet found any usage of InitializeArray generated by Roslyn has length or null issues; at least in our test code, normal usages of InitializeArray (i.e. actually initializing some array instead of directly referenced in code) will work correctly without length check and null check. So, as mdarrays still needs fixes to get created, here I'll leave it unimplemented.
Remove the WIP status now.

Thanks, @Blealtan! This fixes an important code pattern (and should make arrays behave much less mysteriously). Can I interest you in picking up another issue?


Pesto favorite Recipe FAB should respond to taps within the app bar

The app bar's expanded height had it overlapping the favorite "heart" FAB. This prevented the top half of the FAB from responding to taps and it caused the actions menu button to overlap the FAB when the recipe was scrolled up.
Since I added trailing commas in the code I changed to fix the bug, I ended up adding trailing commas everywhere.
The actual fix was just replacing this line from _RecipePageState's build() override:
expandedHeight: _getAppBarHeight(context),

with this
expandedHeight: _getAppBarHeight(context) - _kFabHalfSize,

See https://github.com/flutter/flutter/issues/3280#issuecomment-263368952

@HansMuller this needs tests bro
@chinmaygarde don't LGTM patches like this without tests :-P

Sorry about that, I pushed a fix a few minutes later: https://github.com/flutter/flutter/pull/7067

@chinmaygarde don't LGTM patches like this without tests :-P

Will be more vigilant.


fix: replacing url with re_path

Closes Issue https://github.com/mitodl/ol-django/issues/49
Github workflow is failing with the following exception in urls.py of mail app/module:

Since django.conf.urls was depreciated in django3.0 and removed in django4.0+ so this PR fixes this issue by replacing url with re_path

@MAbdurrehman12 it looks like social-auth-app-django doesn't support Django 4 yet - can you update requirements.txt to also constrain django to <4`?

@MAbdurrehman12 it looks like social-auth-app-django doesn't support Django 4 yet - can you update requirements.txt to also constrain django to <4?

Sure, thanks Nathan!

@rhysyngsun Can you also review this PR please?


Custom input size

Thank you for your great effort.
I am getting the following error when I run inference on image with different size than Cityscapes dataset.
RuntimeError: The size of tensor a (110) must match the size of tensor b (109) at non-singleton dimension 2'
Should I resize the image before passing it to the model?

Yes, and I think the input resolution should be at least divisible by 8.


Change port names to improve usability

Looking at the (great) diagram provided by Wan Yi (see screenshot), I think it would be better for the user if we change the port names to match better between trainer, classifier, and pixel jobs:

Currently, the output ports of the training job are Model 0, Model 1, Model 2, etc., and they are connected to the input ports of the classifying job in a way that they look as if they were one-off:

Model 0 in training connects to Bacground model in classifying job
Model 1 in training connects to Model 0 in classifying job
Model 2 in training connects to Model 1 in classifying job
And so on.

Wouldn't it be better to use only Background model in both jobs for the background model, and use Model 1, Model 2, and so on for models related to foreground layers? Basically, getting rid of any mention to a model 0 or layer 0, and instead substitute these in both jobs by the Background model/layer.
In that case, we need also to get rid of layer 0 in the output ports of the classifying job (as we are identifying this to be the background layer). So, having Background layer for the actual background layer, and Layer 1, Layer 2, and so on for the foreground layers.
I see two advantages on this (dissapearing the layer 0/ model 0 thing and instead use a background layer / background model, and use positive integers for model/layers that are related to the foreround). First, the connection between the two jobs (training and classifying) wouldn't be one-off anymore:

Background model in training connects to Bacground model in classifying job
Model 1 in training connects to Model 1 in classifying job
Model 2 in training connects to Model 2 in classifying job
And so on.
which makes more sense.

And second, the output layers for the classifying job would be: Background Layer for the background layer, and Layer 1, Layer 2, and so on for the foreground layers, which is similar to their use in Pixel.

In summary, my proposal is:

Remove all mention of a Model 0 and Layer 0 in both training and classifying jobs.
Instead, use Bacground model and Background layer to represent the background layer information.
And use model N and layer N, with N a positive integer, to represent foreground layers.


Correction for raw affiliation . Haihe Laboratory of Sustainable Chemical Transformations, Tianjin, 300350, P. R. China.

Correction needed for raw affiliation . Haihe Laboratory of Sustainable Chemical Transformations, Tianjin, 300350, P. R. China.
raw_affiliation_name: . Haihe Laboratory of Sustainable Chemical Transformations, Tianjin, 300350, P. R. China.
new_rors:
previous_rors: 03q99v794
works_examples: W4388580547
contact: cfd3f8576316bdaf756a21418fc88438:461accc39bb8e0a116d44b76ecb5 @ univ-lille.fr

This issue was accepted and ingested by the OpenAlex team on 2024-12-19. The new affiliations should be visible within the next 7 days.


Compliance Scripts Output files have spaces and dots in names

We may want to consider making it such that the names of the output files do not have spaces and dots in them, as it makes them more difficult to deal with.  If the names all follow the pattern with cis_<type>_<subtype>.csv, we wind up with filenames like this:
cis_Asset Management_5.2.csv
cis_Identity and Access Management_1.1.csv
cis_Identity and Access Management_1.3.csv
cis_Identity and Access Management_1.7.csv
cis_Logging and Monitoring_3.17.csv
cis_Object Storage_4.2.csv
cis_summary_report.csv

Although this can be overcome, it could cause issues for downstream scripts and processes that may read this files.
(python-venv) andrew_gre@cloudshell:scripts (us-ashburn-1)$ cat 2021-05-03/cis_Logging and Monitoring_3.17.csv
cat: 2021-05-03/cis_Logging: No such file or directory
cat: and: No such file or directory
cat: Monitoring_3.17.csv: No such file or directory

Fixed in commit: https://github.com/oracle-quickstart/oci-cis-landingzone-quickstart/commit/2a3ed1fb8daaacf813de1f9bf67e264773b418ab


Fix test CI with environment variables

AsIs
Visit: https://github.com/hwakabh/bennu-official/pull/127#issuecomment-1913761056
This pipeline failure is because we have added dependencies of object storage, MinIO, in #127 , but we have not provided environmental variables MINIO_STORAGE_* yet in Test CI.
This change have also been breaking local compose.yaml starting up, so we have to consider this issue with whole design of local development env & production deployment.
ToDo

Fix how we provide object storage store in local environment.

It is the best way to create bucket and fetch its API Key and Secret in container startup process

Update Test CI for fix

(Optional) Acceptance criteria
Test CI will be passed
(Optional) Additional contexts
Relates #127

As we could reproduced this issue on local environment with running python manage.py test --debug-mode, this is because of lack of environmental variables, as described above.
After starting MinIO server with creating bucket on docker-compose, confirmed that tests become to pass if we added MINIO_STORAGE_* in local_settings.py.
Since local_settings.py is ignored from Git controlling, in CI we have to add them as environmental variables.

Finding solutions to starting up MinIO container in docker-compose, with creating default public bucket, there are several ways to solve this.
Using minio/minio image
This is an official image maintained by MinIO, confirmed that we can create default bucket after starting up minio-server with using minio/mc image.
  minio:
    image: minio/minio:latest
    container_name: minio
    environment:
      MINIO_ROOT_USER: minioadmin
      MINIO_ROOT_PASSWORD: minio123
    entrypoint: sh
    command:
      - -c
      - |
        mkdir -p /export/bennu
        minio server /export --console-address :9001
    ports:
      - 9000:9000
      - 9001:9001
    volumes:
      - minio-data:/bitnami/minio/data
    healthcheck:
      test: "mc ping local --count 1 || exit 1"
      interval: 3s
      retries: 3
    deploy:
      restart_policy:
        condition: on-failure
  mc:
    image: minio/mc:latest
    container_name: mc
    entrypoint: sh
    command:
      - -c
      - |
        mc alias set local http://minio:9000 minioadmin minio123
        mc anonymous set public local/bennu
    depends_on:
      minio:
        condition: service_healthy

Using bitnami/minio image
Since this image has some additional features with accepting environmental variables, we can easily create default (multiple) bucket at the container startup with configuring policies.
Also with this image, we have not to create client container to configure default bucket, so this makes our code more cleaner.
As mentioned in the comment, considering using of CI, we adopt to this way as our implementation.
  minio:
    image: bitnami/minio:latest
    container_name: minio
    environment:
      MINIO_ROOT_USER: minioadmin
      MINIO_ROOT_PASSWORD: minio123
      MINIO_DEFAULT_BUCKETS: bennu:public
    ports:
      - 9000:9000
      - 9001:9001
    volumes:
      - minio-data:/bitnami/minio/data
    healthcheck:
      test: "mc ping local --count 1 || exit 1"
      interval: 3s
      retries: 3
    deploy:
      restart_policy:
        condition: on-failure


Invalid state error when opening many tabs at the same time

Hello
I have a SPA application and I have implemented the authentication as detailed here https://auth0.com/docs/quickstart/spa/react/01-login however on some occasions when many browser tabs are opened at the same time, auth throws this error:
Error: Invalid state even though isAuthenticated is true and user contains the user's data
Steps to Reproduce:

Log in
Open many tabs at once

My code:
const { isAuthenticated, error, isLoading, user } = useAuth0();

  useEffect(() => {
    if (error) {
      // Sometimes this error is Error: invalid state
    }

    if (!isLoading && !error && !isAuthenticated) {
      loginWithRedirect();
    }

    // ...
  }, [isLoading, isAuthenticated, error]);

Thanks for raising this.
Could you please provide a reproduction sample so we can investigate what is going wrong?
Are you logging in before opening a new tab ?
What is the URL you are using in all the different tabs, does it include code and state in the URL?

Hi @deita0x - we haven't heard from you in a while, so I'm going to close this issue. Feel free to reopen it if you want any more help

Hi @deita0x - we haven't heard from you in a while, so I'm going to close this issue. Feel free to reopen it if you want any more help


Create visuals containing NCF

helloweoialdfjalkjenaclewkjas

Link to feature: https://apexcleanenergy.productboard.com/feature-board/planning/features/8015526

does this show up in PB?


Gnome shell crashes st_theme_node_lookup_shadow

Describe the bug
The gnome shell crashes for me from time to time and I land in GDM and my session has been terminated. I believe this has mostly happened when the computer would suspend while having full screen youtube open in firefox. At least I can recall three instances of waking up, after falling asleep to Youtube and seeing the GDM login screen.
Steps To Reproduce
Steps to reproduce the behavior:

Have Youtube video running in fullscreen in firefox
Let the video finish
Don't touch computer
When coming back after suspending gnome crashed and greeted by GDM

I just was able to reproduce this with intent.
Expected behavior
Gnome does not crash.
Additional context
I followed this advice by @jtojnar  on how to debug gnome crashes. Unfortunately I don't have any experience with debugging this kind of an issue (or any C code for that matter). Here is the coredump and the gdb full stack trace with debug symbols:
dump.txt
gdb.txt
Extensions:

vitals
screenshot-window-sizer
removable-drive-menu
native-window-placement
quick-settings-tweaker
gsconnect
just-perfection
hibernate-status-button
appindicator
quick-lang-switch
swap-finger-gestures-3-to-4
runcat
primary-input-on-lockscreen
noannoyance-fork
user-avatar-in-quick-settings
battery-time
autohide-battery
containers
blur-my-shell

Notify maintainers
@bobby285271
@jtojnar
Metadata
$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.7.0-zen3, NixOS, 23.11 (Tapir), 23.11.20240124.a77ab16`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.1`
 - nixpkgs: `/etc/nix/path/nixpkgs`

Edit: Found way to reproduce on my machine

Add a :+1: reaction to issues you find important.

So I found that it has something to do with blur-my-shell. I haven't quite figured out what yet, but when disabling this extension the crash cannot be reproduced. Sorry for the premature issue opening.


ngclient: client-level constants

The constants could use some thought: We definitely don't want to keep using tuf.settings, but I guess the question is, should these be instance variables in Updater instead of module level ones:
MAX_ROOT_ROTATIONS = 32
MAX_DELEGATIONS = 32
DEFAULT_ROOT_MAX_LENGTH = 512000  # bytes
DEFAULT_TIMESTAMP_MAX_LENGTH = 16384  # bytes
DEFAULT_SNAPSHOT_MAX_LENGTH = 2000000  # bytes
DEFAULT_TARGETS_MAX_LENGTH = 5000000  # bytes

Maybe it does not hurt if they were instance variables instead. They don't even need to be optional constructor arguments (as initialization does not use any of them: caller can initialize the Updater and then modify the values).
I guess the fanciest option is that constructor takes an optional argument dataclass UpdaterOptions with those attributes ...
Originally posted by @jku in https://github.com/theupdateframework/tuf/issues/1396#issuecomment-842985740

I am in favour of the dataclass option because it groups all the configuration at one place and I drafted a proposal based on it:  #1470.
There is also RequestsFetcher which needs to be configured on init so I added the configuration as an optional parameter to Updater.  However I am not totally sure if this solution makes it convenient enough to customise the configuration and I will be happy to hear some opinions about it.

I am in favour of the dataclass option because it groups all the configuration at one place and I drafted a proposal based on it: #1470.

Me too 🙂


Logo/Icon

We want to get logo/Icon for Almin.
Almin come from Aluminium Architecture + Minimal.

I've create one. :-

created https://github.com/almin/media
I think that it is temporary version.
Welcome to alternetive Logo!


Remove ubuntu 18.04 due to deprecation

Due to deprecation, removing ubuntu 18.04

The work is continued in #619


[bogus] 0715 parallel sequence 2

This is replaced by https://github.com/keptn/keptn.github.io/pull/1311 .


[Event Request] codeunit 699 "Exch. Rate Adjmt. Process" - OnAdjustExchRateVendAfterCalcFields

Describe the request
Hello, can you please add a new Event OnAdjustExchRateVendAfterCalcFields in codeunit 699 "Exch. Rate Adjmt. Process"?
    procedure AdjustExchRateVend(GenJournalLine: Record "Gen. Journal Line"; var TempVendLedgerEntry: Record "Vendor Ledger Entry" temporary)
    var
        Vendor: Record Vendor;
        VendLedgerEntry2: Record "Vendor Ledger Entry";
        DetailedVendLedgEntry: Record "Detailed Vendor Ledg. Entry";
        PostingDate2: Date;
    begin
        PostingDate2 := GenJournalLine."Posting Date";
        if TempVendLedgerEntry.FindSet() then
            repeat
                VendLedgerEntry2.Get(TempVendLedgerEntry."Entry No.");
                VendLedgerEntry2.SetRange("Date Filter", 0D, PostingDate2);
                VendLedgerEntry2.CalcFields("Remaining Amount", "Remaining Amt. (LCY)");
                OnAdjustExchRateVendAfterCalcFields(VendLedgerEntry2);
                if ShouldAdjustEntry(
                    PostingDate2, VendLedgerEntry2."Currency Code",
                    VendLedgerEntry2."Remaining Amount", VendLedgerEntry2."Remaining Amt. (LCY)", VendLedgerEntry2."Adjusted Currency Factor")
                then begin

    [IntegrationEvent(false, false)]
    local procedure OnAdjustExchRateVendAfterCalcFields(var VendorLedgerEntry: Record "Vendor Ledger Entry")
    begin
    end;

Additional context
We have additional values to calculate the Remaining Amount and need to recalculate it to get the correct output of ShouldAdjustEntry.
Internal work item: AB#546852

Availability update: We will publish a fix for this issue in the next update for release 25.
Build ID to track: 26485.


Cleanup order list initialization in TCMSListManagerFullGroupTable

Q
A

Branch
6.3

Bug fix?
no

New feature?
no

BC breaks?
no

Deprecations?
no

Fixed issues
https://github.com/chameleon-system/chameleon-system/issues/657

License
MIT

While debugging I found this instance, where $aOrderData is initialized only if a certain condition applies
but never used when that condition applies - the only usage of it is it's default value.

Opening new PR with correct branch name


Improving shortcut-based navigation of errors: :lprev & :lnext won't work when there's a single error

Hi,
Maybe I'm missing a clever way to do it but currently I have the following in my rc file:
nnoremap <Tab> :lnext<CR>
nnoremap <S-Tab>: lprev<CR>

It works fine enough when there are 2+ errors: first  will bring me to the second error and I can navigate them all with  or +. However this won't work when there is a single error, for we're initially on the first location (in the loc list, even if the culprit line is not displayed); and I find this behaviour highly annoying.
Am I missing a simple way to improve my workflow, or is that a real feature request?

For this you can use :lfirst to go to the first error and :lnext/:lprev every time after that. As a plugin author, there's not really anything I could do about vim's behavior here, but for me :lfirst does the trick.

Nice, thank you for the tip! Would you happen to be aware of any way to bind  to :lfirst on first press after a check, and :lnext on subsequent ones? (and symmetrically with :llast and :lprevious)

That would be pretty tricky. The best I know how to do is have another key map for lfirst. Maybe ?

not that complicated actually, here's what I'm using, could be better probably:
function! LocationNext()
  try
    lnext
  catch
    try | lfirst | catch | endtry
  endtry
endfunction

nnoremap <leader>e :call LocationNext()<cr>

That works wonders, thank you a lot @szymonkaliski!!


Spectrum Driven Small Details

I have attempted to drive small details strength with values from the ocean wave spectrum. I am not sure I have done it correctly, but it appears to be working. Small details is covered by normals and roughness.
I used the amplitude values. Not sure if that was the best way to go.
For the "enabled" and "disabled" screenshots, the roughness was set to one and zero respectively. The base normal scale needs to be improved and can look strange when the scale is low enough to be visible but too small to look good. I am thinking  that driving the scale and strength might work so we ensure normals always look nice when visible.
Let me know what you think.
Main Scene without changes

Enabled

Disabled
Main Scene with low spectrum weight

Enabled

Disabled
Main Scene with zero spectrum weight

Enabled

Disabled
Issues
Noticeable scale change
When weighing out a spectrum, the normal scale will decrease. When the camera has a high altitude, this is very noticeable. It looks almost like the normals scroll at fast speed.
Local Gerstners
Not sure if we should try and handle this case.
TODO
Multiple Gerstners
I think just a static list of global gerstners could work. And then we take the highest value.
Testing
On the OceanRenderer, there are two toggles to enable/disable driven normals and roughness. I have also exposed properties on the OceanChunkRenderer for debugging.

Added some debugging stuff and some possible improvements.

Solved that one issue with LODs. Was a pretty obvious bug. Added a new issue about scale changing.

Not ready to merge but ready for some feedback. It demonstrates the idea enough I think.

Thanks for the bump it's next on my list to look at

Thanks for this! Really interesting to see this coming through.
I've been playing around and i think i get the jist of it. I've realised it's quite tricky thing to make work correctly.
One basic problem is that the normal maps do not capture the appearance of the waves at all. In an ideal world, if you zoom in on a patch of water like the below, the only visual thing that changes is detail subtlely gets blended in.

Instead what happens is when the actual waves come in they can be very different from the normals (the waves are ramped up a bit too much here and trigger the foam like crazy, which is another potential problem).

I need to think about if the normals could be a good approximation to the underlying waves. It makes me think that should be possible to render a patch of waves that tiles horizontally, which could then be used as a normal map? Like what would happen with FFT. This is an entirely new rabbit hole / tangent but just thinking aloud..
If they cant match then maybe they are not driven by the spectrum and function the way they are now, leaving the roughness. I played with the spectrum and observed the roughness. I can see it changing but am struggling to decide if this is a good thing or if it should be left entirely to art.
Its possible i was failing at tweaking or focusing on the worst cases, apologies if thats the case. Let me know what you think.

I haven't looked at the code, so haven't seen if this is taken into account, but it's worth pointing out that the physics of small (capillary) waves is quite different than those of large (gravity) waves.
https://en.wikipedia.org/wiki/Capillary_wave
Mainly because the restoring force in the former is surface tensions, whilst in the latter it is gravity.

Yeah that's a cool effect

It makes me think that should be possible to render a patch of waves that tiles horizontally, which could then be used as a normal map?

I decided to scratch the itch and try this out. I believe it does tile - at least the waves do. However it's pretty easy to break the tiling property. Going to write notes to capture for the future

Only the waves in the Lod tile, not bigger wavelengths in larger lods, so it would need to be taken before the combine pass from the wave buffer. This is possible.
Shallow water dampens waves and breaks tiling (water depth does not tile periodically). I think the shoreline depth could be taken into account later instead of during generation.. maybe..
Alignment to shorelines breaks periodicity
Flow probably breaks periodicity too and would need a rejig

I think it's possible to render a repeating patch of waves in a canonical frame and then transform them to achieve the above points. I think we'd probably work in this way if we were using fft as well. Needs more investigation though, will leave for now.

I think it's possible to render a repeating patch of waves in a canonical frame and then transform them to achieve the above points.

I have been thinking about this too but to solve another problem where small waves contribute to other data like foam. Because the smaller wavelengths aren't present in the distant LODs, foam generation can be noticeable more potent under the camera with certain settings. I wonder if we could also similarly tile a patch of smaller waves into the foam data?

Yes i think that could help as well. I think it would be worth exploring moving to purely-repeating wave buffers to allow testing this stuff, at some point..
Tangentially related, i tried a hack to boost the foam - branch test/increase-foam-in-dist


run func tests on GitHub instead of self-hosted

Running functional tests on GitHub runner instead of self-hosted. With GitHub runner we do not need to have concurrency set-up.

If we no longer uses self-hosted runners, then can't we just call reusable workflows in bootstack-action for checks like other repos?

Maybe we can, I just tried to not using it. We can use bootstack-actions in other PR.

Maybe we can, I just tried to not using it. We can use bootstack-actions in other PR.

It would be a much simpler change with more straightforward maintainability using bootstack-actions.

Maybe we can, I just tried to not using it. We can use bootstack-actions in other PR.

It would be a much simpler change with more straightforward maintainability using bootstack-actions.

If you want you con provide PR for that, with this I was going to tests if it works. I'm ok to merge this, since it's not different that what we had expect, no need to have our own runner.

replaced by #244


http/2 support to haproxy LB provider

Enable http/2 support for haproxy provider. Might require minor api field addition to the port rule (httpVersion, enum, 1.1 by default). This way we can support both http/1.1 and http/2 for the same listener, and redirect http/2 traffic to the backend supporting this version, based on the version tag in the request) http://m12.io/blog/http-2-with-haproxy-and-nginx-guide#configuration
@ibuildthecloud @vincent99

I wonder if there's a way to make it do "http/2 termination" where the balancer handles 2.0 but farms out requests to the backend as 1.1 so you don't have to configure the application...

Haproxy still hasn't released an official HTTP/2 support yet, so I'm skeptical on a HTTP/2 termination approach when haproxy doesn't even speak h2 yet. The configuration linked by Alena AFAIK only solves terminating the SSL but at the end of the day is still just a TCP balancer (see mode tcp in the example config from that article).
If it's any helpful to follow along with the progress, the latest on HTTP/2 from haproxy is the design thoughts in their later releases and master branch.

Is there anyway to add in a custom haproxy.cnf in the ui to mimic something like this to support http2?
frontend https-in
    mode tcp
    bind *:443 ssl crt etc/haproxy/certs/current alpn h2,http/1.1
    http-response set-header Strict-Transport-Security "max-age=16000000; includeSubDomains; preload;"
    use_backend nodes-http2 if { ssl_fc_alpn -i h2 }
    default_backend nodes-http

backend nodes-http
(add all rancher magic stuff)
    server $IP:80 check

backend nodes-http2
    mode tcp
(add all rancher magic stuff)
    server$IP:81 check send-proxy

There is no http2 support in HAProxy to configure.

So you are telling me that everyone that does a ssl offload in haproxy and do a tcp forward is just dreaming that it works?

@Flowman Seems HaProxy detects http2 terminology but it only, by the this time, passes-trough the entire stream to the backend instead of forwarding decrypted http requests.
I've heard Caddy could do what we need to, but cannot confirm as I didn't tested it.

I'd rather use h2o as load balancer.
I guess that's much faster than waiting for http/2 support in haproxy, which will probably be 6 months to a year until it's production-ready.
H2o has some nice features built in.
e.g.

gzip support
http to http2 upgrade and push support by using Link headers
fastcgi support
static file server

h20 and Caddy are both primarily webserver and have only the barest of feature comparison to haproxy.  Particularly h20, Caddy at least has some features in its proxy.
You can feel free to build a compatible load balancer image with it though, all the information you need is in metadata.  The standard haproxy image does not have any special access.

It would be great if we just had a way to add the rule so that haproxy detects the http2 request and just pass it to the backend. h20 and Caddy is not really an option for our case.

Yes, configuring ALPN support would be nice.

HAProxy 1.8 is out now and supports HTTP/2 termination! https://www.haproxy.com/blog/whats-new-haproxy-1-8/

And the stable version of haproxy 1.8 finally got released 🎉
<EMAIL_ADDRESS>

any news/timeline on this?

If it is possible to specify the version of HAProxy, that would be great.

Somebody of the rancher team just announced in https://github.com/rancher/rancher/issues/10431 that support for haproxy 1.8.4 might land in rancher v1.6.15.
Thanks for the hard work. 🎉

Before there are any false promises, Haproxy is being updated but there will not be any functionality configurable like http2 as that is tracked in #6847. Let me close this regarding 1.8, additional functionality will be track in #6847.
From #10431

I have had limited success in enabling HTTP2 using rancher/lb-service-haproxy:v0.9.1 from Rancher v1.6.17 (HAProxy v1.8.4). If one supplies the custom config:
frontend 443
bind *:443 ssl crt /etc/haproxy/certs/current/domain.pem alpn h2,http/1.1

...it is merged with what Rancher generates dynamically and results in multiple bind entries:
frontend 443
bind *:443 ssl crt /etc/haproxy/certs/current/domain.pem
bind *:443 ssl crt /etc/haproxy/certs/current/domain.pem alpn h2,http/1.1

This has the result that some HTTP results will be 1.1 and others 2. Also, it's obviously fragile as if someone changed the certificate it's not immediately obvious to update the custom config.
I'm no HAProxy expert, but sadly I could not find a way to enable ALPN not using the bind option.

I have had limited success in enabling HTTP2 using rancher/lb-service-haproxy:v0.9.1 from Rancher v1.6.17 (HAProxy v1.8.4). If one supplies the custom config:
frontend 443
bind *:443 ssl crt /etc/haproxy/certs/current/domain.pem alpn h2,http/1.1

...it is merged with what Rancher generates dynamically and results in multiple bind entries:
frontend 443
bind *:443 ssl crt /etc/haproxy/certs/current/domain.pem
bind *:443 ssl crt /etc/haproxy/certs/current/domain.pem alpn h2,http/1.1

This has the result that some HTTP results will be 1.1 and others 2. Also, it's obviously fragile as if someone changed the certificate it's not immediately obvious to update the custom config.
I'm no HAProxy expert, but sadly I could not find a way to enable ALPN not using the bind option.

I create a pull request:
https://github.com/rancher/lb-controller/pull/136
and, build an image:
https://hub.docker.com/r/xlight/rancher-lb-service-haproxy
you can set   "lb.instance.image"  in "Advanced Settings"


Change the Color of the UserName in the ScoreBoardComponent

https://github.com/sopra-fs23-group-20/client/commit/49136ef40beab4911ac1d4803a7b9045cbaee253


Lateral proc overrides do not behave correctly in OD

OD currently doesn't really differentiate between (and understand the parsing of) proc overrides and proc definitions. Instead, it emits compile-times like these:
Error at code\modules\antagonists\changeling\powers\transform.dm:167:7: Type /datum/antagonist/changeling already has a proc named "select_dna"

Whenever code like this is discovered:
/datum/antagonist/changeling/select_dna(var/prompt, var/title)
// ... and then later on in the file ...
/datum/antagonist/changeling/proc/select_dna(var/prompt, var/title)

Just wondering, what's the functional purpose and intended behavior of something like the example you gave above?

Just wondering, what's the functional purpose and intended behavior of something like the example you gave above?

This is just part of DM's ability to be read out-of-order. Overriding procs on the same type, in general, is used by codebases like Yogs (as a measure to reduce git conflicts when merging in from /TG/)

I see thanks!


incorrect link for content designer on designing screens page

https://accessibility-manual.dwp.gov.uk/best-practice/designing-screens
two links (at bottom of page)

interaction designer
content designer

Both links go to interaction designer advice. ie. content design link is incorrect.
Looks like content designer link should be: https://accessibility-manual.dwp.gov.uk/guidance-for-your-job-role/content-designer
As i can navigate to that page by changing the Url, or find that link elsewhere on the site.
The site is great but the way.  Just used it to help a couple of colleagues out - show that the law means internal systems have to be accessible and publish an accessibility statement.
I'm telling people this is the de-facto site for Gov accessibility advice.

Thanks for this Andy. Updated and will be fixed in v2.0!


Fails to detect changes in ad blocker's status.

If I visit the online example page, the page correctly displays the status of my ad blocker.
However if I pause the ad blocker and click the example page's "check again" button, the previous status is repeated.
Software versions:
AdBlock for Mac Chrome version 3.8.4
Chrome for Mac version Version 55.0.2883.95
Mac OS X "El Capitan" (10.11.6)
Console logs:
blockadblock.js:57 [BlockAdBlock][setOption] The option "debug" he was assigned to "true"
blockadblock.js:57 [BlockAdBlock][on] A type of event "detected" was added
blockadblock.js:57 [BlockAdBlock][on] A type of event "notDetected" was added
blockadblock.js:57 [BlockAdBlock][onload->eventCallback] A check loading is launched
blockadblock.js:57 [BlockAdBlock][_creatBait] Bait has been created
blockadblock.js:57 [BlockAdBlock][check] An audit was requested with a loop
blockadblock.js:57 [BlockAdBlock][check] A check is in progress ...
blockadblock.js:57 [BlockAdBlock][_checkBait] A check (1/5 ~1ms) was conducted and detection is positive
blockadblock.js:57 [BlockAdBlock][_stopLoop] A loop has been stopped
blockadblock.js:57 [BlockAdBlock][_destroyBait] Bait has been removed
blockadblock.js:57 [BlockAdBlock][emitEvent] An event with a positive detection was called
blockadblock.js:57 [BlockAdBlock][emitEvent] Call function 1/1
blockadblock.js:57 [BlockAdBlock][clearEvent] The event list has been cleared
// Pausing AdBlock and re-checking...
undefined
blockadblock.js:57 [BlockAdBlock][on] A type of event "detected" was added
blockadblock.js:57 [BlockAdBlock][on] A type of event "notDetected" was added
blockadblock.js:57 [BlockAdBlock][check] An audit was requested with a loop
blockadblock.js:57 [BlockAdBlock][_creatBait] Bait has been created
blockadblock.js:57 [BlockAdBlock][check] A check is in progress ...
blockadblock.js:57 [BlockAdBlock][_checkBait] A check (1/5 ~1ms) was conducted and detection is positive
blockadblock.js:57 [BlockAdBlock][_stopLoop] A loop has been stopped
blockadblock.js:57 [BlockAdBlock][_destroyBait] Bait has been removed
blockadblock.js:57 [BlockAdBlock][emitEvent] An event with a positive detection was called
blockadblock.js:57 [BlockAdBlock][emitEvent] Call function 1/1
blockadblock.js:57 [BlockAdBlock][clearEvent] The event list has been cleared

It is normal that it will start the detection process again if you call the "check" method again.
But I'm afraid I did not understand the problem.

If I have AdBlock unpaused, and I visit the online example, the page correctly displays "AdBlock is enabled".  However, if I then pause AdBlock and click the "Check again" button, the page still reports "enabled", whereas I would expect it now to report "not enabled".
Similarly, if I have AdBlock paused, and I visit the online example, the page correctly displays "AdBlock is not enabled". However, if I then unpause AdBlock and click the "Check again" button, the page still reports "not enabled", whereas I would expect it now to report "enabled".

Ok, I had not understood the notion of "pause" (to disable AdBlock).
In this case, it is not the responsibility of BlockAdBlock, because disabling AdBlock (via its menu) will really disable it only after the page is reloaded.
For example, you can try to display ads after 30 seconds after the page loads and in the meantime disable AdBlock, you will see that the ads will still be blocked. Because for the deactivation to be really effective, you have to reload the page.

…disabling AdBlock (via its menu) will really disable it only after the page is reloaded…

This is technically not true. As soon as AdBlock is paused, it stops blocking ad-related content.
We have noticed that AdBlock causes failure on invocations of our in-house API call to save a form's data. This is not on a public page, and the page has no ads. Refreshing the page would not be an option, because form data would then be lost.
Toggling AdBlock off prevents that API error, so I was hoping to be able to detect and re-detect the status of our users' ad blockers.

I have also tried deleted and re-instantiating the BlockAdBlock object and forcing a re-check. But it continually reports the original state, rather than the updated state.
Is there some other way to re-check that I'm missing? Why have a re-check button at all?
Thank you.

To be exact, AdBlock is partially disabled.
That is, the detection of advertisements by the DOM (HTML) is still functional, but the interception of HTTP requests is disabled. As the V3 of BlockAdBlock works with detection by the DOM, this is why it continues to detect Ad Block.
For your particular case, it would be necessary to set up an HTTP detection. I propose 2 solutions either you realize this detection yourself by detecting the blocking of the sending of your form, or you use the V4 of FuckAdBlock with only the detection by HTTP.

I see. Thank you.

To use the V4, I advise you to instantiate yourself :
https://fuckadblock.sitexw.fr/beta/#Instance_222
And to run the "check" manually with only HTTP detection:
myFuckAdBlock.check(['http']);


Add superclass instance computation

We arrange it so every class dictionary contains it's superclass
dictionaries as a field, which can then be projected.  In proveProp,
whenever we get a class dictionary as an assumption, we saturate the
prop environment with all avaliable superclasses.  These are accessed
via a chain of field projections as necessary.

I'll probably just merge them together anyway.  Thanks for reviewing!


Can we give multiple files to copy to different destinations?

I am using this github action, It is copying one source  file to one destination directory, Can we give multiple sources and destinations?
My yml file:
- name: Pushes test file
uses: dmnemec/copy_file_to_another_repo_action@main
env:
  API_TOKEN_GITHUB: ${{ secrets.TOKEN }}
with:
  source_file: 'test/transfer/'
  destination_repo: 'repo name'
  destination_folder: 'src/destination/'
  user_email: 'email'
  user_name: 'name'
  commit_message: 'A custom message for the commit'

@LakshmiRavali you can check my example here
https://github.com/JoseRodrigues443/Awesome-CV/blob/master/.github/workflows/main.yml
Basically I use a matrix with key values (location and destination) and with that I can do what you need
jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        files: [resume, cv, coverletter]
        include:
          - repo: JoseRodrigues443/JoseRodrigues443
            dir: ''
          - repo: JoseRodrigues443/joserodrigues443.github.io
            dir: static/files

@LakshmiRavali you can check my example here
https://github.com/JoseRodrigues443/Awesome-CV/blob/master/.github/workflows/main.yml
Basically I use a matrix with key values (location and destination) and with that I can do what you need
jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        files: [resume, cv, coverletter]
        include:
          - repo: JoseRodrigues443/JoseRodrigues443
            dir: ''
          - repo: JoseRodrigues443/joserodrigues443.github.io
            dir: static/files

I'm trying to use this action in my project. but i also need to push all files in one directory.
I think this is also a good idea. Thanks for sharing.
And I just want to add more conditions a little. like i want to create one PR in another repo for all file or just changed files only.
Is there a possible way?


Revamp motivation section of top-level index.md

emphasize acceleration first, while ensuring quality and rigor in research practice.

@musslick your new version added


ERRO[10728] error waiting for container: unexpected EOF

l print the "RepeatModeler -pa 10 -database Test -LTRStruct >& 1.run.out"
##The log showed "Comparison Time: 00:07:52 (hh:mm:ss) Elapsed Time, 1368539 HSPs Collected

RECON: Running imagespread..
RECON Elapsed: 00:00:02 (hh:mm:ss) Elapsed Time
RECON: Running initial definition of elements ( eledef )..
RECON Elapsed: 00:00:14 (hh:mm:ss) Elapsed Time
RECON: Running re-definition of elements ( eleredef ).."

ERRO[10728] error waiting for container: unexpected EOF
l do not know how to slove it, can you help me?
Thank you!

ERRO[10728] error waiting for container: unexpected EOF

I believe that (very confusing!) error message is from Docker. I found one possible cause that seems likely: running out of memory. The eleredef step can be very memory-intensive on some genomes and has caused similar problems for many users in various environments.
Does this problem occur for you frequently, or only with specific input files?

Thank you very much for your reply. As you said, it depends on our storage. We have 1t running memory, but this single task will occupy about 700g. Now I use CONDA for installation, and then modify ninja. Now this part can run normally. I haven't tried to use docker. I will use it later for testing.
Thank you very much for your reply!
Good luck


StructScan not behaving the same way with Row or Rows

I have noticed a difference in the behavior of StructScan for Rows and StructScan for Row.
I am trying to fill a struct generated by protobuf with the result of a query. Because the model may change over time, I do not want to hardcode the column names.
The first following solution do not work:
// The Tag as generated by protobuf
type Tag struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uuid        string
	Name        string
	Description string
	Color       uint32
}

tag = new(model.Tag)

query := "SELECT * FROM Tag WHERE name = $1 LIMIT 1"

err = e.QueryRowx(query, "A_TAG_NAME").StructScan(tag)

This is sending the error structscan expects a struct dest but the provided struct type Tag implements scanner
Whereas the second solution is working as expected:
tag = new(model.Tag)

query := "SELECT * FROM Tag WHERE name = $1 LIMIT 1"

rows, err := e.Queryx(query, "A_TAG_NAME")

if err == nil {
  for rows.Next() {
	  err = rows.StructScan(tag)
  }
}

The second solution is nonetheless not ideal because we are looping on a list of rows but there is only one (so this is more complex to read for no reason). Moreover this is working well because we are sure we get at most one row thanks the LIMIT 1 in the SQL query but as some point we might remove this and cause unwanted behavior.
Is this difference in behavior expected ?
From the code it seems that this is because StructScan (on Rows) is calling isScannable (https://github.com/jmoiron/sqlx/blob/45f24e949eb65cc4c30b0905bb35527653586f71/sqlx.go#L57) and because the protobuf generated struct implements a scanner interface, structOnlyError is called and the error returned.

I was able to fix my issue with the following:
err = e.QueryRowx("SELECT to_jsonb(tag.*) FROM Tag WHERE name = $1", in.Name).Scan(tag)

Nonetheless I am still interested in a answer to better understand the library is working.


Correct usage of "date" in timestamp creation

to support cross-platform compatibility
On a Mac, the parameter must be -Iseconds
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I tried this initially but it actually broke when running on my dev desktop. It seems this CLI tool isn't very cross compatible

date -Iseconds doesn't work on your Linux machine?  What distro are you running?

I went ahead and just made it a user-defined format to get around the issue entirely.  This version should be pretty universally supported by different flavors of date.

/lgtm cancel

/lgtm


Producer phase data and/or model available for download?

Hello!
I have downloaded this repository and I'm interested in training this model to play around with.
However, the LLB producer phase I estimate will take 182 days of continuous training for me to just synthesise the text embeddings before training the model.
Is the producer.py synthetic data available for download anywhere?
And further is the stage 1 and stage 2 trained model(s) available to download anywhere?
Thank you!

Dear user,
Thank you for your interest in our project. You can find the trained models in our README file; they are available for direct download via this link: https://huggingface.co/Hualouz/Qformer/tree/main.
Regarding the synthetic data generated by producer.py, we are currently evaluating the possibility of making it open-source. If we determine it is feasible to do so, we will strive to make it available as soon as possible so that community members like yourself can more easily engage in experimentation and research.
We appreciate your patience and interest once again. Should there be any updates, we will be sure to inform the community promptly.
Best regards!

Could you please tell me approximately how much time each step takes on the same device, V100?


Where to unsubscribe ?

Where to unsubscribe from your platform ?

same question??

I found the link is in the my subscription page.

That is correct. My Subscription in the lower left corner of the app


⚠ Slack has degraded performance

In 533b2e9, Slack (https://status.slack.com/api/v2.0.0/current) experienced degraded performance:

HTTP code: 200
Response time: 59 ms

Resolved: Slack performance has improved in ddce6ce.


Add tests to check missions_completed attribute in random drone generator (first-timers-only)

first-timers-only
This issue is tagged :octocat: first-timers-only. It is only for people who have never contributed to open source before, and are looking for an easy way take their first steps.
Consider this your chance to dip your toe into the world of open-source, and get some bragging rights for writing code that makes drones fly, lets cars find charging stations, helps people and goods get from place to place, and more.
Find more first-timers-only issues here:

Missions
Mission Control
Captain

Thank you for your help :heart:
What is this project?
DAV (Decentralized Autonomous Vehicles) is a new foundation working to build an open-source infrastructure for autonomous vehicles (cars, drones, trucks, robots, and all the service providers around them) to communicate and transact with each other over blockchain.
As an organization that believes in building a large community of open-source contributors, we often create issues like this one to help people take their first few steps into the world of open source.
Mission Control
The DAV project you are looking at is Mission Control. It is the brain in charge of orchestrating missions between DAV users and autonomous vehicles.
How you can help
Background
To help developers building on top of DAV technologies, Mission Control can start in a simulation environment. In a simulation environment, there are always a few simulated drones flying around the user, ready to take on missions. This makes it easy for developers to start building and testing without investing in hardware.
The Issue
As a project that relies on a large community of contributors, it is very important for us to have good tests to make sure changes don't break anything.
One of the functions that need testing is generateRandom() inside /server/simulation/drone.js that creates random simulated drones
Your task is to extend the test spec in test/specs/simulation.drone.spec.js to test the following condition:

it returns an object containing a missions_completed attribute.

Edit test/specs/simulation.drone.spec.js, adding a test that verifies the above condition.
To run your tests, run npm test from the project's root directory. All tests should pass.

Contributing to Mission Control

[ ] Fork the repository from the Mission Control GitHub page.
[ ] Clone a copy to your local machine with $ git clone git@github.com:YOUR-GITHUB-USER-NAME/missioncontrol.git
[ ] Make sure you have node.js and npm installed on your machine. You can use this guide for help.
[ ] Install all of the project's dependencies with npm. $ cd missioncontrol; npm install
[ ] Run npm test to run linting checks and all the automated tests and see that they pass.
[ ] Code! code! code!
[ ] Before committing your code, run npm test one last time and make sure no errors (including linting errors) are thrown.
[ ] Once you've made sure all your changes work correctly and committed all your changes, push your local changes back to github with $ git push -u origin master
[ ] Visit your fork on GitHub.com (https://github.com/YOUR-USER-NAME/missioncontrol) and create a pull request for your changes.
[ ] Make sure your pull request describes exactly what you changed and references this issue (include the issue number in the title like this: #65)

Can I take this?

@FelixJ20000 Thanks for your interest in contributing to missioncontrol. We are waiting for other contributor to respond. Have a look around and see if you like to work on some other stuff. Meanwhile you can also join our chat room We will be creating more issues in the coming days. 😄

@FelixJ20000 It looks like this one is available again. Want to take a shot at it?

Hi, I still saw that this issue has been up for grabs and was wondering if I can work on this project?

Hey @joeydlee95 Looks like couple of people have showed interest but never came back. You can pick it up. Am labeling this as claimed. Let me know if you have any questions 🙂


fix pre balances

The Problem

The Solution

Checklist:

[ ] I am making this PR against staging, not master
[ ] My code follows the code style of this project.
[ ] I have described any backwards-incompatibility implications above.
[ ] I have highlighted which parts of the code should be reviewed most carefully.
[ ] If my change requires a change to the documentation, I have updated it accordingly.

No qualms with merging these into the 703-channel-provider-tests without the CD/CI passing

Yeah I know, I was just having issues with testing locally so I was using CI as a test bench


learngitbranching how to install

Hello, can you tell me how to properly install this program on your own computer. Thanks in advance.

Here are the instructions for building locally:
https://github.com/pcottle/learnGitBranching#building-yourself--contributing-functionality


Memory context limit exceeded

Describe the bug
Several people have experienced the error with memory context limit being exceeded, especially with local LLMs.
Please describe your setup

[ ] MemGPT version

0.3.0

[ ] How did you install memgpt?

git clone

[ ] Describe your setup

What's your OS: Windows 11.
How are you running memgpt?  pwsh

Screenshots
Similar to this:
  File "C:\Users\danie\memgpt\memgpt\local_llm\chat_completion_proxy.py", line 155, in get_chat_completion
    result, usage = get_koboldcpp_completion(endpoint, auth_type, auth_key, prompt, context_window, grammar=grammar)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\danie\memgpt\memgpt\local_llm\koboldcpp\api.py", line 17, in get_koboldcpp_completion
    raise Exception(f"Request exceeds maximum context length ({prompt_tokens} > {context_window} tokens)")
Exception: Request exceeds maximum context length (8465 > 8192 tokens)

Additional context
It turns out there are about 3 bugs that need to be fixed to fully resolve this.
Here is my chat stream, copied from a thread in the discord Support channel.
The error about exceeding the maximum context length occurs in the process of trying to summarize the messages after it has been determined that an overflow will occur.
Attempting to summarize 18 messages [1:19] of 24
Using model koboldcpp, endpoint: http://<IP_ADDRESS>:5002
unsetting function_call because functions is None
An exception occurred when running agent.step():
...
  File "C:\Users\danie\memgpt\memgpt\local_llm\koboldcpp\api.py", line 17, in get_koboldcpp_completion
    raise Exception(f"Request exceeds maximum context length ({prompt_tokens} > {context_window} tokens)")
Exception: Request exceeds maximum context length (4219 > 4096 tokens)

So, the summarizer needs to use a different way of using the LLM to do the summarizing that avoids this problem.
Why is it trying to summarize 75% (==0.75) of all messages, not counting the system message?  That seems like way too severe, and a likely cause of sending a longer message than intended, just to get some text summarized.
Tracking this down further, in chat_completion_proxy.py, the get_chat_completion function is called with function_call parameter set to None, since functions is None.  And this raises a ValueError.
    if function_call != "auto":
        printd(f"[DEBUG] Raising ValueError since {function_call} is not 'auto'")
        raise ValueError(f"function_call == {function_call} not supported (auto only)")

I commented out that if check, since it doesn't seem to be important what the function_call was in that function.  Then I got a summary from the LLM!
But then I immedately got another exception about exceeding the maximum context length.  So ... I'll keep tracking this down. I suspect there are more of these stumbling blocks on the way back to using the summary.
The next exception is occurring in persistence_manager.py, trim_messages method:
    def trim_messages(self, num):
        printd(f"InMemoryStateManager.trim_messages {num} messages of length {len(self.messages)}")
        self.messages = [self.messages[0]] + self.messages[num:]

The debug output indicates that len(self.messages) is 0!
But Agent._trim_messages is called when the agent.messages has a length of 27.
It looks like the persistence_manager was not given the messages from the agent.
Taking a wild guess about how to fix this problem with the persistence_manager, I am tempted to call the init method with the agent, which at least sets the self.messages to the agent.messages.
Well, that sorta worked!  At least it avoided the exception in the persistence_manager trim_messages method.
But then the resulting summary maybe wasn't small enough, and the system got into an apparent infinite loop summarizing repeatedly, not making enough progress.  I had reduced the amount to summarize from 75% down to just 25%, so maybe that is not enough, especially for the artificially small maximum length of only 4096.    I'll try 50%.
Looking good!  This may be fixed.  I have not had any more memory context exceeded errors.

Local LLM details
If you are trying to run MemGPT with local LLMs, please provide the following information:

[ ] The exact model you're trying to use: TheBloke/dolphin-2.2.1-mistral-7B-GGUF/dolphin-2.2.1-mistral-7b.Q5_K_S.gguf
[ ] The local LLM backend you are using: Kobold
[ ] Your hardware for the local LLM backend: local computer with GPU

I can create a PR with my fix, but my changes feel more like hacks, since I didn't figure out why the code might be the way it is, so there might be a better fix.

Hi @dlaliberte , thank you so much for such a details bug report.
I just merged in a patch #977 that fixes some of the bugs you mentioned. It doesn't change the % of messages that are send to the summarizer - I have a feeling that the other fixes will make it so that that's not required, however, please let me know if you think this still needs patching / if you still see this or a similar bug persisting.

Thanks for the quick fix!  I look forward to trying it.
Regarding the % of messages sent to the summarizer, at the time I was questioning the 75% number, I hadn't yet figured out the underlying causes of the failure(s), and I suspected everything.  But even though that turned out to not be relevant, it still got me thinking about what the effect would be of replacing 75% of messages with a very brief summary.  I also wondered if it had been set to such a high percentage as a way of possibly dealing with the memory context limit being exceeded.  At least, the summarizing would not have to be done as frequently as it would with a much smaller percentage.
One more thing I hope you will consider.  In the past, I experimented with creating a summary of the entire conversation at every step of a conversation, and this summary was then added to the beginning of each reply by the LLM.   Although it effectively shortened the context window for new content, it extended the memory of earlier parts of the conversation.   My hope for MemGPT is that we could instead store all those summaries in the archival memory, so they would not consume the limited context window space.  Ideally, each summary should connect with earlier and later summaries, and more distantly related summaries and documents.


Difficulty to recovering from pipeline failure

I'm not sure which of the steps I took led specifically to the error, but I'll describe the steps.
 Pods got stuck in pending due to resource constraints.

dash-6d87bb6455-xx4dv       2/2       Running   0          3h
etcd-6f9d874f4f-xxfrn       1/1       Running   0          3h
pachd-68f98c559-wl4zd       1/1       Running   0          3h
pipeline-edges-v3-5b28x     0/2       Pending   0          6m
pipeline-edges-v3-mwfb2     0/2       Pending   0          6m
pipeline-model-v3-698ts     2/2       Running   0          3h
pipeline-model-v3-tfmq9     2/2       Running   0          3h
pipeline-model-v3-xzln2     2/2       Running   0          3h
pipeline-montage-v1-lnsc8   0/2       Pending   0          5m
pipeline-select-v1-t6xg8    2/2       Running   0          3h
pipeline-split-v1-9wlhr     2/2       Running   0          3h
pipeline-test-v3-db4wq      2/2       Running   0          3h
pipeline-test-v3-h8bq2      2/2       Running   0          3h
pipeline-test-v3-rb7rc      2/2       Running   0          3h

Lowered parallelism on other pipelines to free up resources. Also called update-pipeline on pending pods to force a retry right away -- they had been in scheduling backoff for a few mins. Not sure if this was actually necessary and/or might have been a source for my current state problem.

JosephZckersMBP:~ joeyzwicker$ pachctl update-pipeline -f ~/pachyderm/doc/examples/ml/hyperparameter/test.json
JosephZckersMBP:~ joeyzwicker$ pachctl update-pipeline -f ~/pachyderm/doc/examples/ml/hyperparameter/model.json
JosephZckersMBP:~ joeyzwicker$ kc get pods
NAME                        READY     STATUS    RESTARTS   AGE
dash-6d87bb6455-xx4dv       2/2       Running   0          3h
etcd-6f9d874f4f-xxfrn       1/1       Running   0          3h
pachd-68f98c559-wl4zd       1/1       Running   0          3h
pipeline-edges-v3-5b28x     0/2       Pending   0          7m
pipeline-edges-v3-mwfb2     0/2       Pending   0          7m
pipeline-model-v4-fl4pp     2/2       Running   0          3s
pipeline-montage-v1-lnsc8   0/2       Pending   0          7m
pipeline-select-v1-t6xg8    2/2       Running   0          3h
pipeline-split-v1-9wlhr     2/2       Running   0          3h
pipeline-test-v4-mfhgp      2/2       Running   0          10s
JosephZckersMBP:~ joeyzwicker$ pc update-pipeline -f ~/pachyderm/doc/examples/opencv/montage.json
JosephZckersMBP:~ joeyzwicker$ pc update-pipeline -f ~/pachyderm/doc/examples/opencv/edges.json
JosephZckersMBP:~ joeyzwicker$ kc get pods
NAME                        READY     STATUS     RESTARTS   AGE
dash-6d87bb6455-xx4dv       2/2       Running    0          3h
etcd-6f9d874f4f-xxfrn       1/1       Running    0          3h
pachd-68f98c559-wl4zd       1/1       Running    0          3h
pipeline-edges-v4-flbp4     0/2       Init:0/1   0          3s
pipeline-edges-v4-vpwkz     0/2       Init:0/1   0          3s
pipeline-model-v4-fl4pp     2/2       Running    0          31s
pipeline-montage-v2-78v4c   2/2       Running    0          15s
pipeline-select-v1-t6xg8    2/2       Running    0          3h
pipeline-split-v1-9wlhr     2/2       Running    0          3h
pipeline-test-v4-mfhgp      2/2       Running    0          38s

shortly after, I noticed the edges pods had completely disappeared. This was due to the pipeline failing from an error in my pipeline spec.

osephZckersMBP:~ joeyzwicker$ kc get pods
NAME                        READY     STATUS    RESTARTS   AGE
dash-6d87bb6455-xx4dv       2/2       Running   0          3h
etcd-6f9d874f4f-xxfrn       1/1       Running   0          3h
pachd-68f98c559-wl4zd       1/1       Running   0          3h
pipeline-model-v4-fl4pp     2/2       Running   0          1m
pipeline-montage-v2-78v4c   2/2       Running   0          1m
pipeline-select-v1-t6xg8    2/2       Running   0          3h
pipeline-split-v1-9wlhr     2/2       Running   0          3h
pipeline-test-v4-mfhgp      2/2       Running   0          1m
JosephZckersMBP:~ joeyzwicker$ pc list-pipeline
NAME                INPUT                                                                                OUTPUT              CREATED              STATE
edges               images:/*                                                                                edges/master        About a minute ago   failure
montage             (edges:/ ⨯ images:/)                                                                       montage/master      About a minute ago   running
select              (model:/ ⨯ test:/)                                                                         select/master       3 hours ago          running
test                (model:/* ⨯ split:/test.csv)                                                               test/master         About a minute ago   running
model               (parameters:/c_parameters.txt/* ⨯ parameters:/gamma_parameters.txt/* ⨯ split:/train.csv)   model/master        About a minute ago   running
split               raw_data:/                                                                                split/master        3 hours ago          running

pc inspect-pipeline edges
Name: edges
Created: 2 minutes ago
State: failure
Reason: Failed to apply default image tag "pachyderm/opencv:": couldn't parse image reference "pachyderm/opencv:": invalid reference format
Parallelism Spec: constant:2
ResourceRequests:
	CPU: 0
	Memory: 64M

Datum Timeout: (duration: nil Duration)
Job Timeout: (duration: nil Duration)
Input:
{
  "atom": {
    "name": "images",
    "repo": "images",
    "branch": "master",
    "glob": "/*"
  }
}

Output Branch: master
Transform:
{
  "image": "pachyderm/opencv:",
  "cmd": [
    "python3",
    "/edges.py"
  ]
}

Job Counts:
starting: 0	running: 0	failure: 0	success: 0

Updated the pipeline spec to remove the errant :, but the rc nor pipeline never got recreated.

JosephZckersMBP:~ joeyzwicker$ kc get pods
NAME                        READY     STATUS    RESTARTS   AGE
dash-6d87bb6455-xx4dv       2/2       Running   0          3h
etcd-6f9d874f4f-xxfrn       1/1       Running   0          3h
pachd-68f98c559-wl4zd       1/1       Running   0          3h
pipeline-model-v4-fl4pp     2/2       Running   0          3m
pipeline-montage-v2-78v4c   2/2       Running   0          2m
pipeline-select-v1-t6xg8    2/2       Running   0          3h
pipeline-split-v1-9wlhr     2/2       Running   0          3h
pipeline-test-v4-mfhgp      2/2       Running   0          3m
JosephZckersMBP:~ joeyzwicker$ pc list-pipeline
NAME                INPUT                                                                                OUTPUT              CREATED             STATE
montage             (edges:/ ⨯ images:/)                                                                       montage/master      3 minutes ago       running
edges               images:/*                                                                                edges/master        29 seconds ago      failure
select              (model:/ ⨯ test:/)                                                                         select/master       3 hours ago         running
test                (model:/* ⨯ split:/test.csv)                                                               test/master         3 minutes ago       running
model               (parameters:/c_parameters.txt/* ⨯ parameters:/gamma_parameters.txt/* ⨯ split:/train.csv)   model/master        3 minutes ago       running
split               raw_data:/                                                                                split/master        3 hours ago         running
JosephZckersMBP:~ joeyzwicker$ pc inspect-pipeline edges
Name: edges
Created: 40 seconds ago
State: failure
Reason: Failed to apply default image tag "pachyderm/opencv:": couldn't parse image reference "pachyderm/opencv:": invalid reference format
Parallelism Spec: constant:2
ResourceRequests:
	CPU: 0
	Memory: 64M

Datum Timeout: (duration: nil Duration)
Job Timeout: (duration: nil Duration)
Input:
{
  "atom": {
    "name": "images",
    "repo": "images",
    "branch": "master",
    "glob": "/*"
  }
}

Output Branch: master
Transform:
{
  "image": "pachyderm/opencv",
  "cmd": [
    "python3",
    "/edges.py"
  ]
}

Job Counts:
starting: 0	running: 0	failure: 0	success: 0

kc get all
NAME           DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deploy/dash    1         1         1            1           3h
deploy/etcd    1         1         1            1           3h
deploy/pachd   1         1         1            1           3h

NAME                 DESIRED   CURRENT   READY     AGE
rs/dash-5766b55684   0         0         0         3h
rs/dash-6d87bb6455   1         1         1         3h
rs/etcd-6f9d874f4f   1         1         1         3h
rs/pachd-68f98c559   1         1         1         3h

NAME           AGE
deploy/dash    3h
deploy/etcd    3h
deploy/pachd   3h

NAME                 AGE
rs/dash-5766b55684   3h
rs/dash-6d87bb6455   3h
rs/etcd-6f9d874f4f   3h
rs/pachd-68f98c559   3h

NAME                           READY     STATUS    RESTARTS   AGE
po/dash-6d87bb6455-xx4dv       2/2       Running   0          3h
po/etcd-6f9d874f4f-xxfrn       1/1       Running   0          3h
po/pachd-68f98c559-wl4zd       1/1       Running   0          3h
po/pipeline-model-v4-fl4pp     2/2       Running   0          6m
po/pipeline-montage-v2-78v4c   2/2       Running   0          6m
po/pipeline-select-v1-t6xg8    2/2       Running   0          3h
po/pipeline-split-v1-9wlhr     2/2       Running   0          3h
po/pipeline-test-v4-mfhgp      2/2       Running   0          6m

NAME                     DESIRED   CURRENT   READY     AGE
rc/pipeline-model-v4     1         1         1         6m
rc/pipeline-montage-v2   1         1         1         6m
rc/pipeline-select-v1    1         1         1         3h
rc/pipeline-split-v1     1         1         1         3h
rc/pipeline-test-v4      1         1         1         6m

NAME                      TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                                                   AGE
svc/dash                  NodePort    <IP_ADDRESS>     <none>        8080:30080/TCP,8081:30081/TCP                             3h
svc/etcd                  NodePort    <IP_ADDRESS>    <none>        2379:32379/TCP                                            3h
svc/kubernetes            ClusterIP   <IP_ADDRESS>        <none>        443/TCP                                                   22h
svc/pachd                 NodePort    <IP_ADDRESS>     <none>        650:30650/TCP,651:30651/TCP,652:30652/TCP,999:30999/TCP   3h
svc/pipeline-model-v4     ClusterIP   <IP_ADDRESS>    <none>        80/TCP                                                    6m
svc/pipeline-montage-v2   ClusterIP   <IP_ADDRESS>   <none>        80/TCP                                                    6m
svc/pipeline-select-v1    ClusterIP   <IP_ADDRESS>    <none>        80/TCP                                                    3h
svc/pipeline-split-v1     ClusterIP   <IP_ADDRESS>       <none>        80/TCP                                                    3h
svc/pipeline-test-v4      ClusterIP   <IP_ADDRESS>     <none>        80/TCP                                                    6m

There's a general problem here that we can never truly "fix" which is that if you schedule enough things on kubernetes everything will grind to a halt, the only thing you can do in this scenario is issue kubectl commands to try to clean things up, and of course if you have enough stuff running it won't do any good.
The things we can do for this issue are making the master process more resilient and moving more of it into the pachd pod and out of the pipeline pods because that makes things more fragile since pods need to be scheduled to get scheduling actions to happen so cascading failures are more common. We've done both of those things since this issue was created.
I don't think there's anything else actionable left in this issue so I'm going to close this, feel free to reopen if you've got something more concrete we can do here, or a more concrete problem.


Add a final iteration to the Config.compile loop

This handles the case where changes have been introduced to a single layer and merged to the compiled configuration but have not yet been passed back through other layers' compilations, resulting in all layers appearing to be clean.

👍  I like the comment about how the algorithm works. I really want a test for this ('cause it feels like an edge case that would be easy to break in a future refactor), but I have no idea how to write it.

👍 Thanks for adding the test!


Dashboard deployment

Identify methods to deploy the eBOS 5G-ERA Dashboard with the Middleware.
Possible scenarios:

Dashboard deployed with the Middleware itself (multiple dashboard instances).
Dashboard deployed with the Central API (single dashboard instance).

On the meeting with eBOS regarding the dashboard we got the information that they will provide us with the docker container within 2 weeks time, until then we can postpone this issue.

We have received container images for the dashboard. To access them please contact me, as they're not public. We will have to include them in the Infrastructure deployment.


Getting 'None' for all channel values

Hey guys!
I followed this (Setting up SITL on Windows) guide to setup SITL and flightgear (for planes). Now I am able to launch the simulator and load my Tarananis X9D joystick with mavproxy command module load joystick to control the plane. I am also able to connect to the simulator from the phone using QGroundControl with udp.
Now I want to connect to the simulator from a python script using dronekit-python lib and read all rc channels values. Here is my script:
from dronekit import connect
import cv2

def channels_callback(self, attr_name, value):
	 newChannels = value
	 print("Ch1 from callback: %s" % newChannels['1'])
	 print("Ch2 from callback: %s" % newChannels['2'])
	 print("Ch3 from callback: %s" % newChannels['3'])

# Connect to the Vehicle
print('Connecting to vehicle')
vehicle = connect('udp:<IP_ADDRESS>:14555', wait_ready=True, timeout=90)
print('Connected')

# Get all original channel values
print("Channels:", vehicle.channels)

vehicle.add_attribute_listener("channels", channels_callback)

while True:
	print("Ch1: %s" % vehicle.channels['1'])
	print("Ch2: %s" % vehicle.channels['2'])
	print("Ch3: %s" % vehicle.channels['3'])
	if cv2.waitKey(1) & 0xFF == ord('q'):
		break

#Close vehicle object before exiting script
print("\nClose vehicle object")
vehicle.close()

print("Completed")

The connection part is always successful, but the channel values reading fails. In the while loop all 3 print statements always print 'None' and the callback function is never called. The channels original values are also 'None':
# Get all original channel values
print("Channels:", vehicle.channels)

Any help would be appreciated.

I had the same problem and solved it by using a decorator on_message listener:

      @self.vehicle.on_message('RC_CHANNELS')
      def chin_listener(self, name, message):
         # print '%s attribute is: %s' % (name, message)
         global pitch
         global roll
         global mod
         global flag_rec

         pitch=message.chan2_raw    # copter (throttle)
         roll=message.chan1_raw     # copter (angle)
         # throttle=message.chan3_raw # copter (throttle)
         mod=message.chan6_raw      # fly, stop, shift left, right, switch SD
         flag_rec=message.chan7_raw # drive - record mode, switch SG
         # print 'channels:',pitch,roll,mod,flag_rec

Remark: it does not work for all messages

my vehicle is defined in a python class, therefor I refer to "vehicle" as "self.vehicle".

Can you please share the whole vehicle class

@phil-toppe were you able to find out and solve this issue? I too am getting None values for all my 8 channels. Thanks!

@jakobjackson2016, I found a work around for the time when the channels return None.  Its a shame that from time to time the channels report none even though the information is correctly being sent and received by drone kit.
In short I use a decorator when the channels return None to load a global which seems to work reliably for me
global PH_Channels
PH_Channels = None
def Channel(self,chNum):
	if self.vehicleConnected is True:
		if self.vehicle.channels[1] == None :
			try:
				if PH_Channels == None:
					if self.vehicle.channels[7] == None:
						self.VE.Inform("Channel are None - decorator being deployed on RC_Channels",1,"AP")

						@self.vehicle.on_message('RC_CHANNELS')
						def RCIN_listener(self, name, message):

							global PH_Channels

							tempchan = []
							tempchan.append(0)
							tempchan.append(message.chan1_raw)
							tempchan.append(message.chan2_raw)
							tempchan.append(message.chan3_raw)
							tempchan.append(message.chan4_raw)
							tempchan.append(message.chan5_raw)
							tempchan.append(message.chan6_raw)
							tempchan.append(message.chan7_raw)
							tempchan.append(message.chan8_raw)
							tempchan.append(message.chan9_raw)
							tempchan.append(message.chan10_raw)
							tempchan.append(message.chan11_raw)
							tempchan.append(message.chan12_raw)
							tempchan.append(message.chan13_raw)
							tempchan.append(message.chan14_raw)

							PH_Channels = tempchan

					channel = None
				else:
					channel = PH_Channels[chNum]
			except:
				channel = None
		else:
			channel = self.vehicle.channels[int(chNum)]
	else:
		channel = None
	return channel

Are there any causes of this one? I was able to access channels in my R-Pi. When I tried to download another firmware in my Pixhawk, the values return None.

Can I ask how do you put this one in full code @avncalst

I had the same problem and solved it by using a decorator on_message listener:

      @self.vehicle.on_message('RC_CHANNELS')
      def chin_listener(self, name, message):
         # print '%s attribute is: %s' % (name, message)
         global pitch
         global roll
         global mod
         global flag_rec

         pitch=message.chan2_raw    # copter (throttle)
         roll=message.chan1_raw     # copter (angle)
         # throttle=message.chan3_raw # copter (throttle)
         mod=message.chan6_raw      # fly, stop, shift left, right, switch SD
         flag_rec=message.chan7_raw # drive - record mode, switch SG
         # print 'channels:',pitch,roll,mod,flag_rec

Remark: it does not work for all messages

It's a know bug, best way round it it to use a decorator to get the values
when None is returned
Tom
On Mon, 24 Oct 2022, 02:06 John Mel Bolaybolay, @.***>
wrote:

Can I ask how do you put this one in full code @avncalst
https://github.com/avncalst
I had the same problem and solved it by using a decorator on_message
listener:
  @self.vehicle.on_message('RC_CHANNELS')
  def chin_listener(self, name, message):
     # print '%s attribute is: %s' % (name, message)
     global pitch
     global roll
     global mod
     global flag_rec

     pitch=message.chan2_raw    # copter (throttle)
     roll=message.chan1_raw     # copter (angle)
     # throttle=message.chan3_raw # copter (throttle)
     mod=message.chan6_raw      # fly, stop, shift left, right, switch SD
     flag_rec=message.chan7_raw # drive - record mode, switch SG
     # print 'channels:',pitch,roll,mod,flag_rec

Remark: it does not work for all messages
—
Reply to this email directly, view it on GitHub
https://github.com/dronekit/dronekit-python/issues/969#issuecomment-1288267815,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGVCU3KWYP3D2FPROP5IYJ3WEXOKNANCNFSM4IPP6EKA
.
You are receiving this because you commented.Message ID:
@.***>


Can you specify the RPO/RTO metrics for fail over and fail back?

[Enter feedback here]

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

ID: a925494b-31b5-b856-4448-f6925c41047a
Version Independent ID: 3b73b271-189c-cf3f-fd46-36386abcd2e6
Content: Azure Key Vault availability and redundancy - Azure Key Vault
Content Source: articles/key-vault/general/disaster-recovery-guidance.md
Service: key-vault
Sub-service: general
GitHub Login: @ShaneBala-keyvault
Microsoft Alias: sudbalas

@pdhimate Thanks for the feedback. We will engage the content development team for further investigation, they will verify and perform necessary changes in the document as needed.
@ShaneBala-keyvault Can you have a look ?

Key Vault uses Azure Storage with RA-GRS for data replication and therefore carries the same replication behavior as Azure Storage RA-GRS. https://docs.microsoft.com/en-us/azure/storage/common/storage-redundancy #please-close

Key Vault uses Azure Storage with RA-GRS for data replication and therefore carries the same replication behavior as Azure Storage RA-GRS. https://docs.microsoft.com/en-us/azure/storage/common/storage-redundancy #please-close


fix: move push prompt logic to typescript, fix token registration bugs

This PR resolves MOPLAT-748
Description

Moves our push prompt logic to typescript and uses for Android as well.
Our intended push prompt logic:

Show a soft prompt dialog before the system dialog, user expresses interests (taps OK) show the system prompt
If a user rejects the soft prompt, do nothing for 2 weeks, after 2 weeks prompt again
Does not request more than once per session
If push permissions are denied it shows a link to settings only once so users can enable

Intended bug fixes:

Android 13 was showing push dialog immediately on app launch
We were not refreshing the push token on iOS if user changed accounts or environments, this clears token on log out and makes sure we refresh even if status is authorized

Follow-ups:

we need to migrate to a supported push notification library, maybe wix, callbacks not being called prevented using same logic across iOS and Android, if we do this we can in theory get rid of most native code around this
move push analytics events to cohesion and make consistent with cohesion schema

For Reviewers

I don't have an Android 13 device! If anyone with a device could test that the pre-prompt and push prompt are showing up correctly when landing on Home Screen it would be appreciated! 🙏

PR Checklist

[ ] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[ ] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[x] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

Move push prompt logic to typescript, fix bugs - Brian

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

Since I haven't been able to test on a physical Android device, going to move to draft for now and keep out of the upcoming release. Please feel free to give any feedback in meantime 🙏


metro: add support for unstable_enablePackageExports

Metro 0.75.1 will be the first version with support for exports map: https://github.com/facebook/metro/issues/670#issuecomment-1434510835
We need to make sure that when this flag is enabled, our plugins will also honor it.

I am not sure if I was using it correctly but for me, this option was not working when used with @rnx-kit/metro-resolver-symlinks
I was using the following config
const { makeMetroConfig } = require('@rnx-kit/metro-config');
const MetroSymlinksResolver = require('@rnx-kit/metro-resolver-symlinks');

module.exports = makeMetroConfig({
	projectRoot: __dirname,
	resolver: {
		resolveRequest: MetroSymlinksResolver(),
		unstable_enablePackageExports: true,
	},
});

After removing @rnx-kit/metro-resolver-symlinks and replacing it with unstable_enableSymlinks everything started working fine again.
This is the updated config
const { makeMetroConfig } = require('@rnx-kit/metro-config');

module.exports = makeMetroConfig({
	projectRoot: __dirname,
	resolver: {
		unstable_enableSymlinks: true,
		unstable_enablePackageExports: true,
	},
});

I am not sure if I was using it correctly but for me, this option was not working when used with @rnx-kit/metro-resolver-symlinks

Hi, can you open a bug report here: https://github.com/microsoft/rnx-kit/issues/new?assignees=&labels=bug&projects=&template=bug_report.yml
We need more details to help you investigate this. When you say "working fine again", what exactly didn't work before? Did it crash? Did the bundling fail? Did the app fail to run? And most importantly, we want a minimal repro. If we cannot reproduce the error you're seeing, we cannot help you.


container-by-image topology can't display details

Containers by Image topology is blank unless All Namespaces filter is selected. And even then clicking on any node gives a 'no such node' details screen:

Suspect this may be related to introducing the k8s filters for container views, but that's pure speculation.

These appear to be two seperate issues, as I can't reproduce the topology being blank outside prod.

I went as far back as I could in the history until I got build errors from npm modules that no longer work. It's broken on every version I try.
But it's more likely that the bug is manifesting in some way that the version changes weren't fixing it, eg. in browser local state (despite my best efforts to reset it).

After some investigation, me and @jpellizzari reckon this is a UI issue involving image names containing /

Found it. This problem is Weave Cloud specific. Authfe is mangling the url string by rewriting it to use a literal / instead of a url-escaped %2F. Debug logs from a local test:
Forwarding GET /api/topology/containers-by-image/prom%2Fmemcached-exporter%3B%3Ccontainer_image%3E to query.scope.svc.cluster.local:80, final URL: http://query.scope.svc.cluster.local:80/api/topology/containers-by-image/prom/memcached-exporter;%3Ccontainer_image%3E

Aligned for clarity:
/api/topology/containers-by-image/prom%2Fmemcached-exporter%3B%3Ccontainer_image%3E
/api/topology/containers-by-image/prom/memcached-exporter;%3Ccontainer_image%3E

Closed by #1192


add device condition for vacuum

Description:
Added the device condition for vacuums per the directions in #27006
Related issue (if applicable): fixes #27006
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If the code does not interact with devices:

[x] Tests have been added to verify that the new code works.

Missed the TODO comments, will fix.

@ChrisBarthol this PR can be closed as it has been superseded by #28551


Locale en-SG is capitalized differently

Describe the bug
While all locales are always lowercased (e.g. en-au, fr-ca, ...), en-SG is capitalized.  Also, e.g. moment.locale('en-sg') does not work, although it would be reasonable to expect it to.
To Reproduce
Steps to reproduce the behavior:
See all locales via moment.locales() - all are lowercased, except for en-SG.
Expected behavior
en-SG should be renamed to en-sg
Moment-specific environment

This happens on<EMAIL_ADDRESS>

I already warned about this when merged: https://github.com/moment/moment/pull/4951#issuecomment-464076691. But no reaction yet, thanks for the PR.

hey, can I give it a try?

hi, can I fix this?

bug：moment().format('YYYY-MM-DD HH:MM:SS') =》"2019-03-05 10:03:79"  SS>59

@PN-linshifeng irrelevant to this issue and not a bug: use mm:ss, not MM:SS

I just wanted to open a ticket so at least I will post a link to play with for maintainers :
jsfiddle

I am seeing warnings from webpack about this locale's casing. I haven't attempted a minimal reproduction as of yet however.
WARNING in ./node_modules/moment/locale/en-SG.js
There are multiple modules with names that only differ in casing.
This can lead to unexpected behavior when compiling on a filesystem with other case-semantic.
Use equal casing. Compare these module identifiers:
* /home/jaxsun.mccarthy/project/web/node_modules/moment/locale/en-SG.js
    Used by 2 module(s), i. e.
    /home/jaxsun.mccarthy/project/web/node_modules/moment/locale sync /^\.\/.*$/
* /home/jaxsun.mccarthy/project/web/node_modules/moment/locale/en-sg.js
    Used by 2 module(s), i. e.
    /home/jaxsun.mccarthy/project/web/node_modules/moment/locale sync /^\.\/.*$/
 @ ./node_modules/moment/locale/en-SG.js
 @ ./node_modules/moment/locale sync ^\.\/.*$
 @ ./node_modules/moment/moment.js

This is with moment 2.26.0

I think I resolved this warning for myself locally. It seems like yarn may have mistakenly kept both files after a version upgrade since they only differed by case or something like that. After clearing my yarn cache and deleting node_modules the issue disappeared.

@Jaxsun, that is a bug in yarn then. What version of yarn were you on when you had this issue?

@peterchaula I am currently on 1.22.5, I think I'm on the same version I was in June, but cannot be 100% sure. Sorry for the late reply. I haven't had this issue recur since I commented on this ticket.


cachi2: allow only relative paths

For security reasons, only relative paths within cloned remote source can be specified by users
Maintainers will complete the following section

[ ] Commit messages are descriptive enough
[ ] Code coverage from testing does not decrease and new code is covered
[ ] Python type annotations added to new code
[ ] JSON/YAML configuration changes are updated in the relevant schema
[ ] Changes to metadata also update the documentation for the metadata
[ ] Pull request has a link to an osbs-docs PR for user documentation updates
[ ] New feature can be disabled from a configuration file

Updated to check symlinks, PTAL


Implement query to multi-proxy

@marla-singer Could you add a basic description for this issue? It would make it easier to follow the status and progress of dashboard, if the issues have even as brief description of purpose/goal.

@bajiat I'd like to label this issue as "icebox" or leave it for the second iteration of Dashboard. The main idea is to implement logic which will support sending request to couple couple ElasticSearch Data Storage. It means that we support multi-proxy but current realization allows to send request to only one proxy. I create this issue to don't forget about this point.

@marla-singer I can move this to icebox, but it still requires a description. Can you add the description / basic need?


Change panel_35 to load data from geocat-datafiles

Not implementing generate_2d_array as in https://github.com/NCAR/geocat-viz/pull/175 because it is too niche and doesn't need to be re-run.
Instead adding data to geocat datafiles in https://github.com/NCAR/geocat-datafiles/pull/57
Move this code to geocat-scratch and change example to load data.

Similar effort needs to be done in NCL_minmax_3 https://github.com/NCAR/geocat-examples/blob/d9ee8ff76d8a8a6d4a4b212707fd2d3edd1f25f7/Gallery/Contours/NCL_minmax_3.py#L54


Fix: Accessibility drop-down labels are now internationalized.

resolves #531
Accessibility drop-down labels are now internationalized.

Thanks @shibomb for catching this bug and fixing it!


Support TIMESTAMP '' in where

Thoughtspot generates queries on timestamps like below
WHERE (
  "ta_1"."booked_date" >= TIMESTAMP '2021-01-01 00:00:00.0'
)

But this is currently not supported in metriql, I guess it should be?

Anything I can do here? This is kind of blocking our evaluation :)

@AndreasTA-AW, I'm on it. :) It should be implemented this week.

Sweet! Thanks for the quick response

Thanks!


Allow CORS on static file serving

Hello, and thank you for this wonderful lib, dynamic options are the greatest.
Now to problem.
I have this configuration,
app.options('*', cors());
All static files are loading well but the font files which returns CORS issue.
Static file serving is done this way.
app.use(express.static(myParh))
Thank you.

Hi @shekspir55 it's hard to really say without getting the full app from you to run and debug, but I can at least say that it is probably due to the wrong usage of the module -- you need to app.use this module:
app.use(cors)

The app.options is only a subset and will not apply CORS to the "simple requests", which assets (like fonts) typically are.
I hope that helps!

I noticed that app.use(cors) needs to be above the static folder lines.


Introduce testing to App Framework

Unit tests

Scripts
Client code
Demo App

Functional tests
Manual tests

Checklists

Document how to test own App

Code tests done, docs done, units tests linked to #681


Lack of support for ssl

When url to the remote file is specified by https protocol then EOFError: end of file reached is raised from the Net::HTTP

Can you give me a self-contained example that reproduces the problem, or at least the URL for which you're getting this exception and the backtrace of the exception?

Problematic url is https://kbob.github.io/images/sample-3.jpg.
After enabling ssl in #request method everything works properly
Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == 'https') do |http|

@przemyslaws-iRonin To confirm, this error occurs when #exists? or #delete storage method is called? Because #download and #open are using the Down gem, which should have correct SSL handling.

Ok, I've managed to reproduce the issue, and am pushing a fix.


[ADD] Implement matmat via for-loop over matvec

Add to example (computing the Hessian matrix via HMPs)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 3 (66.67%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.5%) to 82.517%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

curvlinops/_base.py
2
3
66.67%

Totals

Change from base Build<PHONE_NUMBER>:
-0.5%

Covered Lines:
118

Relevant Lines:
143

💛  - Coveralls


Non-English locales have a broken watermark alignment

Attachments

image.png (26 KiB)

Originally written by chomp

Fixed with: https://dev.sp-tarkov.com/SPT-AKI/Server/commit/c879e852ed26e53abcedde8c03b30553684f8d13

Originally written by chomp


qbittorrent: 4.2.5 -> <IP_ADDRESS>

Motivation for this change
qBittorrent received a major and a follow-up minor fix release.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

nixpkgs-review:
2 packages built:
qbittorrent qbittorrent-nox


Compilation failure - "Could not determine gpg version"

I downloaded ffmpeg-cli-wrapper-master.zip from github, unpacked it and imported the contents into Netbeans 13 using the "Java with Maven" option and "Project with existing POM".
When I "Clean and Build", I get the following error:
Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:3.2.0:sign (sign-artifacts) on project ffmpeg: Could not determine gpg version -> [Help 1]
Of course I have tried to find a reason and solution to this on the internet, but couldn't find one. I am a complete novice with Maven, so help with this would be appreciated.
Thanks.

I have resolved this issue, basically I had to set gpg on my system and generate keys, passphrase. and when building the project pass that phrase as argument -Dgpg.passphrase=.

Good to have found a solution, ankit0038, but I had got what I needed a long time ago. This second brush with Maven has confirmed my first experience that it's not for me - far to steep a learning curve and can't really see any benefit for what I do. But thanks anyway.


fix wrong reference to package

need different format for npm

hmm do you think this has todo with my changes? i think the package resolve does work again now.

Yes. Thanks again.


Speedup snapshot stale indices delete

Fix for issue: https://github.com/elastic/elasticsearch/issues/61513
Description
Current implementation cleanupStaleIndices() of snapshot deletion is very slow . Snapshot deletion code deletes each stale indices from repository one after another sequentially .
With this code changes instead of making snapshot delete of stale indices a single threaded operation we make it multithreaded operation and delete multiple stale indices in parallel using SNAPSHOT thread pool's workers.
I have added more tests to make sure outage scenario and failover scenario is handled.
Issues Resolved
https://github.com/elastic/elasticsearch/pull/64513
Check List

[ Y] New functionality includes testing.

[ Y] All tests pass

[Y] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

can you amend the commit message to add sign-off for DCO?  git commit --amend -s

start gradle check

Merged.. Thank you @piyushdaftary  /cc @AmiStrn