Integrate "Plain" adapter fixes from Premailer

The Premailer HTML to plain text converter received a number of fixes since the version here was last updated.
Would it be possible to integrate those fixes into this gem?

As a test, I tried pulling in the latest premailer and using its HtmlToPlainText module (as you linked above).
However, it seems that its behavior has changed quite a bit. Below are before/after shots comparing the builtin PlainStrategy with an updated version using the latest HtmlToPlainText from premailer:
before:

after:

That's not to say there aren't potentially useful fixes, but it can't be a drop-in update.


Missing a space after ConfigMaps resource

All other resources have a space after being linked.
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#-strong-config-and-storage-apis-strong-

https://github.com/kubernetes-sigs/reference-docs/pull/175


Getting array of rows - coming from xls-js

I was using this function with xls-js to get an array of rows.  What would the equivalent be for reading XLSX files?
        var sheet2arr = function(sheet){
           var result = [];
           var row;
           var rowNum;
           var colNum;
           for(rowNum = sheet['!range'].s.r; rowNum <= sheet['!range'].e.r; rowNum++){
              row = [];
               for(colNum=sheet['!range'].s.c; colNum<=sheet['!range'].e.c; colNum++){
                  var nextCell = sheet[
                     XLS.utils.encode_cell({r: rowNum, c: colNum})
                  ];
                  if( typeof nextCell === 'undefined' ){
                     row.push(void 0);
                  } else row.push(nextCell.w);
               }
               result.push(row);
           }
           return result;
        };

It seems to no longer have sheet['!range']?

You can close or delete this.  It was answered here: https://github.com/SheetJS/js-xlsx/issues/270#issuecomment-283992162


Potential enhancement of booking feature for qod-provision

Problem description
In Issue #268, there was discussion on booking feature for QoD Provision API which is not supported by the API yaml file at this moment.
As the Issue #268 was closed, I would like to resume discussion here to add support the booking feature (booking start and end time of sessions in advance) for the API.
Possible evolution
Add two properties, which are booking start time and booking end time, in CreateProvision schema for QoD Provision API.
Alternative solution
Additional context
See comments in #268 (comment) where this point was discussed.

@Masa8106
Is it expected that the booking will create a "contract" between the API consumer and provider such that, if the time of the booking arrives but the QoS provisioning fails, then the API consumer will expect to be compensated?
Or is this feature just a courtesy for the API consumer so that they themselves don't need to automate requesting and terminating the QoS provisioning at some point in the future, but can rely on the API provider to make those requests? So the API provider makes the request at the scheduled time, but need not make any special provision in advance to ensure that the request succeeds at that time.
In other words, what would be the consequence to the API provider if a booking fails to be actioned at the booked time?

@eric-murray
Thank you for your comments.
Basically it is not expected that the booking will create a "contract" and then API provider will always take responsibility for compensation. The aim is to increase convenience for API consumers by providing a booking function on the API provider's side.
Of cource, from business perspective, there may be cases that some API providers provide this feature to API consumers on top of a contract. However, I think it is business matter.
From technical perspective, I think it is needed to consider mechanisms in a case to fail changing QoS at the booked time , e.g. mechanism for notification of failure to API consumer.

@jlurien
As discussed at the meeting on 6th September, I drafted a use case of this booking feature as the following.
I welcome your comments on this.
[Activities/Steps]
Starts when: The customer application server makes a POST request to the QoD provisioning API to book creating a new QoD session resource with a specified start time and duration and an available QoS Profile, and optionally registers a callback URL for receiving notification events.
Step1: The platform of the API Provider switches the QoS Flow with requested QoS profile at the specified start time. In case the callback URL was registered, a result to switch QoS Flow is notified to the customer application server.
Ends when: The customer application server makes a DELETE request to the QoD Provisioning API, or the QoD session resource deletion was triggered automatically because the set duration has expired.
[Exceptions]
Several exceptions might occur during the QoD Provisioning API operations

Fail to switch the specified QoS at the start time (e.g. due to lack of network resources)

Thanks @Masa8106. We have to refine the details, for example around the statuses of the life cycle. We already have REQUESTED, AVAILABLE and UNAVAILABLE. One possibility is to keep status as REQUESTED until start time, or we may define a new status BOOKED, to make more explicit that booking request has been accepted and it is scheduled.

or we may define a new status BOOKED, to make more explicit that booking request has been accepted and it is scheduled

What about SCHEDULED instead BOOKED?

Hi @hdamker, @jlurien, @eric-murray
Let me respond to some comments from you in the previous meeting on 4th October.
I illustrated a draft state diagram which I assume at this moment.
    stateDiagram
    [*] --> Requested : API Invocation
    Requested --> Scheduled : Booking accepted
    Requested --> [*] : Booking declined
    Scheduled --> Available : Creation of QoS Flow
    Scheduled --> Unavailable : Failure to create QoS Flow
    Available --> [*] : Duration expiration, Delete booking
    Unavailable --> [*] : Delete booking

And regarding the question if the “booking” comes with reservation of resources or only a scheduling of the session/provisioning creation, I intend this API treats only a scheduling of the session/provisioning creation.
This is because the original QoD API and QoD Provisioning API don't have resource reservation capability in my understanding.
I think we can use APIs to reserve resources, e.g. NetworkSliceBooking API and/or Dedicated NW API, togather with this API, if needed.

Another topic that was raised during the previous meeting is whether location should be considered for the booking, to accept the booking. If not, the implementation would need to decide at startTime whether the requested session/provisoning can be created at the device location in that moment, so an accepted booking wouldn't mean any guarantee, only a postponed decision depending on the device conditions at startTime.

Thanks @Masa8106 for the update. This makes more sense to me. If we add the location input to the booking request, I think that the use case is more relevant for the session scenario (to reserve certain QoS at certain location for a given period), than for the indefinite provisioning scenario, as a device is not likely to be at same location indefinitely.

@Masa8106, as it was commented during the last meeting, this new functionality makes sense to be added as a new differentiated API.  Even if we proceed with a PR here, the right WoW would be to open also a new issue in the API Backlog Working Group, proposing the new API, filling the required templates, and discussing the content within that WG. This would help also to socialize more the proposal and get more explicit support from interested parties.

@jlurien, thank you for the advice. I will try to create a issue in the API Backlog WG and to discuss it, in parallel with proceeding RP here.

Reopening the issue as it was obviously closed by accident.


Provide alphabet to tokeniser

Some languages are going to consider dashes etc as characters of their alphabet, so we should override Unicode's categories for this case by providing the alphabet from a transducer as the primary source of truth of what belongs in a "word".

Try this to repeat:
echo 'nah-namisk' | divvunspell -sS -z /Library/Services/crk.bundle/Contents/Resources/crk-Latn-x-macron.zhfst

Install the zhfst file using the Divvun installer.


[BUG] Cannot read all attribute types via Python

Currently, the Python bindings cannot be used to read the values of attributes with more "exotic" types. This includes things like int64 (e.g. for ImageCache statistics like stat:cache_memory_used or stat:image_size), or string[] (e.g. for ImageCache all_filenames attribute).
Looking at the ImageBuf source, I have a feeling the same limitations more than likely apply there as well.
It would be great to be able to access these sorts of "extended" attributes using the Python API.

On it!

OK, I have solutions, some immediate and some coming soon.

I can see now that ImageCache.getattribute("name") is broken and will always fail. For ImageCache, you currently must specify the type you expect. So some of what you ask for will work right now, provided you supply the types:

import OpenImageIO as oiio

# Just force something to be seen by the cache
imgBuf = oiio.ImageBuf("build/testsuite/j2kp4files_v1_5/testfiles_jp2/file5.jp2")

ic = oiio.ImageCache()
total_files = ic.getattribute("total_files", 'int')
print ("total_files", ic.getattribute("total_files", 'int'))
print ("all_filenames", ic.getattribute("all_filenames", 'string[{}]'.format(total_files)))

prints:
total_files 1
all_filenames ('build/testsuite/j2kp4files_v1_5/testfiles_jp2/file5.jp2',)

It is currently broken to ask for the attributes (in Python) that are int64 or uint64. For that reason, you can't get stat:cache_memory_used or stat:image_size, because they are int64.

I have a tiny patch that fixes this, coming right up!

Making getattribute() work without passing the type is trickier, turns out that I need to make a breaking change to a C++ API to pull it off. There's just enough time to squeeze it into OIIO 2.5, which I was going to release today, but which I think is worth postponing for this.

For ImageCache, you currently must specify the type you expect. So some of what you ask for will work right now, provided you supply the types

Ah, I didn't realize that you could pass string type symbols. I've confirmed that using a sized string[]... string works (I was just trying to pass in oiio.TypeString originally).
However, the fact that you need to include the array length for those seems like it would basically break the ability to look up string[] attributes read from input image headers. Granted, I'm not aware of a real-world scenario where that could occur, but people do crazy stuff with TIFF containers with some regularity...

I have a tiny patch that fixes this, coming right up!

That's great, thank you!

Making getattribute() work without passing the type is trickier, turns out that I need to make a breaking change to a C++ API to pull it off. There's just enough time to squeeze it into OIIO 2.5, which I was going to release today, but which I think is worth postponing for this.

That's a great bonus! However, if it ends up being too much of a can of worms for a short-term fix, I don't think requiring a type to be passed is a huge deal.

yeah, the python bindings have an implicit ability to convert strings (e.g. 'int') to TypeDesc (TypeDesc(TypeDesc.INT)).

Proposed fix for getting int64/uint64 getattribute working: #3555


Improve the environment modules strategy in khiops_env (linux only)

Description
On fedora distro, if mpiexec is not found, khiops_env load the environment module of openmpi.
We don't deal with the case where mpich is loaded before khiops_env is started. In this case, we need to unload the inappropriate module and load openmpi.
Context

Linux

fix with e2b0b70c96c40dd6c13c184ace79d7ff858c2531 ?


Intermediate Test Engineer @ MATTR

Intermediate Test Engineer
Job type
Full-time
Location
Auckland, New Zealand
Company
MATTR
Job description
Intermediate Test Engineer
Contact
Ivan Cheng (程逸凡)

Role occupied, no members applied.


Required variables to create dedicated lv

https://bugzilla.redhat.com/show_bug.cgi?id=1490910#c11
What does this PR do?
Add required variables to docker-storage-setup to behave like dm when using overlay2
How should this be manually tested?
Deploy OCP cluster on top of VMware following the ref. arch.
Is there a relevant Issue open for this?
https://bugzilla.redhat.com/show_bug.cgi?id=1491268
https://bugzilla.redhat.com/show_bug.cgi?id=1490910#c11
Who would you like to review this?
cc: @dav1x PTAL

I'm not sure about the version_compare so I'd say to better test it first :D

@dav1x lint fixed (damn travis... xD)

Ill test it now @e-minguez


Minor typo with yum install of pkgconfig

In the current Dockerfile, pkgconfig is currently listed as pkconfig :)

Whoa, I never noticed! Thanks for pointing it out. I guess it was never needed. Do you want to create a PR to fix it or remove it?


Can i use it for routes group ?

Can i use it for routes group like laravel's route  as below :
Route::group(['namespace' => 'Admin'], function()
{
    // Controllers Within The "App\Http\Controllers\Admin" Namespace

    Route::group(['namespace' => 'User'], function() {
        // Controllers Within The "App\Http\Controllers\Admin\User" Namespace
    });
});

or
Route::group(['middleware' => 'auth'], function () {
    Route::get('/', function ()    {
        // Uses Auth Middleware
    });

    Route::get('user/profile', function () {
        // Uses Auth Middleware
    });
});

I just want to seperate different modules

If someone could implement this that would be good!

that would take a complete re-write.


New logo card provider

Hello,
The Visa had a rebranding logo, the same Mastercard.
Would you upgrade according to the new logo?
http://www.underconsideration.com/brandnew/archives/new_logo_and_brand_positioning_for_visa.php
http://www.underconsideration.com/brandnew/archives/new_logo_and_identity_for_mastercard_by_pentagram.php

Hi there, I just made a PR for this issue. Have a look at pull#359 .

Hi @qdbdbp , do you want to close this issue since this issue was done?

yes. job done :) txn


Update Hydra Nuget Version For Stream Analytics

Update Hydra Nuget Version For Stream Analytics
Do I need to update .nuget.proj PackageVersion?

Can one of the admins verify this patch?

Hi @atpham256, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (anpham). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@azuresdkci add to whitelist

Bumped up the PackageVersion property in the nuget.proj file


optimize: Ignore fields execute after image

[ ] I have registered the PR changes.

Ⅰ. Describe what this PR did
支持配置一些字段,使得后镜像的时候,忽略这些字段,不再执行校验
Ⅱ. Does this pull request fix one issue?

fixes #4558
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #4559 (c6efffb) into develop (a05e5d9) will decrease coverage by 0.01%.
The diff coverage is 36.53%.

@@              Coverage Diff              @@
##             develop    #4559      +/-   ##
=============================================
- Coverage      49.45%   49.43%   -0.02%
- Complexity      4071     4075       +4
=============================================
  Files            732      733       +1
  Lines          25521    25568      +47
  Branches        3153     3159       +6
=============================================
+ Hits           12621    12640      +19
- Misses         11554    11582      +28
  Partials        1346     1346

Impacted Files
Coverage Δ

...c/main/java/io/seata/common/ConfigurationKeys.java
0.00% <ø> (ø)

...n/src/main/java/io/seata/common/DefaultValues.java
0.00% <ø> (ø)

...a/io/seata/rm/datasource/sql/struct/TableMeta.java
94.73% <0.00%> (-1.70%)
:arrow_down:

.../rm/datasource/exec/BaseTransactionalExecutor.java
52.72% <16.66%> (-2.54%)
:arrow_down:

...utoconfigure/properties/client/UndoProperties.java
42.85% <25.00%> (-4.21%)
:arrow_down:

.../datasource/exec/IgnoreUncheckFieldController.java
51.72% <51.72%> (ø)

...very/registry/zk/ZookeeperRegisterServiceImpl.java
61.02% <0.00%> (-0.74%)
:arrow_down:

...erver/storage/file/session/FileSessionManager.java
50.95% <0.00%> (+0.63%)
:arrow_up:

哪些check放在IgnoreUncheckFieldController会不会好点?

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: a364176773:x: doubleDimpleYou have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: doubleDimple:x: a364176773You have signed the CLA already but the status is still pending? Let us recheck it.

Due to code conflicts and age, if you are still interested in participating in the community, please resubmit this pr to the 2.x branch after resolving the conflict.
由于代码冲突以及年代久远，如果你还有兴趣参与到社区，请解决完冲突后重新请提交这份pr至2.x分支中


RuntimeError from Click when Python 3 is configured to use ASCII

Seems like we should deal with this better.
I got this on:

CentOS 7 (running in Docker container)
Python 3.5

Step 17 : RUN cookiecutter https://github.com/pydanny/cookiecutter-django --no-input
Traceback (most recent call last):
  File "/usr/local/bin/cookiecutter", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.5/site-packages/click/core.py", line 700, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.5/site-packages/click/core.py", line 655, in main
    raise RuntimeError('Click will abort further execution '
RuntimeError: Click will abort further execution because Python 3 was configured to use ASCII as encoding for the environment. Either switch to Python 2 or consult http://click.pocoo.org/python3/ for mitigation steps.

For more details, see:

https://hub.docker.com/r/aroygreenfeld/centos7-django/builds/bvts94ha4u6pzdqhuxwbzdf/
https://github.com/audreyr/centos7-django/blob/master/Dockerfile

The error prompts you to g to http://click.pocoo.org/5/python3/, where the problem we're having is specifically mentioned in http://click.pocoo.org/5/python3/#python-3-surrogate-handling. The solution provided there is to change the LC_ALL and LANG values to match your regions locale. Example, if I'm in US I would set:
export LC_ALL=C.UTF-8
export LANG=C.UTF-8

@hackebrot, on the other hand would do the following:
export LC_ALL=de_DE.utf-8
export LANG=de_DE.utf-8

While this is easy enough to do on an individual basis, it's arguably an impossible solution for Cookiecutter. Especially when it comes to newcomers. Of course, Cookiecutter could change those environment variables when needed, but that's an ugly and potentially damaging 'solution'.

While this is easy enough to do on an individual basis, it's arguably an impossible solution for Cookiecutter. Especially when it comes to newcomers. Of course, Cookiecutter itself could change those environment variables when needed, but that's an ugly and potentially damaging 'solution'.
@pydanny I would argue that not setting LC_ALL and LANG is a wrong setup environment. And in such a matter it is impossible for any automated solution to be agnostic and do the right thing.
On the other hand, the only thing I dont like about this error message, is that the error message is (at least not straight forward) not clear enough for a newcomer.
I could imagine, that cookiecutter checks against set LC_ALL and LANG and in case one of them is not set it raises an error (with clicks informations and additional informations that point one straight to setting the two variables)?
Also documentation that discusses this error could be helpful, I guess.

While this is easy enough to do on an individual basis, it's arguably an impossible solution for Cookiecutter. Especially when it comes to newcomers. Of course, Cookiecutter itself could change those environment variables when needed, but that's an ugly and potentially damaging 'solution'.
@pydanny I would argue that not setting LC_ALL and LANG is a wrong setup environment. And in such a matter it is impossible for any automated solution to be agnostic and do the right thing.
On the other hand, the only thing I dont like about this error message, is that the error message is (at least not straight forward) not clear enough for a newcomer.
I could imagine, that cookiecutter checks against set LC_ALL and LANG and in case one of them is not set it raises an error (with clicks informations and additional informations that point one straight to setting the two variables)?
Also documentation that discusses this error could be helpful, I guess.

I think forcing people to figure out how to set their local language type is a bad idea. As much as I like Click, this is a pretty big hurdle for the "instant compatibility" we like to have on this project.

Here's a cumbersome fix we could try: http://stackoverflow.com/questions/32234393/encoding-issue-with-python3-and-click-package

I'd prefer to have a user-friendly error message that tells to set up LC_ALL and LANG but also points to our rtfd. :smirk_cat:

I think forcing people to figure out how to set their local language type is a bad idea.

I completely agree.
I dont know click good enough, but whenever you need to guess (force) a certain behavior related to these settings (better, if you need to force something related to these settings), your best bet is to check against LC_ALL, which overrides ALL custom LC_* variables.
What I don't get (and did not test yet) is whether it is needed to set both variables (which makes no sense to me). In my opinion it should be enough to set LANG. Did anyone test that yet?
LANG should really be set on any Linux. For desktop installation this is the case anyways as soon as you choose a language (which sets the LANG normally) using one of these modern WYSIWUG install wizards.
A good explanations about these variables can be found at https://unix.stackexchange.com/questions/87745/what-does-lc-all-c-do (choose the answer with ~100 upvotes).

https://twitter.com/mitsuhiko/status/662223960461942786 :grin:

https://twitter.com/mitsuhiko/status/662383781907709953 :heart_eyes_cat:


[Question] 希望能填加一个后台自动静音的功能

Checklist

[X] I have already read docs/Tips.md, but my question is not solved.
[X] My question was not mentioned by others, and it is not a duplicate question.

Description
希望能出一个后台自动静音的功能
Starward Version
0.11.0
Windows Version
22631.3155
Log
No response
Additional Context
No response

能再详细地描述一下吗

能再详细地描述一下吗

其实就是 不在前台焦点时，游戏静音

这个是游戏自身的功能


Docker Registry access error Although correctly logged in

Expected behavior
correctly logged in user can access docker registry
Steps to reproduce the behavior

log in
Create new container

Please try to login using your Docker ID (hub username) instead of your email. This should fix the issue.


JavaScript

JavaScript
User Story
As a boot camp student
I want the prework notes to be structured on a webpage
So that i can easily find and read the information
Acceptance Criteria
Given a Prework Study Guide website
WHEN I view the study guide
THEN I can see the four topics i learned listed along with a suggestion on what I should study first

Added JavaScript to project.


Build fails (hyprpm)

I'm quite new to the Hyprland ecosystem, apologies as I'm not very familiar with it.
I have the latest Hyprland installed (self-compiled, commit 220144276b8789d05e58df3e0452314c11b64728)
Output from running hyprpm -v add https://github.com/Duckonaut/split-monitor-workspaces:
allison ~ % hyprpm -v add https://github.com/Duckonaut/split-monitor-workspaces                                                                                [ OK ]
[v] version returned: Hyprland, built from branch main at commit 220144276b8789d05e58df3e0452314c11b64728  (layout: unfullscreen on toggle into tiled fullscreen).
Date: Sun Mar 10 17:31:49 2024
Tag: v0.36.0-97-g22014427

flags: (if any)

[v] parsed commit 220144276b8789d05e58df3e0452314c11b64728 at branch main
✔ adding a new plugin repository from https://github.com/Duckonaut/split-monitor-workspaces
  MAKE SURE that you trust the authors. DO NOT install random plugins without verifying the code and author.
  Are you sure? [Y/n]

 → Cloning https://github.com/Duckonaut/split-monitor-workspaces
✔ cloned
✔ found hyprpm manifest
✔ parsed manifest, found 1 plugins:
 → split-monitor-workspaces by Duckonaut version
✔ Hyprland headers OK
 → Building split-monitor-workspaces
✖ Plugin split-monitor-workspaces failed to build.

 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━  3 / 5  Building plugin(s)[v] shell returned:  -> cd /tmp/hyprpm/new && PKG_CONFIG_PATH="/home/allison/.local/share/hyprpm/headersRoot/share/pkgconfig" meson setup build --wipe
The Meson build system
Version: 1.3.2
Source dir: /tmp/hyprpm/new
Build dir: /tmp/hyprpm/new/build
Build type: native build
Project name: split-monitor-workspaces
Project version: 0.1
C++ compiler for the host machine: ccache c++ (gcc 13.2.1 "c++ (GCC) 13.2.1 20230801")
C++ linker for the host machine: c++ ld.bfd 2.42.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C++ supports arguments -std=c++23: YES
meson.build:8: WARNING: Consider using the built-in option for language standard version instead of using "-std=c++23".
Found pkg-config: YES (/usr/bin/pkg-config) 2.1.0
Run-time dependency hyprland found: YES 0.36.0
Run-time dependency pixman-1 found: YES 0.43.4
Run-time dependency libdrm found: YES 2.4.120
Build targets in project: 1

Found ninja-1.11.1 at /usr/bin/ninja

 -> cd /tmp/hyprpm/new && PKG_CONFIG_PATH="/home/allison/.local/share/hyprpm/headersRoot/share/pkgconfig" meson compile -C build
ninja: Entering directory `/tmp/hyprpm/new/build'
[1/2] Compiling C++ object libsplit-monitor-workspaces.so.p/src_main.cpp.o
FAILED: libsplit-monitor-workspaces.so.p/src_main.cpp.o
ccache c++ -Ilibsplit-monitor-workspaces.so.p -I. -I.. -I../include -I/home/allison/.local/share/hyprpm/headersRoot/include/hyprland/protocols -I/home/allison/.local/share/hyprpm/headersRoot/include/hyprland/wlroots -I/home/allison/.local/share/hyprpm/headersRoot/include -I/usr/include/pixman-1 -I/usr/include/libdrm -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -std=c++23 -DWLR_USE_UNSTABLE -fPIC -MD -MQ libsplit-monitor-workspaces.so.p/src_main.cpp.o -MF libsplit-monitor-workspaces.so.p/src_main.cpp.o.d -o libsplit-monitor-workspaces.so.p/src_main.cpp.o -c ../src/main.cpp
In file included from /home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/config/../Window.hpp:8,
                 from /home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/config/ConfigManager.hpp:16,
                 from /home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/Compositor.hpp:10,
                 from ../src/main.cpp:3:
/home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/config/../config/ConfigDataValues.hpp: In member function ‘virtual std::string CGradientValueData::toString()’:
/home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/config/../config/ConfigDataValues.hpp:64:5: warning: no return statement in function returning non-void [-Wreturn-type]
   64 |     }
      |     ^
In file included from ../src/main.cpp:6:
/home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/helpers/Workspace.hpp: At global scope:
/home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/helpers/Workspace.hpp:7:6: error: multiple definition of ‘enum eFullscreenMode’
    7 | enum eFullscreenMode : int8_t {
      |      ^~~~~~~~~~~~~~~
In file included from /home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/Compositor.hpp:24:
/home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/desktop/Workspace.hpp:7:6: note: previous definition here
    7 | enum eFullscreenMode : int8_t {
      |      ^~~~~~~~~~~~~~~
/home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/helpers/Workspace.hpp:15:7: error: redefinition of ‘class CWorkspace’
   15 | class CWorkspace {
      |       ^~~~~~~~~~
/home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/desktop/Workspace.hpp:15:7: note: previous definition of ‘class CWorkspace’
   15 | class CWorkspace {
      |       ^~~~~~~~~~
ninja: build stopped: subcommand failed.
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /tmp/hyprpm/new/build

✔ all plugins built
✔ installed repository
✔ you can now enable the plugin(s) with hyprpm enable
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  5 / 5  Done!

I can reproduce

Im struggling with the exact same issue. Im on arch using hyprland 0.37.1-1

Same issue here. Just updated to hyprland 0.37.1-1 on Arch:
╰─❯ hyprpm -v add https://github.com/Duckonaut/split-monitor-workspaces
[v] version returned: Hyprland, built from branch HEAD at commit c5e28ebcfe00a510922779b2c568cfa52a317445  (props: bump ver 0.37.1).
Date: Sat Mar 16 14:51:49 2024
Tag: v0.37.1

flags: (if any)

[v] parsed commit c5e28ebcfe00a510922779b2c568cfa52a317445 at branch HEAD
✔ adding a new plugin repository from https://github.com/Duckonaut/split-monitor-workspaces
  MAKE SURE that you trust the authors. DO NOT install random plugins without verifying the code and author.
  Are you sure? [Y/n]

 → Cloning https://github.com/Duckonaut/split-monitor-workspaces
✔ cloned
✔ found hyprpm manifest
✔ parsed manifest, found 1 plugins:
 → split-monitor-workspaces by Duckonaut version
✔ Hyprland headers OK
 → Building split-monitor-workspaces
✖ Plugin split-monitor-workspaces failed to build.

 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━  3 / 5  Building plugin(s)[v] shell returned:  -> cd /tmp/hyprpm/new && PKG_CONFIG_PATH="/home/aviherman/.local/share/hyprpm/headersRoot/share/pkgconfig" meson setup build --wipe
The Meson build system
Version: 1.4.0
Source dir: /tmp/hyprpm/new
Build dir: /tmp/hyprpm/new/build
Build type: native build
Project name: split-monitor-workspaces
Project version: 0.1
C++ compiler for the host machine: c++ (gcc 13.2.1 "c++ (GCC) 13.2.1 20230801")
C++ linker for the host machine: c++ ld.bfd 2.42.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C++ supports arguments -std=c++23: YES
meson.build:8: WARNING: Consider using the built-in option for language standard version instead of using "-std=c++23".
Found pkg-config: YES (/usr/bin/pkg-config) 2.1.1
Run-time dependency hyprland found: YES 0.37.1
Run-time dependency pixman-1 found: YES 0.43.4
Run-time dependency libdrm found: YES 2.4.120
Build targets in project: 1

Found ninja-1.11.1 at /usr/bin/ninja

 -> cd /tmp/hyprpm/new && PKG_CONFIG_PATH="/home/aviherman/.local/share/hyprpm/headersRoot/share/pkgconfig" meson compile -C build
ninja: Entering directory `/tmp/hyprpm/new/build'
[1/2] Compiling C++ object libsplit-monitor-workspaces.so.p/src_main.cpp.o
FAILED: libsplit-monitor-workspaces.so.p/src_main.cpp.o
c++ -Ilibsplit-monitor-workspaces.so.p -I. -I.. -I../include -I/home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/protocols -I/home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/wlroots -I/home/aviherman/.local/share/hyprpm/headersRoot/include -I/usr/include/pixman-1 -I/usr/include/libdrm -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -std=c++23 -DWLR_USE_UNSTABLE -fPIC -MD -MQ libsplit-monitor-workspaces.so.p/src_main.cpp.o -MF libsplit-monitor-workspaces.so.p/src_main.cpp.o.d -o libsplit-monitor-workspaces.so.p/src_main.cpp.o -c ../src/main.cpp
In file included from /home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/config/../Window.hpp:8,
                 from /home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/config/ConfigManager.hpp:16,
                 from /home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/Compositor.hpp:10,
                 from ../src/main.cpp:3:
/home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/config/../config/ConfigDataValues.hpp: In member function ‘virtual std::string CGradientValueData::toString()’:
/home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/config/../config/ConfigDataValues.hpp:64:5: warning: no return statement in function returning non-void [-Wreturn-type]
   64 |     }
      |     ^
In file included from ../src/main.cpp:6:
/home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/helpers/Workspace.hpp: At global scope:
/home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/helpers/Workspace.hpp:7:6: error: multiple definition of ‘enum eFullscreenMode’
    7 | enum eFullscreenMode : int8_t {
      |      ^~~~~~~~~~~~~~~
In file included from /home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/Compositor.hpp:24:
/home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/desktop/Workspace.hpp:7:6: note: previous definition here
    7 | enum eFullscreenMode : int8_t {
      |      ^~~~~~~~~~~~~~~
/home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/helpers/Workspace.hpp:15:7: error: redefinition of ‘class CWorkspace’
   15 | class CWorkspace {
      |       ^~~~~~~~~~
/home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/desktop/Workspace.hpp:15:7: note: previous definition of ‘class CWorkspace’
   15 | class CWorkspace {
      |       ^~~~~~~~~~
ninja: build stopped: subcommand failed.
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /tmp/hyprpm/new/build

✔ all plugins built
✔ installed repository
✔ you can now enable the plugin(s) with hyprpm enable
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  5 / 5  Done!

Huh
/home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/helpers/Workspace.hpp: At global scope:
/home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/helpers/Workspace.hpp:7:6: error: multiple definition of ‘enum eFullscreenMode’
    7 | enum eFullscreenMode : int8_t {
      |      ^~~~~~~~~~~~~~~
In file included from /home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/Compositor.hpp:24:
/home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/desktop/Workspace.hpp:7:6: note: previous definition here

Multiple copies of the same file defeats #pragma once, resulting in multiple definition errors.
But, why are there multiple copies of the same file?!?!?
https://github.com/hyprwm/Hyprland/blob/1c460e98f870676b15871fe4e5bfeb1a32a3d6d8/src/helpers/Workspace.hpp#L7
Note, this file exists in 0.36, but NOT in 0.37!
https://github.com/hyprwm/Hyprland/blob/19c90048d65a5660384d2fb865926a366696d6be/src/desktop/Workspace.hpp#L7
This file does NOT exist in 0.36, but does in 0.37!
Seems like, rather than cloning the repo and checking out the latest, hyprpm is somehow merging everything.
So, I haven't tried this yet, but I suggest wiping
~/.local/share/hyprpm/
and seeing if that fixes the build, by giving us one clean copy of the latest hyprland headers.

Hi, thanks for your response.
I did a successful sudo rm -rf ~/.local/share/hyprpm/ and then a hyprpm add https://github.com/Duckonaut/split-monitor-workspaces/ which led me to
[v] version returned: Hyprland, built from branch HEAD at commit c5e28ebcfe00a510922779b2c568cfa52a317445  (props: bump ver 0.37.1).
 Disclaimer:
  plugins, especially not official, have no guarantee of stability, availablity or security.
  Run them at your own risk.
  This message will not appear again.
✔ adding a new plugin repository from https://github.com/Duckonaut/split-monitor-workspaces/
  MAKE SURE that you trust the authors. DO NOT install random plugins without verifying the code and author.
  Are you sure? [Y/n]

 → Cloning https://github.com/Duckonaut/split-monitor-workspaces/
✔ cloned
✔ found hyprpm manifest
✔ parsed manifest, found 1 plugins:
 → split-monitor-workspaces by Duckonaut version
 ━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  2 / 5  Verifying headers
✖ Headers missing. Please run hyprpm update to fix those.

So I went and ran hyprpm update which told me it "installed headers".
After that I ran https://github.com/Duckonaut/split-monitor-workspaces/ again which led to me to this error:
[v] version returned: Hyprland, built from branch HEAD at commit c5e28ebcfe00a510922779b2c568cfa52a317445  (props: bump ver 0.37.1).
Date: Sat Mar 16 14:51:49 2024
Tag: v0.37.1

flags: (if any)

[v] parsed commit c5e28ebcfe00a510922779b2c568cfa52a317445 at branch HEAD
✔ adding a new plugin repository from https://github.com/Duckonaut/split-monitor-workspaces/
  MAKE SURE that you trust the authors. DO NOT install random plugins without verifying the code and author.
  Are you sure? [Y/n]

! old plugin repo build files found in temp directory, removing.
 → Cloning https://github.com/Duckonaut/split-monitor-workspaces/
✔ cloned
✔ found hyprpm manifest
✔ parsed manifest, found 1 plugins:
 → split-monitor-workspaces by Duckonaut version
✔ Hyprland headers OK
 → Building split-monitor-workspaces
✖ Plugin split-monitor-workspaces failed to build.

 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━  3 / 5  Building plugin(s)[v] shell returned:  -> cd /tmp/hyprpm/new && PKG_CONFIG_PATH="/home/aviherman/.local/share/hyprpm/headersRoot/share/pkgconfig" meson setup build --wipe
The Meson build system
Version: 1.4.0
Source dir: /tmp/hyprpm/new
Build dir: /tmp/hyprpm/new/build
Build type: native build
Project name: split-monitor-workspaces
Project version: 0.1
C++ compiler for the host machine: c++ (gcc 13.2.1 "c++ (GCC) 13.2.1 20230801")
C++ linker for the host machine: c++ ld.bfd 2.42.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C++ supports arguments -std=c++23: YES
meson.build:8: WARNING: Consider using the built-in option for language standard version instead of using "-std=c++23".
Found pkg-config: YES (/usr/bin/pkg-config) 2.1.1
Run-time dependency hyprland found: YES 0.37.1
Run-time dependency pixman-1 found: YES 0.43.4
Run-time dependency libdrm found: YES 2.4.120
Build targets in project: 1

Found ninja-1.11.1 at /usr/bin/ninja

 -> cd /tmp/hyprpm/new && PKG_CONFIG_PATH="/home/aviherman/.local/share/hyprpm/headersRoot/share/pkgconfig" meson compile -C build
ninja: Entering directory `/tmp/hyprpm/new/build'
[1/2] Compiling C++ object libsplit-monitor-workspaces.so.p/src_main.cpp.o
FAILED: libsplit-monitor-workspaces.so.p/src_main.cpp.o
c++ -Ilibsplit-monitor-workspaces.so.p -I. -I.. -I../include -I/home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/protocols -I/home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/wlroots -I/home/aviherman/.local/share/hyprpm/headersRoot/include -I/usr/include/pixman-1 -I/usr/include/libdrm -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -std=c++23 -DWLR_USE_UNSTABLE -fPIC -MD -MQ libsplit-monitor-workspaces.so.p/src_main.cpp.o -MF libsplit-monitor-workspaces.so.p/src_main.cpp.o.d -o libsplit-monitor-workspaces.so.p/src_main.cpp.o -c ../src/main.cpp
../src/main.cpp:6:10: fatal error: hyprland/src/helpers/Workspace.hpp: No such file or directory
    6 | #include <hyprland/src/helpers/Workspace.hpp>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /tmp/hyprpm/new/build

✔ all plugins built
✔ installed repository
✔ you can now enable the plugin(s) with hyprpm enable
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  5 / 5  Done!

Huh
/home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/helpers/Workspace.hpp: At global scope:
/home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/helpers/Workspace.hpp:7:6: error: multiple definition of ‘enum eFullscreenMode’
    7 | enum eFullscreenMode : int8_t {
      |      ^~~~~~~~~~~~~~~
In file included from /home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/Compositor.hpp:24:
/home/aviherman/.local/share/hyprpm/headersRoot/include/hyprland/src/desktop/Workspace.hpp:7:6: note: previous definition here

Multiple copies of the same file defeats #pragma once, resulting in multiple definition errors.
But, why are there multiple copies of the same file?!?!?
https://github.com/hyprwm/Hyprland/blob/1c460e98f870676b15871fe4e5bfeb1a32a3d6d8/src/helpers/Workspace.hpp#L7 Note, this file exists in 0.36, but NOT in 0.37! https://github.com/hyprwm/Hyprland/blob/19c90048d65a5660384d2fb865926a366696d6be/src/desktop/Workspace.hpp#L7 This file does NOT exist in 0.36, but does in 0.37!
Seems like, rather than cloning the repo and checking out the latest, hyprpm is somehow merging everything.
So, I haven't tried this yet, but I suggest wiping
rm -rf ~/.local/share/hyprpm

and seeing if that fixes the build, by giving us one clean copy of the latest hyprland headers, instead of some monstrous union of all the cumulative releases.

It did not seem to resolve the build issue. I have however found that for some reason hyprpm cannot remove /tmp/hyprpm files which requires manual intervention.

Got it -- any ideas for how to proceed from my most recent update? Thank you!

@avih7531 Ah, of course, obviously hyprland isn't going to be including the non-existant file, but the outdated split-monitor-workspaces might. #60 fixes it for me.
> hyprpm add https://github.com/chriselro
d/split-monitor-workspaces 9c5486e2014de6929c21adbaf1578fc630530971
✔ adding a new plugin repository from https://github.com/chriselrod/split-monitor-workspaces
  MAKE SURE that you trust the authors. DO NOT install random plugins without verifying the code and author.
  Are you sure? [Y/n]

 ╍━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  0 / 5  Cloning the plugin reposito → Cloning https://github.com/chriselrod/split-monitor-workspaces
 ╍━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  0 / 5  Cloning the plugin reposito✔ cloned
 ━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  1 / 5  Cloning the plugin reposito✔ found hyprpm manifest
✔ parsed manifest, found 1 plugins:
 → split-monitor-workspaces by Duckonaut version
✔ Hyprland headers OK
 → Building split-monitor-workspaces
✔ built split-monitor-workspaces into build/libsplit-monitor-workspaces.so
✔ all plugins built
✔ installed repository
✔ you can now enable the plugin(s) with hyprpm enable
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  5 / 5  Done!

now I just need to learn how to use the fix

You fixed it, thanks! I'm a git newb, so possible dumb question, but given that 9c5486e2014de6929c21adbaf1578fc630530971 number at the end of the git clone fixed the issue, will that eventually merge into the normal github so I won't have to clone it like that?
Also, I have a few other plugins that are not Hyprland 3.7.1-1 ready (HyprFocus especially). If it was a quick and easy fix, what did you do so I can submit a pull request?
Thank you so much!!

You fixed it, thanks! I'm a git newb, so possible dumb question, but given that 9c5486e2014de6929c21adbaf1578fc630530971 number at the end of the git clone fixed the issue, will that eventually merge into the normal github so I won't have to clone it like that?
Also, I have a few other plugins that are not Hyprland 3.7.1-1 ready (HyprFocus especially). If it was a quick and easy fix, what did you do so I can submit a pull request?
Thank you so much!!

Okay so I can answer that first question. The fix will get merged with the main branch only if the person in charge of the branch or someone with permissions to do so manually merges the fix, this should happen eventually though assuming the fix doesn't have any problems, and considering its just the switch up of 2 lines of code, it could be merged without issue so long as someone in charge notices the request. Of course im also a bit new to git so take what I say with a grain of salt.

now I just need to learn how to use the fix

I did
hyprpm remove split-monitor-workspaces
hyprpm add https://github.com/chriselro
d/split-monitor-workspaces 9c5486e2014de6929c21adbaf1578fc630530971

This removes the old one, and then installs the new one using commit 9c5486 from my fork.
However, you probably don't want to do that long term, since that is a specific commit (i.e., it's immutable/won't see any changes).

You fixed it, thanks! I'm a git newb, so possible dumb question, but given that 9c5486e2014de6929c21adbaf1578fc630530971 number at the end of the git clone fixed the issue, will that eventually merge into the normal github so I won't have to clone it like that?

I opened PR #60 against this repository.
When someone with merge rights merges it, it will be a part of this repository.

If it was a quick and easy fix, what did you do so I can submit a pull request?

You can see what I did by clicking the PR, and then clicking "files changed". There, you can see that the only change was that I updated the path: Workspace.hpp moved from src/helpers to src/desktop. I also kept the includes in alphabetical order, since that's a common style.
https://github.com/Duckonaut/split-monitor-workspaces/pull/60/files

Super cool -- appreciate the explanation!
Oh benevolent dictator of split-monitor-workspace, please merge this!

Okay so I can answer that first question. The fix will get merged with the main branch only if the person in charge of the branch or someone with permissions to do so manually merges the fix, this should happen eventually though assuming the fix doesn't have any problems, and considering its just the switch up of 2 lines of code, it could be merged without issue so long as someone in charge notices the request. Of course im also a bit new to git so take what I say with a grain of salt.

Yes. If you're watching a repo (most people watch at least the repos they own), you'll get a notification whenever someone opens a PR.
Such a trivial change is easy to review.
The primary objection my PR is likely to get is that it breaks compatibility with hyprland 0.36.
That is, someone on 0.36 will get basically the same error with my commit as we do on the main branch of split-monitor-workspaces with hyprland 0.37.
The author might demand things like also updating https://github.com/Duckonaut/split-monitor-workspaces/blob/d0012b8b0f764e32dd7b82f7a94b8c30197d7dc8/flake.lock#L16 and the rest of the dependencies to reflect these changes.
Maybe there is some automated way to do that? I'm not familiar with Nix.
But having some dependency management here would be nice. Seems sorely missing among Hyprland plugins.

Thank you!

if this does not get pushed, just use this plugin:
https://github.com/shezdy/hyprsplit
it atleast works.

Is this project still maintained? Not trying to be polemical, I'm genuinely asking

Fixed in #52


Documentation - Upgrade Myst Parser

Resolves #11178. Myst Parser can be updated to 2.0.0, but support for Python 3.7 will be lost.
Please check the following:

[x] Do the tests still pass?
[x] Does the code comply with the style guide?

[x] Run make lint from the Wagtail root.

When I run the docs build locally I get some loud warnings, all relating to the Django cross-reference, maybe there is a different config structure needed here.
 Retrying in relaxed mode.
/code/wagtail/docs/topics/images.md:389: WARNING: more than one target found for 'myst' cross-reference rich_text: could be :std:ref:`Rich Text (HTML)` or :py:func:`wagtail.test.utils.form_data.rich_text` [myst.xref_ambiguous]
/code/wagtail/docs/topics/pages.md:5: WARNING: 'myst' cross-reference target not found: 'django:ref/models/fields' [myst.xref_missing]
/code/wagtail/docs/topics/search/searching.md:9: WARNING: 'myst' cross-reference target not found: 'django:ref/models/querysets' [myst.xref_missing]
/code/wagtail/docs/topics/search/searching.md:263: WARNING: 'myst' cross-reference target not found: 'django:django.http.QueryDict' [myst.xref_missing]
/code/wagtail/docs/topics/snippets/rendering.md:9: WARNING: 'myst' cross-reference target not found: 'django:howto/custom-template-tags' [myst.xref_missing]
/code/wagtail/docs/topics/writing_templates.md:5: WARNING: 'myst' cross-reference target not found: 'django:topics/templates' [myst.xref_missing]
/code/wagtail/docs/topics/writing_templates.md:8: WARNING: 'myst' cross-reference target not found: 'django:ref/templates/api' [myst.xref_missing]
/code/wagtail/docs/topics/writing_templates.md:32: WARNING: 'myst' cross-reference target not found: 'django:ref/templates/api' [myst.xref_missing]
/code/wagtail/docs/topics/writing_templates.md:75: WARNING: 'myst' cross-reference target not found: 'django:howto/custom-template-tags' [myst.xref_missing]
generating indices... py-modindex done
writing additional pages... search done
copying images... [100%] _static/images/image_filter_fill_focal_close.png
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded, 53 warnings.

The HTML pages are in _build/html.

Build finished. The HTML pages are in _build/html.
root@2b1e1f152eee:/code/wagtail/docs#

I think it might be because the pages no longer exist?

It's weird cause when I run it now the warnings have changed to ones relating to Mozilla:
/code/wagtail/docs/advanced_topics/documents/title_generation_on_upload.md:11: WARNING: 'myst' cross-reference target not found: 'https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener' [myst.xref_missing]
/code/wagtail/docs/advanced_topics/documents/title_generation_on_upload.md:31: WARNING: 'myst' cross-reference target not found: 'https://developer.mozilla.org/en-US/docs/Web/Events/Creating_and_triggering_events' [myst.xref_missing]

I usually find that I have to run make clean and then make html to get all the errors to correctly show. Not sure if that will change with the new update but I guess that it only does incremental builds and then only checks 'changed files' when running make clean a second time.
Not sure if that helps though.
Thanks for keeping at this.

Thanks for that info! The warnings come up when I do make clean and make html.  I'll try applying the suggestions you guys gave.

Some of the warnings are because there's a # infront of the URL. For example, this warning:
/code/wagtail/docs/releases/5.0.md:24: WARNING: 'myst' cross-reference target not found: 'https://yougov.com/' [myst.xref_missing]

This is the line that gives the warning:
This feature was developed by Joshua Munn, and sponsored by YouGov.

The URL works when you remove the # in front of it. I think placing the # there makes the parser think it's an internal reference (I'm not sure if it was actually meant to be one).

External links require to be specified in myst_url_schemes:

myst_url_schemes = {
    "https" : None,
    "http" : None,
    "guide": "https://guide.wagtail.org/en-latest/{{path}}#{{fragment}}"
}

Great digging @NXPY123  that seems like it could be a path in the right direction. We would want to probably add mailto:.
Let's not add the guide in this PR though, that can be added in a future PR related to that issue.

I have exams this month so wasn't able to focus on this issue much. The other external references seem to be fixed now but I still haven't figured out why the django intersphinx mapping isn't parsed properly. I'll keep looking and see if I can figure it out.

@lb-
The Django inv file is in this format:
py:attribute
    django.apps.AppConfig.default                                                    : ref/applications/#django.apps.AppConfig.default
    django.apps.AppConfig.default_auto_field                                         : ref/applications/#django.apps.AppConfig.default_auto_field
    django.apps.AppConfig.label                                                      : ref/applications/#django.apps.AppConfig.label
    django.apps.AppConfig.models_module                                              : ref/applications/#django.apps.AppConfig.models_module
    django.apps.AppConfig.module                                                     : ref/applications/#django.apps.AppConfig.module
    django.apps.AppConfig.name                                                       : ref/applications/#django.apps.AppConfig.name
    django.apps.AppConfig.path                                                       : ref/applications/#django.apps.AppConfig.path
    django.apps.AppConfig.verbose_name                                               : ref/applications/#django.apps.AppConfig.verbose_name
    django.apps.apps.ready                                                           : ref/applications/#django.apps.apps.ready
    django.conf.settings.configured                                                  : topics/settings/#django.conf.settings.configured
    django.contrib.admin.AdminSite.app_index_template                                         : ref/contrib/admin/#django.contrib.admin.AdminSite.app_index_template
    django.contrib.admin.AdminSite.empty_value_display                                         : ref/contrib/admin/#django.contrib.admin.AdminSite.empty_value_display
    django.contrib.admin.AdminSite.enable_nav_sidebar                                         : ref/contrib/admin/#django.contrib.admin.AdminSite.enable_nav_sidebar
    django.contrib.admin.AdminSite.final_catch_all_view                                         : ref/contrib/admin/#django.contrib.admin.AdminSite.final_catch_all_view
    django.contrib.admin.AdminSite.index_template                                         : ref/contrib/admin/#django.contrib.admin.AdminSite.index_template
    django.contrib.admin.AdminSite.index_title                                         : ref/contrib/admin/#django.contrib.admin.AdminSite.index_title
    django.contrib.admin.AdminSite.login_form                                         : ref/contrib/admin/#django.contrib.admin.AdminSite.login_form
    django.contrib.admin.AdminSite.login_template                                         : ref/contrib/admin/#django.contrib.admin.AdminSite.login_temp

So to generate url to ref/applications/#django.apps.AppConfig.default, the following format should be used:
[Text](inv:#django.apps.AppConfig.default)

@NXPY123 nice find. Can you maybe update one or two pages on this PR with that format. We can do some testing.
If that works and others on the core team are happy with that global change, I think we go for it.
Also. Maybe do a search around GitHub and see if any other documentation sites using MyST have that. Just a reference that we're not doing something wrong here.

@NXPY123 also please test a file with an RST embedded code, so we can check it works in that also.

@NXPY123 also please test a file with an RST embedded code, so we can check it works in that also.

The following lines:
* {ref}`Creating models <django:creating-models>`
* {doc}`Model syntax <django:topics/db/models>`

are being rendered as:

Creating models

Model syntax

in the html file

@NXPY123  I have an update coming to this branch with the reference changes as this ended up being pretty close.
I will also push an update to the documentation guidelines with a basic example of these new formats.
Unfortunately it appears that there may be differences in the rst vs markdown format but most usage is MD format so it should be ok.


Fix bug in frozen requirements.

https://github.com/pypa/pip/issues/4022
It seems this never should have been there.

Thank you! Indeed :)


Removed startDirection from function instance

The direction tracking variable startDirection is initialized inside a function that is called per-render. This resulted in direction tracking not being remembered across renders and prevented correct swipe cancel behaviour.
This PR moves startDirection out of theforHorizontal function and allows its value to carry across renders.

I don't like this very much since the variable is no longer tied to the component. I think we can do some refactor and just inline it to TabViewPanPager component instead of a separate function and then we can store this variable's in component's instance.
It is a different function for historical reasons which no longer apply to the current situation.

Alright we can do that instead, but it is important that startDirection is initialized once only.

@julienvincent You mean once per component, right?

Yes, once per component.

I will build a basic implementation of having startDirection in TabViewPanPager to see if everything works as expected, and then we can restructure properly if everything works

@julienvincent great!

@satya164 Done, seems to work as expected.

@satya164 Done. I also underscorified all function names that were imported. Assuming that is what you want?

@julienvincent Yeah. Thanks a lot!

@satya164 np 👍


Updates to test setup and dependencies

This may fix #13 and #14.

@playpauseandstop Please let me know if this works for you..

Thanks a lot!


Invalid links on HF Model card

The links on the Hugging Face model card are incorrect.

Read more in the blog post and visit the healthsea repository for all training workflows, custom components and training data.

Oh, you're right, fixed it! Thanks 🎉


fix: jNATS MessageQueue API changes

This PR follows jNATS > 2.17.4 API changes of MessageQueue so that latest jNATS library can be used
Due to the changes introduced in jNATS irt MessageQueue this PR can introduce behavioural changes at runtime.
related: #70
Solution:
Constructor chaining VertxDispatcherMessageQueue using NatsOptions.DEFAULT_REQUEST_CLEANUP_INTERVAL or user provided Duration for Cleanup Interval.

2024-07-29T14.33 -> this is currently a draft pr due to failing test(s). Ill investigate

Any update on merging this?

Fixed in https://github.com/nats-io/nats-java-vertx-client/pull/73


Adding support for read replicas with EF Core store

We currently have two connection strings with RDS Aurora for where our tenant data is stored. Connection string one is for our read/write database node and connection string two is for our read only database node. We plan to customize the EFCoreStore to take a second DB Context which is intended to be used only for read operations and update the methods that perform SELECTs to use this second context. Ideally, this would be contained within the Finbuckle EF Core code.
Would you consider adding support for a read replica DB Context within the EFCoreStore that ships with Finbuckle? We'd be happy to assist with this if it helps expedite this feature.

Hi, sorry for the slow reply. I do not plan on adding this feature simply because I want to keep EFCoreStore as simple as possible to serve as an example. I do highly encourage you to customize as you see for your needs and if you get a good solution to update this issue with your approach to help others in the future.
Thanks!


Websocket server fails on hot reload

Hi, I am trying to use Chainlit inside of a Replit REPL but I am having a lot of trouble with the websocket connection when the server refreshes (-w is used):
2023-10-16 11:01:24 - message async handler error
Traceback (most recent call last):
File "/home/runner/myproject/venv/lib/python3.10/site-packages/socketio/asyncio_server.py", line 463, in _handle_connect
success = await self._trigger_event(
File "/home/runner/myproject/venv/lib/python3.10/site-packages/socketio/asyncio_server.py", line 549, in _trigger_event
ret = await handler(*args)
TypeError: connect() missing 1 required positional argument: 'auth'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/runner/myproject/venv/lib/python3.10/site-packages/engineio/asyncio_server.py", line 475, in run_async_handler
return await self.handlersevent
File "/home/runner/myproject/venv/lib/python3.10/site-packages/socketio/asyncio_server.py", line 585, in _handle_eio_message
await self._handle_connect(eio_sid, pkt.namespace, pkt.data)
File "/home/runner/myproject/venv/lib/python3.10/site-packages/socketio/asyncio_server.py", line 466, in _handle_connect
success = await self._trigger_event(
File "/home/runner/myproject/venv/lib/python3.10/site-packages/socketio/asyncio_server.py", line 549, in _trigger_event
ret = await handler(*args)
File "/home/runner/myproject/venv/lib/python3.10/site-packages/chainlit/socket.py", line 50, in connect
raise ConnectionRefusedError("No websocket endpoint configured")
ConnectionRefusedError: No websocket endpoint configured
Has anyone else encountered this?
I am using chainlit 0.7.2 and a Python 3.10 virtual environment.
Cheers

This error message is raised when no on_chat_start and on_message are defined and a websocket client tries to connect. Does your code have at least one of the two?

For extra context, I am trying to use Replit to build out a small workshop which uses Chainlit as the interface. I have a few exercises that I'd like people to run through. However, pasting in new exercise code (with the on_chat_start and on_message decorated code) restarts the webserver (expected), but if I then restart my Chainlit UI in the browser, I can't type in the input box and the errors sent in the original post appear.

I confirm there are issues. Will investigate later, for the time you will have to restart the app manually or maybe run a small bash script instead of running the chainlit command directly. Gpt-4 wrote this script for me (have not tried it myself):
Replit does not have a built-in feature to automatically rerun your repl when a file changes. However, you can use a workaround by using a bash script and the `inotify-tools` package. Here's how you can do it:

1. Create a new Bash repl.
2. Install `inotify-tools` by running `apt-get install inotify-tools` in the shell.
3. Create a bash script with the following content:

```bash
#!/bin/bash

while true; do
  change=$(inotifywait -e close_write,moved_to,create .)
  change=${change#./ * }
  if [ "$change" = "your_file_name" ]; then ./your_script.sh; fi
done

Replace your_file_name with the name of the file you want to watch, and replace your_script.sh with the script you want to run when the file changes.

Run the bash script.

This script will watch for changes in the current directory and rerun your script whenever the specified file is modified.


try to make numbers easier to read

Since #97 is not merged yet, I'll manually roll out the changes.


this.props is undefined on autobind decorator

I've got some problems while using the autobind decorator on React Native.
I use the newest release v2.4.
react-native: 0.54.0
Example:
I've implemented two Screens:
First with button to Navigate to the second screen.
Second screen is rendering a component e.g. a customized TouchableOpacity (CustomTouchableOpacity).
The CustomTouchableOpacity got an onPress prop and implements a function that is calling this.props.onPress from the ReactNative given onPress function of TouchableOpacity.
After multiple Transitions (navigate with ReactNavigation) between the First and Second Screen, this.props of the CustomTouchableOpacity is undefined.
import autobind                                from 'autobind-decorator';
import React                                     from 'react';
import { View }                                  from 'react-native';
import CustomTouchableOpacity   from '../components/CustomTouchableOpacity';

class SecondScreen extends React.Component {
    constructor (props) {
        super(props);
    }

    @autobind
    onPress () {
        // do some stuff and navigate back (pop)
    }

    render () {
        return (
            <View>
                <CustomTouchableOpacity
                    label={'Lorem'}
                    onPress={this.onPress}
                    />
            </View>
        )
    }
}

module.exports = SecondScreen;

// CustomTouchableOpacity
import autobind                      from 'autobind-decorator';
import React                           from 'react';
import { TouchableOpacity } from 'react-native';
import { Text }                         from 'react-native';

class CustomTouchableOpacity extends React.Component {
    constructor (props) {
        super(props);
    }

    @autobind
    onPress () {
        if (this.props) {
            this.props.onPress();
        } else {
            alert('empty props');
        }
    }

    render () {
        return (
            <TouchableOpacity
                onPress={this.onPress}
            >
                <Text>{this.props.label}</Text>
            </View>
        );
    }
}

module.exports = CustomTouchableOpacity;

This problem only exists if im NOT connected to the Remote Debugger.
On using the traditional this.onPress = this.onPress.bind(this) binding the component never loses the props.

Can you try https://github.com/andreypopp/autobind-decorator/pull/79?

Please try https://github.com/andreypopp/autobind-decorator/pull/57 also


"This page isn't working" appears on very first when I click on not covered button after clear user records from cla-dev-users

Steps :

Clear user records from cla-dev-users table
Go to GitLab MR
Click on Not covered button

Actual results :  "This page isn't working" appears

@thakurveerendras when you cleared the user records did you happen to delete the corresponding signature records that had the associated user_ids ?
Could you as well add details for the MR and user_id youd deleted ?

Retested issue on dev site & found that it is not reproducible as reported, look like it automatic fix after fix of some GitLab issue , So closing this issue as can't reproducible
Refer video clip: 3833.webm


chore: improve animation between tabs

Co-authored-by: George<EMAIL_ADDRESS>Description
This PR improves the performance of the bottom tabs animation.
https://github.com/artsy/eigen/assets/11945712/88ee2695-d64a-4d64-8c74-beeb49d6241d

PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] 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 👀

[ ] 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

improve animation between tabs - mounir, george

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.

This PR contains the following changes:

Cross-platform user-facing changes (improve animation between tabs - mounir, george)

  Generated by :no_entry_sign: dangerJS against 506a969491cac333dc2d9de1b8ce07e1ec90eac1


Open-ended levels /LEVELS=v  cant be computed if data values are very large

Reported by ansley b manke on 16 Jul 2010 23:00 UTC
Having introduced the automatically-computed open-ended levels into Ferret and the LAS scripts, some datasets are showing up that have very large data values.  (Maybe they should be re-scaled!) But for instance,
http://mynasadata.larc.nasa.gov/las/servlets/dataset. Datasets  > Atmosphere  > Air Quality    > Monthly Daylight Column Carbon Monoxide (MOPITT)
This is a V6 LAS, and this dataset is CO2 in mol/cm2, with magnitudes of 4.e17 to 4.e18.  (in this older LAS we don't see the error)
The open-ended levels use a Variance calculation which breaks down with these data magnitudes.
Instead of stopping with an error, I want to revert to classic linear computation of color levels.
A small data file is attached:  mopitt_subset.nc
yes? use mopitt_subset
yes? shade/lev=v CO_TOTAL_COLUMN_DAY

 **ERROR: value out of legal range: data too large to compute Std Dev
          shade/lev=v CO_TOTAL_COLUMN_DAY

Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/1745

Comment by ansley.b.manke on 16 Jul 2010 23:16 UTC
See fer/plt/disp_set_up.F. This is fixed so that all we get is a NOTE:
yes? use mopitt_subset
yes? shade/lev=v CO_TOTAL_COLUMN_DAY
 *** NOTE: Data too large to compute Std Dev. Using linear levels instead.

Comment by steven.c.hankin on 16 Jul 2010 23:34 UTC
Presumably we're getting a floating point overflow when summing up squared deviations ....  A valid variance exists and could be expressed as an IEEE floating point, right?  It's just that we are not able to compute it presently.
It would be nice to handle this transparently within the algorithm that computes the variance, rather than to alter the behavior of the program because the algorithm is flawed.  Can you look into doing this?  We've always known our algorithm is pretty brute force.  Can you find a way to normalize the data inside of the algorithm that computes variance?  Anything useful here: http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance
Note that we may have similar issues to consider in the Ferret @VAR and STATS code.

Comment by ansley.b.manke on 20 Jul 2010 23:46 UTC
Absolutely, if we can do a better calculation that's the right answer. The variance-based levels indeed just borrowed that calculation from the code for STAT.
The algorithms outlined in the Wikepedia article yield similar results for the example data I'm looking at.  We can also do testing using simple examples like this:
yes? use coads_climatology
yes? let huge = sst* 1.e18
yes? shade/lev=v/L=1 huge

yes? stat/L=1 huge

Comment by ansley.b.manke on 20 Jul 2010 23:49 UTC
Looks like the @VAR calculation uses double precision where STAT and the var-based levels did not, so @VAR does not fail where the others did.  But I'll make changes so all of them use the more-robust algorithm.

Comment by ansley.b.manke on 23 Jul 2010 23:20 UTC
This has been fixed as suggested by Steve, with a robust algorithm for computing variances. The same algorithm also now used for STAT and @VAR.

Attachment from ansley.b.manke on 16 Jul 2010 23:00 UTC
REPLACE THIS TEXT WITH UPLOADED FILE ./attachments/TRAC_1745_GIT_1017/mopitt_subset.nc


Make prefer-for-of block scope aware

fixes #1884

@adidahiya I'm pretty sure this fixes the issue. The only way the call stack could have occurred is if the same iterator name was reused (added twice, then deleted when exiting the "scope"). The choice seems to be to close the ticket with a likely fix (it can be reopened if it's not fixed), or leaving the ticket permanently open if the submitter doesn't update the ticket.


channel type "de.gira.schema.channels.RA.RemoteAccess" is missing

The problem
Channel type is missing in the official gira documentation and is now missing in the adapter: https://partner.gira.de/data3/Gira_IoT_REST_API_v2_DE.pdf
gira-iot.0
2023-04-27 07:04:13.011	warn	Data point "Error-Info" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description

gira-iot.0
2023-04-27 07:04:13.011	warn	Data point "Connection-Info" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description

gira-iot.0
2023-04-27 07:04:13.010	warn	Data point "Error" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description

gira-iot.0
2023-04-27 07:04:13.009	warn	Data point "Installer-Access-State" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description

gira-iot.0
2023-04-27 07:04:13.009	warn	Data point "User-Access-State" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description

gira-iot.0
2023-04-27 07:04:13.008	warn	Data point "Access-State" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description

gira-iot.0
2023-04-27 07:04:13.008	warn	Data point "Connection-State" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description

gira-iot.0
2023-04-27 07:04:13.007	warn	Data point "Installer-Access" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description

gira-iot.0
2023-04-27 07:04:13.007	warn	Data point "User-Access" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description

gira-iot.0
2023-04-27 07:04:13.006	warn	Data point "Enabled" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description

gira-iot.0
2023-04-27 07:03:01.199	error	unable to get current value for "functions.a0j1.Float" / UID "a0ii" - failed with AxiosError: Request failed with status code 500

Version of nodejs
all
Version of ioBroker js-controller
all
Version of Adapter
all
Operating system running ioBroker
all
Checklist of files to include below

[X] iobroker.current.log (Please share the logs in debug mode)
[ ] Contents of the JavaScript browser console (always include in cases of issues with the user interface)

Additional information & file uploads
No response

{
            "channelType": "de.gira.schema.channels.RA.RemoteAccess",
            "dataPoints": [
                {
                    "name": "Enabled",
                    "uid": "a018"
                },
                {
                    "name": "User-Access",
                    "uid": "a019"
                },
                {
                    "name": "Installer-Access",
                    "uid": "a01a"
                },
                {
                    "name": "Connection-State",
                    "uid": "a01b"
                },
                {
                    "name": "Access-State",
                    "uid": "a01c"
                },
                {
                    "name": "User-Access-State",
                    "uid": "a01d"
                },
                {
                    "name": "Installer-Access-State",
                    "uid": "a01e"
                },
                {
                    "name": "Error",
                    "uid": "a01f"
                },
                {
                    "name": "Connection-Info",
                    "uid": "a01g"
                },
                {
                    "name": "Error-Info",
                    "uid": "a01h"
                }
            ],
            "displayName": "Fernzugriff",
            "functionType": "de.gira.schema.functions.RA.RemoteAccess",
            "uid": "a017"
        }

My registration in the Gira developer forums is still pending... https://entwicklerforum.gira.de

Opened a new case in the Gira forum @01.06.2023 ... still no response


Implement get method for Link attribution

In JsonAdaptedFlight at seedu.address.storage.json.adapted, we have code link
public JsonAdaptedFlight(Flight flight) {
        this.id = flight.getId();
        this.code = flight.getCode();
        this.pilotLink = flight.pilotLink.getCopiedContents();
        this.crewLink = flight.crewLink.getCopiedContents();
        this.planeLink = flight.planeLink.getCopiedContents();
        this.locationLink = flight.locationLink.getCopiedContents();
    }

We should implement getter methods instead of accessing the attribute. The same for other classes that have Link attributes.

Done in face0d08f930d6d77f8f30088cbdcca866dc5e4f.
But there is another issue: instead of using x.getY().methodOfY() (example below), we had better do x.methodOfXApplyingMethodOfY(), based on lecture content.
location.getCrewLink().putRevolve(entry.getKey(), entry.getValue());

However, this causes code duplication. Given the current highly complex system, we may consider refactoring before enforcing principles.


Feature: add ability to make a Postgres Property "serial" without it being a PrimaryKey

Is your feature request related to a problem? Please describe.
I would like to create columns that automatically add serial sequences. These columns are not to be primary keys.
Describe the solution you'd like
Add a decorator, or an option on Property that would allow 'serial' to be set.
Describe alternatives you've considered
Add a hook to migration generation that would allow me to create a sequence by manually writing some SQL first.
Additional context
Add any other context about the feature request here.

Nevermind, this is easier said than I made it out to be:
  @Property({
    columnType: 'serial',
  })
  @Field(() => Number, { nullable: false })
  public number: number;

I was using:
  @Property({
    columnType: 'int',
  })
  @Field(() => Number, { nullable: false })
  public number: number;

Nevermind, this is easier said than I made it out to be:
  @Property({
    columnType: 'serial',
  })
  @Field(() => Number, { nullable: false })
  public number: number;

I was using:
  @Property({
    columnType: 'int',
  })
  @Field(() => Number, { nullable: false })
  public number: number;

Although, note that while the above works for the first migration, on the second migration, it failes:
DriverException: alter table "xxxx" alter column "number" type serial using ("number"::serial); - type "serial" does not exist

Although, note that while the above works for the first migration, on the second migration, it failes:
DriverException: alter table "xxxx" alter column "number" type serial using ("number"::serial); - type "serial" does not exist

Although, note that while the above works for the first migration, on the second migration, it failes:
DriverException: alter table "xxxx" alter column "number" type serial using ("number"::serial); - type "serial" does not exist

I have the same problem in version 4.5.5. Have you found a solution?

Diffing of serial/pk columns should be fixed in v5, no plans to change anything on v4 implementation as it would be very hard to rebase onto v5.
For now you could only use int explicitly and use serial manually only in the migration (override it once generated). The column type is actually int, serial is just a shortcut for int with a sequence that handles the default incrementing value.

That's good to know. Thanks.

Is there an example of using serial in v5 in postgres without generating a breaking migration after init?
Currently it generates
    this.addSql('alter table "tenant" drop constraint if exists "tenant_tk_id_check";');
    this.addSql('alter table "tenant" alter column "tk_id" type int4 using ("tk_id"::int4);');
    this.addSql('alter table "tenant" alter column "tk_id" drop default;');

in every migration.


lastest vcpkg release (2023.04.15) and master branch regression causes docker build to fail

Expected behavior and actual behavior
The latest release of vcpkg (2023.04.25) causes docker build fail at the line RUN vcpkg\vcpkg integrate install
Steps to reproduce the problem
run docker build . in the virtual-participant-framework-for-zoom-meeting/src  folder and see error:

Error: failed to copy targets file to C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\ImportBefore\Default\vcpkg.system.props

Specifications like the version of the project, operating system, or hardware
dockerfile was cloning vcpkg from the master branch. But the latest version (2023.04.25) also has the same issue.

Need to also fix the src/README.md


Use Guava 20.0 throughout the project

What's this PR do/fix?
Fixes #1833 by setting buildSrc/build.gradle to use the same Guava version as gradle/dependencies.gradle.
Are there unit tests? If not how should this be manually tested?
This can be tested with existing unit tests.
Any background context you want to provide?
Guava 20.0 is the last version that supports Java 1.6, so there should be no compatibility concerns.
What are the relevant issues?
No known issues with this pull request.

Thanks @Thunderforge 👍


Ingest pipeline supports modifying the op_type parameter of an indexing request

Description
This PR adds a new metadata field _op_type to the IngestDocument, which makes the ingest processor can modify the op_type parameter of an indexing request, this is useful when users change the indexing requests' target from a ordinary index to a data stream, but because data stream only supports setting op_type to create, so the following bulk request will fail with exception only write ops with an op_type of create are allowed in data streams:
PUT _index_template/template_2
{
  "index_patterns": [
    "ds*"
  ],
  "data_stream":{

  },
  "template": {
    "settings": {
      "number_of_replicas": 0
    },
    "mappings": {
    }
  },
  "priority": 500
}

PUT _data_stream/ds1

PUT /ds1/_bulk?refresh
{"index":{ }}
{ "@timestamp": "2024-03-08T11:04:05.000Z", "foo":"bar" }

, users have to change the op_type to create in the request body:
PUT /ds1/_bulk?refresh
{"create":{ }}
{ "@timestamp": "2024-03-08T11:04:05.000Z", "foo":"bar" }

, and index API also has this issue.
So this PR gives users an option that they can setup an ingest pipeline with modifying the op_type parameter to create to avoid changing the client code, the usage is:
PUT _ingest/pipeline/set_processor
{
  "processors": [
      {
        "set": {
          "field": "_op_type",
          "value": "create"
        }
      }
    ]
}
PUT ds1/_settings
{
  "index.default_pipeline":"set_processor"
}

PUT /ds1/_bulk?refresh

{"index":{ }}
{ "@timestamp": "2024-03-08T11:04:05.000Z", "foo":"bar" }

Related Issues
Resolves https://github.com/opensearch-project/OpenSearch/issues/2856.
Check List

[x] Functionality includes testing.
[ ] API changes companion pull request created, if applicable.
[ ] Public documentation issue/PR created, if applicable.

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.

@andrross another look?

@gaobinlong can you resolve the conflicts?

So this PR gives users an option that they can setup an ingest pipeline with modifying the op_type parameter to create to avoid changing the client code

@gaobinlong I'm not convinced this is a good idea. create has different semantics than the other operation types. In the general case you can't take a system that is ingesting documents with the index operation type and replace it with create and expect things to work because those operations do different things.

So this PR gives users an option that they can setup an ingest pipeline with modifying the op_type parameter to create to avoid changing the client code

@gaobinlong I'm not convinced this is a good idea. create has different semantics than the other operation types. In the general case you can't take a system that is ingesting documents with the index operation type and replace it with create and expect things to work because those operations do different things.

Thanks @andrross, this change doesn't target for general cases, but for the case that users want to write to a data stream but don't want to do any code change or configuration change in the client, for example, if Logstash is used to write to a data stream in OpenSearch, the setting action must be set to create, the example is [here]:(https://opensearch.org/docs/latest/tools/logstash/ship-to-opensearch/):
output {
    opensearch {
          hosts  => ["https://hostname:port"]
          auth_type => {
              type => 'basic'
              user => 'admin'
              password => 'admin'
          }
          index => "my-data-stream"
          action => "create"
   }
}

, but if the ingestion tool doesn't support the action parameter, users have no options, so this change provides some flexibility, they can choose to configure the op_type in client side or modify it in the server side. In addition, these fields like _index, _routing, if_seq_no and if_primary_term can be modified by ingest pipeline, so I think it makes sense that we support modifying the op_type parameter during the execution of ingest pipeline.

if the ingestion tool doesn't support the action parameter, users have no options

Are there users in this situation asking for this feature?
The reason I'm hesitant is that while it does solve the above use case, it seems like it could let users really shoot themselves in the foot, either subtly (the different semantics of index vs create can cause hard to track down errors in the system) to absurd (always set op_type to delete). @msfroh what do you think?

The reason I'm hesitant is that while it does solve the above use case, it seems like it could let users really shoot themselves in the foot,

In this case, given the other fields that can be overridden (e.g if_seq_no, and if_primary_term), I think users can already shoot themselves in the foot pretty hard by abusing metadata fields. That said, I can see how this might make it even easier.
I'm trying to think of alternative solutions. The obvious ones would be "Update the client to set the action" or "Set up a proxy that sets the action between the client and cluster". Of course, ingest pipelines are like a proxy that happens to run on the cluster. I'm wondering if it would make sense to add a dedicated processor for this task, rather than doing it through the set processor. With a dedicated processor, we could at least document the risks.

I think the real problem here may be that IndexRequest defaults to opType = OpType.INDEX: https://github.com/opensearch-project/OpenSearch/blob/0d54c1600b16081c15902a095111a9a530767099/server/src/main/java/org/opensearch/action/index/IndexRequest.java#L116
It sounds like what we really need to do is leave it null by default, and then set the default based on the target. On an index, it should be INDEX, while on a data stream, the default should be CREATE.
@andrross, @gaobinlong, what do you think of that option?

It sounds like what we really need to do is leave it null by default, and then set the default based on the target. On an index, it should be INDEX, while on a data stream, the default should be CREATE

Thanks @msfroh,  your solution already exists, for index API, we don't need to specify op_type,  the default op_type is create for data streams, and index for ordinary index:
POST ds11/_doc?refresh&op_type=index
{
  "a":1,
  "@timestamp":"2024-07-08T09:28:48+00:00"
}

Response:
{
  "error": {
    "root_cause": [
      {
        "type": "illegal_argument_exception",
        "reason": "only write ops with an op_type of create are allowed in data streams"
      }
    ],
    "type": "illegal_argument_exception",
    "reason": "only write ops with an op_type of create are allowed in data streams"
  },
  "status": 400
}

, for bulk API, op_type needs to be explicitly specified, so only create is allowed for data streams:
## works well
PUT /ds11/_bulk?refresh
{"create":{}}
{ "@timestamp": "2024-08-13T11:04:05.000Z", "foo":"bar" }

## not work
PUT /ds11/_bulk?refresh
{"index":{}}
{ "@timestamp": "2024-08-13T11:04:05.000Z", "foo":"bar" }

Response:
{
  "took": 0,
  "errors": true,
  "items": [
    {
      "index": {
        "_index": "ds11",
        "_id": null,
        "status": 400,
        "error": {
          "type": "illegal_argument_exception",
          "reason": "only write ops with an op_type of create are allowed in data streams"
        }
      }
    }
  ]
}

it sounds like you're saying that the real issue is clients that don't set the op_type at all, right?

@msfroh  @andrross , I've checked Logstash, data-prepper, fluent-bit, java-client, all of them can support specifying the op_type parameter for now, but may not in older version before users found this problem: https://github.com/opensearch-project/data-prepper/issues/2038#issuecomment-1644966003, and when I'm checking these tools, I found that most of them treat ordinary index and data stream as different thing, op_type must be explicitly set for data streams, this can be optimized by setting the default value of op_type to create for data streams in these tools, but int the server side, maybe we can also provide a workaround for users if they don't want to specify different configuration for data streams and ordinary index in the client side? Just like the user said in the issue: Alternatively I could not use a data stream or change the client (which I don't want to do in this case).


Fix class loader read file permission check

Some times we can not read files, because we did not set file permission
right.
Signed-off-by: ZhiFeng Hu<EMAIL_ADDRESS>

非常感谢，多多合作


Multisig erc721 transactions

What

Describe the ERC721 transaction creations
Small refactoring to separate transactions according to the token type (ERC20, ERC721, RBTC)

Why

the safe-transactions-sdk package has been enriched to provide ERC721-related methods to create transactions

Could you please add @miltonwg and/or @ilanolkies as reviewers?


Simulated imagery data module

A while ago FOREST displayed simulated imagery from the regional and global models, alongside satellite imagery. This dropped off the list of datasets that we display at some point, so this ticket is to reinstate it.

Excellent, this can be best tackled a la rdt.py, with a View/Loader pair in simim.py. A Locator could be a good idea too. It might be worth thinking about re-usable Locators since there will be lots of overlap with the Locator in rdt.py

How similar is simim data to gridded forecast data, could this be addressed by #148?

Maybe, but thinking about it, the simim data is actually just another model variable. However, not all of the timesteps from a run are processed so it wouldn't match the timeseteps of the other model fields. So actually the issue is to decide whether (1) we want to gracefully handle the missing model data (can a dataset have fields with different time steps?), or whether (2) we want to display the simim field as a separate dataset. My preference would be (1).

So, in the yaml file, can we point a dataset at multiple input files? To me that would be the simplest solution.

In the yaml file there is only support for a single pattern and directory associated with each "group" of data. As a work around
files:
    - label: GA6
      pattern: 'umglaa*'
      directory: '/some/um/dir'
      file_type: gridded_forecast
  - label: GA6-Simim
      pattern: 'simim*.nc'
      directory: '/some/simim/dir'
      file_type: gridded_forecast

A more elegant approach would allow multiple sources to be used by the same label. The above approach exposes the storage decisions to the user. This would then involve making a Locator that can find data from multiple glob patterns.
files:
  - label: GA6
    locator:
      kind: file_system
      options:
      - pattern: "umglaa*"
        directory: "/some/um/dir"
        file_type: gridded_forecast
      - pattern: "simim*.nc"
        directory: "/some/simim/dir"
        file_type: gridded_forecast

Would we need multiple locators for a single group, e.g. HTTP, SQL and FileSystem could be sources of information for various parameters inside a single "group", e.g. Global operational UM forecasts


Content-security-policy refuse to load cdn files.

Hey, i have came across this bug when developing a chrome extension (mV3). I have a devtools page in which i wanted to use monaco - i have tried many configuartions without any success - i believe it is because of how the loader script is added to the body (appending)
Refused to load the script<EMAIL_ADDRESS>because it violates the following Content Security Policy directive: "script-src 'self' 'wasm-unsafe-eval' 'inline-speculation-rules' http://localhost:* http://<IP_ADDRESS>:*". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.
https://github.com/suren-atoyan/monaco-loader/blob/0c12b01c50b8e1e16b1c678388945679f55996f5/src/loader/index.js#L77
Not really sure if that is the case or not (chrome runtimes are weird).
Keep it up!
Matyas

Based on the documentation - it may only require to add some attributes to the import script element:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src


Code silently failing on Mac OS Sierra

VSCode Version: 1.8.1
OS Version: 10.12.2

I simply can't start Code anymore. Yesterday it worked fine, and as far as I can tell, nothing has changed (no updates, neither OS nor Code) since then.
Steps to Reproduce:
$ code . --verbose
[main 15:28:23] Sending env to running instance...
[main 15:28:23] Sent env to running instance. Terminating...
$

Same behaviour when I try to open it from the Applications folder, or without any arguments on the command line.
There are no Code processes running.
$ ps -ax | grep code
20412 ??         0:00.04 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService
23254 ttys005    0:00.00 grep code

Nothing of note in the system log either.

code --disable-extensions doesn't work either.

Can't reproduce on macOS: 10.12.3, vscode 1.8.1 Have you tried running permission check through disk utility &/or reinstalling VS Code entirely? I'd suggest use https://freemacsoft.net/appcleaner/ for that as it removes everything related to the app unlike simple drag to the trash bin.

It started working again after a restart, but I thought it's still worth investigating.

cc @bpasero if he has any clues, but it's hard for us to investigate if we don't have a repro. Closing this issue, but happy to reopen if you run into it again, and can provide more details. Happy coding!

Issues like this seem to happen when there is still a Code process hanging around even though no visible Window is open for Code. In that case a restart helps or finding that stray process and terminating it.

How can I provide more details? --verbose shows nothing of value, and there was no code process (at least, no process with code in its name). I'm happy to provide more details when it happens again, but I need some handle on how to get those details.


Proper dashboard url

Ref: https://github.com/resin-io/resin-cli/issues/611

Worked great both with env vars and with .resinrc.yml :+1: @emirotin


twitch account

After installing the requirements, main does not start.

Is there an error message, this would help allow me to fix it


Configure an S3 bucket for Fastly to deposit logs in

This will receive logs of the assets service for just /static/a?.
This will later be extended with additional roles for analysis of the
collected logs.
Also includes a fix for rake plan

Comments addressed. I was following the examples set in datastore-offsite-backups, but this is much cleaner now I think, thanks!