Add Menu Entry to HMI display "My Program"

Description - Feature request
Summary:
This PR enables the users to launch their turtlebot4 application from HMI display by pressing "My Program" menu entry similar to that of EStop. Here, once the user clicks the button, my_program service request is requested to the server with a bool msg my_program_on == True.
This boolean can be used as a Flag by the users in their turtlebot4 applications to create their own my_program server.
For example,
 self.my_program_request = self.create_service(MyProgram, 'my_program', self.project_manager_callback)

def project_manager_callback(self, request, response):

        self.response_message = response.message
        self.response_result = response.success
        # If the client requests the service with my_program_on = True, we run a bash script of launch
        # Then return Success message upon successful request exectution
        if(request.my_program_on):
          # User business logic
        else:
            self.get_logger().info('My Program Mode rejected')
            response.message = "My Program Mode rejected and failed to run projects"
            response.success = False

        return response

Type of change

[ Menu Entry to HMI display] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
This feature is tested by creating a sample project. By pressing the My Program button on the HMI display, it enables us to run  a motion planner algorithm- this project is available on Github repo
Usage:

Create a new workspace and clone the below repo into src

mkdir tb4_ws
cd tb4_ws
mkdir src
cd tb4_ws/src
git clone https://github.com/turtlebot/TurtleBot4Lessons.git
colcon build

Launch TB4 ignition bring up using  hmi_simulation_project_manager

ros2 launch hmi_simulation_project_manager tb4_ignition.launch.py

Run hmi_simulation_project_manager manager.py script before pressing the button on the turtlebot4 display. This run file initiates all the required nodes for running motion planner algorithm.

ros2 run hmi_simulation_project_manager manager

Checklist

[x] I have performed a self-review of my own code and is under review by @kscottz
[x] I have commented my code, particularly in hard-to-understand areas

Adding more slots to HMI display as discussed with @kscottz

[ ] Added a total of 4 "My Program" slots for users to launch their programs from HMI display
[ ] First two slots are based on services  (My Program and My Program 1)
/my_program /my_program_1
[ ] The next two slots are based on Action-Server (My Program 2 and My Program 3)
sumedh@starfleeet:~/workspace$ ros2 action list /my_program_2 /my_program_3
Example:

Client:
[turtlebot4_node-32] [INFO] [1660626217.475454352] [turtlebot4_node]: My Program 2 Action-Server
[turtlebot4_node-32] [INFO] [1660626217.475498460] [turtlebot4_node]: Waiting for my_program_2 action server
[turtlebot4_node-32] [INFO] [1660626218.475679068] [turtlebot4_node]: my_program_2 action server available, sending goal
[turtlebot4_node-32] [INFO] [1660626218.476384658] [turtlebot4_node]: my_program_2 goal accepted by server, waiting for result
[turtlebot4_node-32] [INFO] [1660626218.486139249] [turtlebot4_node]: my_program_2 goal succeeded

Server:
[INFO] [1660626218.485144909] [my_program_service]: Executing goal...
[INFO] [1660626218.485543875] [my_program_service]: Successfully Executed goal!

Can we rename the service to "UserService" and the action to "UserAction"? Also both services/actions should use the same .srv and .action. We do not need to duplicate them.

@roni-kreinin renamed service to "UserService" and the action to "UserAction" and modified the code without duplications

Let's switch everything to a "User Service" or "User Action" naming convention. I think "MyProgram" is a bit too generic.
We can define UserAction.action as:
# Request
bool user_action_request
---
# Result
bool user_action_result
---
# Feedback
bool user_action_feedback

And then name the action clients as user_action_1 and user_action_2. Similarly the actions themselves would be /user_action_1 and /user_action_2.
We can do the same thing for services and call them user_service_1 and user_service_2.

@kscottz Are you referring to the HMI buttons or the Create 3 buttons?

As discussed with @kscottz  closing this PR as we will come back with another PR which is simple.


Missing imports/exports for emitter-framework

I am working on some language emitters and ran into an issue trying to use the new emitter-framework. Specifically it looks like there are missing imports/exports that cause compiler errors when trying to build a new emitter using it.
When I followed the example in the documentation I was missing at least the CodeTypeEmitter type and the code tag. I was able to hand hack the index.js and index.ts.d files to export these and everything then worked fine.
I am assuming it is just a missing set of exports in the index.ts file.

This is working for me in a separate project:
import { CodeTypeEmitter, code } from "@typespec/compiler/emitter-framework";

Are you perhaps missing the /emitter-framework suffix in the import?

Looks like the docs don't point this out that emitter-framework exports are separated like that so we should fix that.

Hmm, that is odd. I just copy pasted that import and see the same errors.
I have a public repo that I setup where this reproduces:
Github repro (https://github.com/BosqueLanguage/TypeSpecToBosque)
Platform is:
Ubuntu: 22.04
Node: 16.14.0
TSC: 4.7.4
TypeSpec NPM package: 0.42.0 (and 0.41.0)

@marron-at-work Ah, thanks for the repro! Try changing "moduleResolution" in tsconfig.json from "node" to "node16". That fixed it for me.

Ah, hmm, it got rid of squiggle in the IDE, but build is still failing. Continuing to look.

:) Yep, I also just discovered that it was because I had TS 4.8.4 on global path. FWIW, turns out 4.9.x is sufficient and that's what we're on.
Consider putting a "devDependency" on "typescript" in package.json so that build can always use the version you specify.

Note to self, cover this in docs:

[ ]  /emitter-framework in imports
[ ] "node16" moduleResolution in tsconfig.json
[ ] typescript minimum version 4.9.x

Great, I think this resolves everything for me. It sounds like you have some documentation items open from this so I'll leave it for you close it as needed.
Thanks again!


how to remove pickle from admob api?

In https://github.com/googleads/googleads-admob-api-samples/blob/master/python/v1/admob_utils.py.
Always change the pickle.
But this is not friendly for git?
Is there a good way to remove the usage of pickle and keep the credentials continue working?

Hello there,
The token.pickle file stores the token, so it could be added to a .gitignore or alternatively you can store the token in another form safely for your application and update the python/v1/admob_utils.py.
All the best,


 They removed React 18 support. At the moment it seems that this does not influcene the functionality of hyperbook, but the warning is anoying. I am hoping to solve the issue together with react-collapsed. https://github.com/roginfarrer/react-collapsed/issues/117
Version 4 will probably support React 18.


normalize.css

Comments are useful - but simplify them? I assume you copy and pasted?

Yeah, the entire file is downloaded from https://github.com/necolas/normalize.css/, I think this is normally what people do.


⚠ Processors has degraded performance

In a1d191f, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 48 ms

Resolved: Processors performance has improved in f1f581f.


[WIP] Check signature of CoreOS image

systemd-nspawn/machinectl doesn't have a functionality of checking downloaded images by GPG signatures. We need to download the image and validate it by ourselves and then import it by machinectl.

Closed in favor of https://github.com/kinvolk/kube-spawn/pull/251


Support log_every_n_steps with validate|test

What does this PR do?
Fixes https://github.com/Lightning-AI/lightning/issues/10436
Logging per step during fit's validation, regular validation, testing, or predicting is not generally useful when the logged values depend on the optimization process.
However, sometimes you want to log values that do not depend on the optimization process. Examples of this are throughput-related metrics (as in #18848) or batch-specific metrics.
This PR adds support for tuning the logging interval under these circumstances.
This is only a breaking change if the user was calling self.log(..., on_step=True).
The previous behavior is equal to setting log_every_n_steps=1 now. Before, this value was ignored.

:books: Documentation preview :books:: https://pytorch-lightning--18895.org.readthedocs.build/en/18895/

cc @borda @carmocca @justusschock

Hey @carmocca
There are some significant differences here that should be discussed. Here is my simple example:
import os

import torch

from lightning import seed_everything
from lightning.pytorch import LightningModule, Trainer
from torch.utils.data import DataLoader, Dataset

from lightning.pytorch.loggers import TensorBoardLogger

class RandomDataset(Dataset):
    def __init__(self, size, length):
        self.len = length
        self.data = torch.randn(length, size)

    def __getitem__(self, index):
        return self.data[index]

    def __len__(self):
        return self.len

class BoringModel(LightningModule):
    def __init__(self):
        super().__init__()
        self.layer = torch.nn.Linear(32, 2)

    def forward(self, x):
        return self.layer(x)

    def training_step(self, batch, batch_idx):
        loss = self(batch).sum()
        self.log("train_loss", loss)
        return {"loss": loss}

    def validation_step(self, batch, batch_idx):
        loss = self(batch).sum()
        self.log("valid_loss", loss)

    def test_step(self, batch, batch_idx):
        loss = self(batch).sum()
        self.log("test_loss", loss)

    def configure_optimizers(self):
        return torch.optim.SGD(self.layer.parameters(), lr=0.1)

def run():
    seed_everything(0)
    train_data = DataLoader(RandomDataset(32, 64), batch_size=2)
    val_data = DataLoader(RandomDataset(32, 64), batch_size=2)
    test_data = DataLoader(RandomDataset(32, 64), batch_size=2)

    logger = TensorBoardLogger("tb_logs", name="my_model")

    model = BoringModel()
    trainer = Trainer(
        default_root_dir=os.getcwd(),
        logger=logger,
        limit_train_batches=10,
        limit_val_batches=10,
        limit_test_batches=10,
        num_sanity_val_steps=4,
        max_epochs=3,
        enable_model_summary=False,
        log_every_n_steps=2,
    )
    trainer.fit(model, train_dataloaders=train_data, val_dataloaders=val_data)
    trainer.validate(model, val_data)
    trainer.test(model, dataloaders=test_data)

if __name__ == "__main__":
    run()

Running tensorboard --logdir tb_logs and comparing master with this branch.
Red: master
Blue: this PR
Issue 1:

Here we see that the new behavior no longer logs the epoch value at the epoch-end step (blue stops at step 29). It falling short now means there would be a gap when resuming:

Issue 2:

Here the test loss no longer gets logged at the global step, but the step is local to the test stage.
Issue 3:

Finally, a few things are going on for the validation. 1) The fit-validation values are no longer logged, because they don't fall into the logging interval (they are epoch-end). 2) Without using the global step for logging fit-validation logging, you can no longer track the validation loss across your training. It all gets logged to the same step value.

I'll look at Issue 1 and 3. Thanks.
Issue 2 is expected and the point of this PR, that is, testing using its own index instead of the training global step.


Context receivers give ParseError

Using com.diffplug.spotless:spotless-plugin-gradle:6.18.0 configured to use ktfmt().kotlinlangStyle() fails to parse usage of context receivers.
Minimum example:
class A {
    context(String)
    fun test() {}
}

leads to
Step 'ktfmt' found problem in 'A.kt':
2:5: error: Expecting member declaration
com.facebook.ktfmt.format.ParseError: 2:5: error: Expecting member declaration
	at com.facebook.ktfmt.format.Parser.throwParseError(Parser.kt:71)
	at com.facebook.ktfmt.format.Parser.parse(Parser.kt:65)
	at com.facebook.ktfmt.format.Formatter.sortedAndDistinctImports(Formatter.kt:143)
	at com.facebook.ktfmt.format.Formatter.format(Formatter.kt:90)
	at com.diffplug.spotless.glue.ktfmt.KtfmtFormatterFunc.apply(KtfmtFormatterFunc.java:54)
	at com.diffplug.spotless.FormatterFunc.apply(FormatterFunc.java:32)
	at com.diffplug.spotless.FormatterStepImpl$Standard.format(FormatterStepImpl.java:82)
	at com.diffplug.spotless.FormatterStep$Strict.format(FormatterStep.java:88)
	at com.diffplug.spotless.Formatter.compute(Formatter.java:246)
	at com.diffplug.spotless.PaddedCell.calculateDirtyState(PaddedCell.java:203)
	at com.diffplug.gradle.spotless.IdeHook.performHook(IdeHook.java:58)
	at com.diffplug.gradle.spotless.SpotlessExtensionImpl.lambda$createFormatTasks$9(SpotlessExtensionImpl.java:86)

According to the context receivers proposal here, the earliest Kotlin release that supports them is 1.6.20-M1. However, ktfmt seems to be using 1.6.10 as seen here. Am I correct to assume that that's the issue?

#314 seems related, but according to the comments in that issue, ktfmt at one point worked when using context receivers. This issue here instead explains that ktfmt is basically crashing due to an issue parsing the source code.

Adding this to TokenizerTest shows the issue:
@Test
fun `Context receivers are parsed correctly`() {
  val code = """
    |class A {
    |  context(String)
    |  fun test() {}
    |}
    |""".trimMargin().trimMargin()

  val file = Parser.parse(code)
  val tokenizer = Tokenizer(code, file)
  file.accept(tokenizer)

  assertThat(tokenizer.toks.map { it.originalText })
          .containsExactly("class", " ", "A", " ", "{", "\n", "  ", "context", "(", "String", ")", "\n", "  ", "fun", " ", "test", "(", ")", " ", "{", "}", "\n", "}")
          .inOrder()
  assertThat(tokenizer.toks.map { it.index })
          .containsExactly(0, -1, 1, -1, 2, -1, -1, 3, 4, 5, 6, -1, -1, 7, -1, 8, 9, 10, -1, 11, 12, -1, 13)
          .inOrder()
}

Changing pom.xml to use <kotlin.version>1.6.20-M1</kotlin.version> makes that test pass.
However, this is where my knowledge ends 😅 Adding this to FormatterTest shows that further changes are required to support context receivers, just like #314 explains.

@Test
fun `context receivers`() =
  assertFormatted(
      """
    |class A {
    |  context(String)
    |  fun test() {}
    |}
    |"""
          .trimMargin())

@bddckr I don't think #314 indicates that ktfmt used to support context receivers.
Rather, any situations in which they work right now are incidental. In that issue, they're parsed but not formatted correctly.
In your example, they're not parsed at all.

Normally I'd close this as a duplicate, but the fact that this causes a crash (instead of just bad formatting) means we should consider a mitigation at least (if a full fix is hard).
@strulovich has there been any investigation into this?


Eliminate false CSP violations

Originally introduced in https://github.com/getodk/central-frontend/pull/631, there seem to be some false-positives.
Reported violations include:

Blocked style attribute from 'inline:' - https://github.com/getodk/central/pull/771
https://github.com/getodk/central/issues/629 - https://github.com/getodk/central/pull/772
https://github.com/getodk/central-backend/issues/1221
Blocked 'connect' from 'maps.googleapis.com'

Some reported violations may be the result of google chrome's built-in translator, or google translate.

Originally introduced in https://github.com/getodk/central-frontend/pull/631

I think that PR was adding it to the nginx config in development. For production, it looks like it was added in #313.


How do you change settings/options?

Tried right clicking in the middle of vid, it acts as a pause. I wish to change shortcut for volume, which currently acts as a 1 minute seek, speaking of seek I would also wish to change Seek length. Already checked some sort of config file but none related to shortcuts or Seek length. Thanks.
I heard this was a fork or something, I didn't install anything else but what's here https://github.com/Snaacky/thewiki/releases/
I didn't downloaded/installed zhongfly's build
Also, the MPV version is the April 6~7 2024 version(depends on timezone)

You can use the input.conf to map any key to anything.
Also, the issues are for issues directly related to thewiki. For support/help, join our discord linked on the readme

I heard this was a fork or something, I didn't install anything else but what's here https://github.com/Snaacky/thewiki/releases/

I didn't downloaded/installed zhongfly's build

That's not a fork, that's just zhongfly's build with a premade configuration
You can use the input.conf to map any key to anything.
Also, the issues are for issues directly related to thewiki. For support/help, join our discord linked on the readme

Can I know how to find the documentation for input.config? currently it only has
"# restyle subtitles by pressing k
k cycle_values sub-ass-override "force" "no"
"

I linked it to you right above. These are the defaults: https://github.com/mpv-player/mpv/blob/master/etc/input.conf
Just pick and choose what you want and override them

Thanks, made some few changes, this is my settings
`# restyle subtitles by pressing k
k cycle_values sub-ass-override "force" "no"
RIGHT seek  5                          # seek 5 seconds forward
LEFT  seek -5                          # seek 5 seconds backward
UP    add volume 2                     # seek 1 minute forward
DOWN  add volume -2                    # seek 1 minute backward
a cycle-values video-aspect-override "16:9" "4:3" "2.35:1" "-1" # cycle the video aspect ratio ("-1" is the container aspect)
PGUP seek 60                          # seek to the next chapter
PGDWN seek -60                        # seek to the previous chapter
`

it's three backticks btw
```
your content
```

Anyway, I'm closing this issue considering it's resolved now.


#1672 Custom Default Version Policy

Closes #1672

#1672

New Feature
Configurable HttpRequestMessage.VersionPolicy.
Motivation for New Feature
The following setup:

an MVC ASP.NET Core as frontend.
Ocelot gateway
some microservices

All components above configured to use Kestrel with the following snippet:
var builder = WebApplication.CreateBuilder(args);

builder.WebHost.ConfigureKestrel(opts =>
{
    opts.ConfigureEndpointDefaults(lopts =>
    {
        lopts.Protocols = HttpProtocols.Http2;
    });
});

All components above should only talk to each other using HTTP/2 and no TLS (plain HTTP).
User Scenario
With plain Ocelot 18.0.0, I couldn't make them talk to each other with plain HTTP from frontend to the service.
The services will print out error messages like the following:
HTTP/2 connection error (PROTOCOL_ERROR): Invalid HTTP/2 connection preface

Solution
Found out that I need to make sure that HttpRequestMessage has its VersionPolicy to be set RequestVersionOrHigher.
Changes I made

namespace: Ocelot.Request.Mapper
class: RequestMapper
method: Task<Response<HttpRequestMessage>> Map(HttpRequest request, DownstreamRoute downstreamRoute)
changes:

added VersionPolicy = HttpVersionPolicy.RequestVersionOrHigher, in HttpRequestMessage instantiation.

namespace: Ocelot.Requester
class: HttpClientBuilder
method: IHttpClient Create(DownstreamRoute downstreamRoute)
changes:

added DefaultRequestVersion = downstreamRoute.DownstreamHttpVersion,  and DefaultVersionPolicy = HttpVersionPolicy.RequestVersionOrHigher, in HttpClient instantiation.

Then all those components above can talk to each other in HTTP/2.
And I think DefaultVersionPolicy = HttpVersionPolicy.RequestVersionOrHigher could be DefaultVersionPolicy downstreamRoute.DownstreamHttpVersionPolicy.
And I am willing to make a PR if you fine folks think this kind of changes is welcome.
Specifications

Version: 18.0.0
Platform: ASP.NET Core 6.0
Subsystem: ASP.NET 6.0 Docker image. Should be Debian, yes?

Hi Ibnu!
Thanks for being proactive!
I'll return to your PR back after merging all PRs with lower numbers...  Assigned! 😉

@ggnaegi, sorry for pinging you. i couldn't resolve this conflict. would you please resolve this conflict when you merge this pr? the difference is only whitespace and the intended change.
thanks in advance.

Hello, Ibnu!
Just do resolving conflicts in Visual Studio, because VS has a perfect merge tool. Also, for src/Ocelot/Configuration/File/FileRoute.cs conflict I would recommend to use the version from develop only, and then re-add your new property.
If no luck, let me know and I'll help you...

hello raman. thanks, the conflict is resolved.
and might be off-topic. but in ocelot will support net8, yes?

@ibnuda commented on Nov 9
hello raman. thanks, the conflict is resolved.

Thanks!

and might be off-topic. but in ocelot will support net8, yes?

Yes! Soon! FYI #1787

@ggnaegi Is it ready? Or can we add this PR & feature to Nov'23 milestone? How confident are you, guys? 😃

@ggnaegi Is it ready? Or can we add this PR & feature to Nov'23 milestone? How confident are you, guys? 😃
I see only unit tests

test/Ocelot.UnitTests/Configuration/VersionPolicyCreatorTests.cs

Hello, I think it's safe, we can add it to the november release. Maybe, we could implement an acceptance test...

hello folks, thanks for the answer.
yes, I'm available to write some acceptance tests. just point me where the rest of the acceptance tests are and the general direction then I will push it up.

@ggnaegi commented on Nov 20

namespace Ocelot.AcceptanceTests;
public class DefaultVersionPolicyTests : IDisposable
{ }

If we will create all test classes in the root folder then we will make long list of them.
Too many files in root folder! Why not to organize files/namespaces in Acceptance Tests project?
What Ocelot feature will this small feature belong to?

@ggnaegi commented on Nov 20

namespace Ocelot.AcceptanceTests;
public class DefaultVersionPolicyTests : IDisposable
{ }

If we will create all test classes in the root folder then we will make long list of them. Too many files in root folder! Why not to organize files/namespaces in Acceptance Tests project? What Ocelot feature will this small feature belong to?

Yes, you are right, we should reorganize the tests structure, maybe a new PR?

hello folks, seems like there's a problem when testing with http2 and https. the test pass just fine in local, but it seems the circle ci setup needs to trust dotnet issued cert.
i made change in the .circleci/config.yaml by adding dotnet dev-certs https but it seems circleci doesn't pick it up.
what can i do to pass the ci?
thanks in advance.

@ibnuda uuupppss... Let me check that

Ok, the problem is on ocelot side too... Ok, will have a look later, sorry.

Thank, ggnaegi. but please don't feel pressured. please do it in your own pace and.

Guys, we have the new commits in develop!
Please, rebase feature branch onto develop!

@ibnuda commented on Nov 22

What the issue with .circleci/config.yaml and certificates? Some builds have failed?
Show the links to the CircleCI logs plz!

@raman-m here's the link https://app.circleci.com/pipelines/github/ThreeMammals/Ocelot/1401/workflows/fed691a9-ee47-4ecf-8408-58ecdb2802cb/jobs/2652
i will rebase it asap.

@ibnuda  Do you need a help from mentor to rebase feature branch?

@ibnuda Ok, so, the tests are now passing, but it wasn't dead easy. https://app.circleci.com/pipelines/circleci/GZQVatYXRpPzhVdjSqemdz/Ub5zkLQTdd3gUF5FDU1Htb/30/workflows/efb521ef-7721-421c-a4e7-9bc1bdacb220/jobs/58
The changes are included mainly in the CI Pipeline image Dockerfile
FROM mcr.microsoft.com/dotnet/sdk:7.0-alpine

RUN apk add bash icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib git openssh-client

# Generate and export the development certificate
RUN dotnet dev-certs https -ep /certs/cert.pem -p '' && \
    chmod 644 /certs/cert.pem

ENV ASPNETCORE_URLS="https://+;http://+"
ENV ASPNETCORE_HTTPS_PORT=443
ENV ASPNETCORE_Kestrel__Certificates__Default__Password=""
ENV ASPNETCORE_Kestrel__Certificates__Default__Path=/certs/cert.pem

Still, a simple improvement here:
  public class VersionPolicies
  {
      public const string RequestVersionExact = nameof(HttpVersionPolicy.RequestVersionExact);
      public const string RequestVersionOrLower = nameof(HttpVersionPolicy.RequestVersionOrLower);
      public const string RequestVersionOrHigher = nameof(HttpVersionPolicy.RequestVersionOrHigher);
  }

But you should first rebase and then we will be able to proceed...
From your feature branch you should do git rebase develop and follow the instructions.

@ggnaegi commented on Nov 27

Are you blocked in development because of required new Docker image for builds?
What is the readiness of this PR to plan to include PR in future milestones?

@raman-m
could you update the image on docker and update the references in the circle ci yaml file on the develop branch?
FROM mcr.microsoft.com/dotnet/sdk:8.0-alpine

RUN apk add bash icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib git openssh-client

RUN curl -L --output ./dotnet-install.sh https://dot.net/v1/dotnet-install.sh

RUN chmod u+x ./dotnet-install.sh

# Install .NET 7 SDK
RUN ./dotnet-install.sh -c 7.0 -i /usr/share/dotnet

# Install .NET 6 SDK
RUN ./dotnet-install.sh -c 6.0 -i /usr/share/dotnet

# Generate and export the development certificate
RUN dotnet dev-certs https -ep /certs/cert.pem -p '' && \
    chmod 644 /certs/cert.pem

ENV ASPNETCORE_URLS="https://+;http://+"
ENV ASPNETCORE_HTTPS_PORT=443
ENV ASPNETCORE_Kestrel__Certificates__Default__Password=""
ENV ASPNETCORE_Kestrel__Certificates__Default__Path=/certs/cert.pem

@ggnaegi
Pay attention that we use new - image: ocelot2/circleci-build:8.21.0 in develop! We go away from mijitt0m account!
The author or you have to resolve merge conflicts. Then create test image in your account please as I said in prev message!

@ibnuda @ggnaegi  Who will resolve merge conflicts? 😉
Please merge develop!
Also I'm curious, Is it possible to rebase onto develop? 🤣 see a lot of merge commits...

@ggnaegi commented on Nov 30, 2023

I will try to find some time these days.... Seems both you and the author are blocked by Docker image upgrading.

@raman-m I could create the images, but I don't have the needed permissions on ocelot2.

@ggnaegi  You want too much! :wink:
My answer: https://ocelot-2.slack.com/archives/C0667CH7RPD/p1708412345257399
The quote:

Personal account doesn't allow to add Collaborators, unfortunately.
Also, see Docker Pricing: https://www.docker.com/pricing/
Conclusion: To work as a team we must upgrade to Team subscription! And sure we have to convert current ocelot2 account to Organization one.

Please Note! Team subscription costs $9 per team member monthly!

Hi @ggnaegi @ibnuda !
I'm experiencing this Docker build error

Any ideas?
Have you tried to build the docker file locally in terminal?
Maybe something changed in last 3 months?
Please run local build and let me know your building results plz 👉
docker build --platform linux/amd64 -t ocelot2/circleci-build -f Dockerfile.base .

I've downloaded https://dl-cdn.alpinelinux.org/alpine/v3.19/community/x86_64/APKINDEX.tar.gz archive and unpacked it,
Opened file APKINDEX in text editor and my search for libssl1.1 was failed.

microsoft-dotnet-sdk - Official Image | Docker Hub

Browsing to this "Official images for the .NET SDK" I'd say that 8.0-alpine tags for "Linux amd64 Tags" still exist but they are very fresh being updated in February, a week ago! So, I expect that something has really changed and our old build script doesn't work now.
I will try to use old OS and tags, downgrading version and try Ubuntu base image...

Anyway, this 3rd line of the script must be reviewed
RUN apk add bash icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib git openssh-client

Also you can get some ideas in alpine3.19 Dockerfile which is the latest version and current default base Docker file of 8.0-alpine tag.

I might just have written that example without checking it @raman-m

I've rebased feature branch and resolve conflicts!
The rest of gaps in diff I'll fix during next code review...
Can't help you guys more... 😫

@ggnaegi  I used this branch to play with Docker build
I'll create PR after your thorough testing of Docker script.

@raman-m I would like to help here, but it's an insane mess..

@raman-m Ok, done, could you please build the new images?

Rebased once again!

Ready for final code review! ✔

@ggnaegi @RaynaldM
So, you both approved the PR... But if you don't mind, let's give a time to the author to fix issues from my code review

🤣 LoL conflicts! 🤯

@ggnaegi commented:

Yes, it makes sense, you're right

Renamed! See commits https://github.com/ThreeMammals/Ocelot/pull/1673/commits/15850610971304e852adb6dffab07816bb32f721 and https://github.com/ThreeMammals/Ocelot/pull/1673/commits/891bb164321450a60e14666135fafba1493f5a4f

@ibnuda Congrats! 🥳

Feature commit in develop → https://github.com/ThreeMammals/Ocelot/commit/176a4c8b2b84bb9b4bcacb03be112eeb1e8dfdc0


RswiftResources no such module error

I'm trying to migrate R.swift to the latest version using the plugin import method.
On local workstations it works fine. Even the archive is completed correctly.
But when i run this in the Github action that we use for CI it can never complete an archive.
The r.generated file is correctly written, but when compiled it cannot find the RswiftResources module, causing the compilation process to fail.

I tried using a project or switching to a workspace.
Tried messing with various build settings, but nothing seems to work.
From what I can see the plugin is configured correctly as it has no problem locally in debug or archive.
Maybe there is some "fixed" path that is necessary and when running in CI there is some problem with the location where this library is created and located?

I have the same issue hope there is a solution soon

Got the same issue, please help.

Same issue

I have the same problems for last two days, did anyone managed to fix it or is there a planned fix by the package owners itself?

i figured out it happens when you build the executableTarget() for the plugin when you remove the build plugin the archive is working. I think thats the case because the Plugin is Compiled for macOS to execute and the archive is a build for iOS.
A possible workaround would be to include the executable target prebuild in the Package.swift
SwiftLint had the same problem and they fixed it with that approach.
 .binaryTarget(
            name: "SwiftLintBinary",
            url: "https://github.com/realm/SwiftLint/releases/download/0.50.3/SwiftLintBinary-macos.artifactbundle.zip",
            checksum: "abe7c0bb505d26c232b565c3b1b4a01a8d1a38d86846e788c4d02f0b1042a904"
        )

Removing the -sdk 'iphoneos16.2' option from xcodebuild should fix the issue.
The app will still be build for iOS because of the specified destination.
We could indeed think about shipping a prebuilt binary, if only to avoid this scenario, because multiple people have already run into this.

I think that shipping a prebuild binary is the solution to go IMHO. SwiftLint solved the same issue in the same way and it works well indeed.

Is there any update for a solution for this?

In my case the xcode build command doesn't contain the -sdk parameter so the workaround doesn't work for me.
Is there any way we can have this fixed in the future?
My command is this:
xcodebuild -resolvePackageDependencies -scheme Prod -project App.xcodeproj -configuration ProdRelease

A workaround is to not use the build plugin, but instead run the command plugin manually.

This is not gonna help when on CI
Il giorno mar 11 lug 2023 alle 14:30 Tom Lokhorst @.***>
ha scritto:

A workaround is to not use the build plugin, but instead run the command
plugin manually.
—
Reply to this email directly, view it on GitHub
https://github.com/mac-cain13/R.swift/issues/805#issuecomment-1630161794,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA2HMGJVVKHPTGKXBMMM6CLXPTQHZANCNFSM6AAAAAAUV4TIWM
.
You are receiving this because you authored the thread.Message ID:
@.***>

I was installing the dependencies the Mint way, and now I'm having this problem too. Is there anyone similar who has encountered the problem? Is there any solution to this problem?

I had the same issue. Archive worked fine locally but failed on CI (GitHub actions + Fastlane).
The issue was solved after removing sdk parameter from the fastlane build_ios_app function call.


allow marking a cell as independent

E.g. something like # indep so that the cell gets re-run only if

it's not been run before
it's been modified

and so it doesn't get re-run if it's been run successfully and some other cell changes.
The user takes on the responsibility to verify that the cell does not depend on anything external, nor that any other cell depend on it.

Ok this is a bit subtle but it should be ok.
Needs doc.


Fix Dema

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Bug fix.

What is the current behavior? (You can also link to an open issue here)
#1812

What is the new behavior (if this is a feature change)?
It fixes DEMA formula.

Other information:

@Paulovms thanks a lot, this looks great!
Final question before I can merge (as @greenbigfrog noted): can you clean up the commits a bit? You can do this by squashing all commits into a single one, read here how: http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html
If you can't I can also do this, but in that case git would reflect my as the author and these commits won't count towards your contribution.

@askmike I have tried to clean up the commits. If this doesn't work you can do it.

Thank you! The address is 38YTsUrcxPxwxf8UnQewjF87pBDDnjxoEx

Bounty send: https://live.blockcypher.com/btc/tx/0744f7076f3820898aca87dce31f53962e8b2e80d4956d918792409c4f4f1a5d/

Will the current DEMA (stable) strategy be featured on the next version or is there any simple way to do it with another strategy ?


time.Parse broken on custom format

time.Parse() doesn't work correctly across timezones. I’ve tried this on OSX and Linux:
const shortForm = "2006-Jan-02 15:04 MST"
originalTime, err := time.Parse(shortForm, "2013-Nov-29 06:00 CST")
// code that checks err...
fmt.Println("originalTime", originalTime)
fmt.Println("originalTime.Unix", originalTime.Unix())
otherTime, err := time.Parse(shortForm, "2013-Nov-29 07:00 EST")
// code that checks err...
fmt.Println("otherTime", otherTime)
fmt.Println("otherTime.Unix", otherTime.Unix())

When the system is in the CST timezone, I get the following:
originalTime 2013-11-29 06:00:00 -0600 CST
originalTime.Unix<PHONE_NUMBER>
otherTime 2013-11-29 06:00:00 -0600 CST
otherTime.Unix<PHONE_NUMBER>
Sanity, right? Except if the system timezone is something other than CST. Change it to EST:
originalTime 2013-11-29 06:00:00 +0000 CST
originalTime.Unix<PHONE_NUMBER>
otherTime 2013-11-29 07:00:00 -0500 EST
otherTime.Unix<PHONE_NUMBER>
Note there are no errors.

One thing to note: a workaround is to use RFC-3339 date formats exclusively (i.e. "2006-01-02T15:04:05Z07:00"). When restricting the format to this, the bug does not reveal itself and everything works as expected.

You don't have to use RFC3339; but I would recommend using numeric zones to avoid this situation. It's described in the docs:

When parsing a time with a zone abbreviation like MST, if the zone abbreviation has a defined offset in the current location, then that offset is used. The zone abbreviation "UTC" is recognized as UTC regardless of location. If the zone abbreviation is unknown, Parse records the time as being in a fabricated location with the given zone abbreviation and a zero offset. This choice means that such a time can be parsed and reformatted with the same layout losslessly, but the exact instant used in the representation will differ by the actual zone offset. To avoid such problems, prefer time layouts that use a numeric zone offset, or use ParseInLocation.

(Dup of #11815, I think)

I think so too.

I think it's a dup of #11815 as well. Thank you.
And I missed that in the doc too, however, the "If the zone abbreviation is unknown, Parse records the time as being in a fabricated location with the given zone abbreviation and a zero offset" does not seem to be a sane implementation of date parsing in any case.


core: add license and improve readme

add license file
reorder badges by priority
use github license badge (depends on #88)
"Now Cloud" => "Now"
some minor improvements

Thanks! @jackmu95
Since this one needs a github license badge, gonna merge it after #88

Now Cloud sounds better, really. I liked that.

Prefer "Now Cloud" too, but I'm not sure if it is an official recognized name, I forgot where I saw that name 😂
Zeit are using "Now" on their website.


fix: Why is my sitemap en-US-sitemap.xml in the development environment and sitemap/en.xml in the production environment?

🐛 The bug
This is the development environment：

This is the production environment：

🛠 To reproduce
https://nuxtseo.com/sitemap/getting-started/stackblitz
🌈 Expected behavior
locales:

ℹ Additional context
No response

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."


NeptuneLogger doesn't work with distributed_backend='ddp'

🐛 Bug

When using NeptuneLogger with distributed_backend='ddp' and running it on a single node with two GPUs, I find an error like this.
Traceback (most recent call last):
  File "pl.py", line 146, in <module>
    main()
  File "pl.py", line 103, in main
    trainer.fit(model)
  File "/home/hirune/anaconda3/envs/PANDA/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 751, in fit
    mp.spawn(self.ddp_train, nprocs=self.num_processes, args=(model,))
  File "/home/hirune/anaconda3/envs/PANDA/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 200, in spawn
    return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
  File "/home/hirune/anaconda3/envs/PANDA/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 158, in start_processes
    while not context.join():
  File "/home/hirune/anaconda3/envs/PANDA/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 119, in join
    raise Exception(msg)
Exception:

-- Process 1 terminated with the following error:
Traceback (most recent call last):
  File "/home/hirune/anaconda3/envs/PANDA/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 20, in _wrap
    fn(i, *args)
  File "/home/hirune/anaconda3/envs/PANDA/lib/python3.7/site-packages/pytorch_lightning/trainer/distrib_data_parallel.py", line 370, in ddp_train
    self.run_pretrain_routine(model)
  File "/home/hirune/anaconda3/envs/PANDA/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 871, in run_pretrain_routine
    self.configure_checkpoint_callback()
  File "/home/hirune/anaconda3/envs/PANDA/lib/python3.7/site-packages/pytorch_lightning/trainer/callback_config.py", line 54, in configure_checkpoint_callback
    self.logger.name,
  File "/home/hirune/anaconda3/envs/PANDA/lib/python3.7/site-packages/pytorch_lightning/loggers/neptune.py", line 267, in name
    return self.experiment.name
  File "/home/hirune/anaconda3/envs/PANDA/lib/python3.7/site-packages/pytorch_lightning/loggers/neptune.py", line 230, in experiment
    **self._kwargs)
  File "/home/hirune/anaconda3/envs/PANDA/lib/python3.7/site-packages/neptune/__init__.py", line 222, in create_experiment
    raise Uninitialized()
neptune.exceptions.Uninitialized: You must initialize neptune-client first. For more information, please visit: https://github.com/neptune-ai/neptune-client#initialize-neptune

And I found a similar error with CommetLogger
To Reproduce
Steps to reproduce the behavior:
Run the following code on a machine with two GPUs.
This code is a slightly modified version of what was on this page.
https://docs.neptune.ai/integrations/pytorch_lightning.html

Code sample

import os

import torch
from torch.nn import functional as F
from torch.utils.data import DataLoader
from torchvision.datasets import MNIST
from torchvision import transforms

import pytorch_lightning as pl

MAX_EPOCHS=20
LR=0.01
BATCHSIZE=32
CHECKPOINTS_DIR = 'my_models/checkpoints/7'

class CoolSystem(pl.LightningModule):

    def __init__(self):
        super(CoolSystem, self).__init__()
        # not the best model...
        self.l1 = torch.nn.Linear(28 * 28, 10)

    def forward(self, x):
        return torch.relu(self.l1(x.view(x.size(0), -1)))

    def training_step(self, batch, batch_idx):
        # REQUIRED
        x, y = batch
        y_hat = self.forward(x)
        loss = F.cross_entropy(y_hat, y)
        tensorboard_logs = {'train_loss': loss}
        return {'loss': loss, 'log': tensorboard_logs}

    def validation_step(self, batch, batch_idx):
        # OPTIONAL
        x, y = batch
        y_hat = self.forward(x)
        return {'val_loss': F.cross_entropy(y_hat, y)}

    def validation_end(self, outputs):
        # OPTIONAL
        avg_loss = torch.stack([x['val_loss'] for x in outputs]).mean()
        tensorboard_logs = {'val_loss': avg_loss}
        return {'avg_val_loss': avg_loss, 'log': tensorboard_logs}

    def test_step(self, batch, batch_idx):
        # OPTIONAL
        x, y = batch
        y_hat = self.forward(x)
        return {'test_loss': F.cross_entropy(y_hat, y)}

    def test_end(self, outputs):
        # OPTIONAL
        avg_loss = torch.stack([x['test_loss'] for x in outputs]).mean()
        tensorboard_logs = {'test_loss': avg_loss}
        return {'avg_test_loss': avg_loss, 'log': tensorboard_logs}

    def configure_optimizers(self):
        # REQUIRED
        # can return multiple optimizers and learning_rate schedulers
        # (LBFGS it is automatically supported, no need for closure function)
        return torch.optim.Adam(self.parameters(), lr=LR)

    @pl.data_loader
    def train_dataloader(self):
        # REQUIRED
        return DataLoader(MNIST(os.getcwd(), train=True, download=True, transform=transforms.ToTensor()), batch_size=BATCHSIZE)

    @pl.data_loader
    def val_dataloader(self):
        # OPTIONAL
        return DataLoader(MNIST(os.getcwd(), train=True, download=True, transform=transforms.ToTensor()), batch_size=BATCHSIZE)

    @pl.data_loader
    def test_dataloader(self):
        # OPTIONAL
        return DataLoader(MNIST(os.getcwd(), train=False, download=True, transform=transforms.ToTensor()), batch_size=BATCHSIZE)

from pytorch_lightning.loggers.neptune import NeptuneLogger
def main():
    neptune_logger = NeptuneLogger(
        api_key="ANONYMOUS",
        project_name="shared/pytorch-lightning-integration",
        close_after_fit=False,
        experiment_name="default",  # Optional,
        params={"max_epochs": MAX_EPOCHS,
                "batch_size": BATCHSIZE,
                "lr": LR}, # Optional,
        tags=["pytorch-lightning", "mlp"]  # Optional,
    )
    model_checkpoint = pl.callbacks.ModelCheckpoint(filepath=CHECKPOINTS_DIR)

    from pytorch_lightning import Trainer

    model = CoolSystem()
    trainer = Trainer(max_epochs=MAX_EPOCHS,
                      logger=neptune_logger,
                      checkpoint_callback=model_checkpoint,
                      gpus=-1,
                      distributed_backend='ddp',
                      )
    trainer.fit(model)
    trainer.test(model)

    # Get predictions on external test
    import numpy as np

    model.freeze()
    test_loader = DataLoader(MNIST(os.getcwd(), train=False, download=True, transform=transforms.ToTensor()), batch_size=256)

    y_true, y_pred = [],[]
    for i, (x, y) in enumerate(test_loader):
        y_hat = model.forward(x).argmax(axis=1).cpu().detach().numpy()
        y = y.cpu().detach().numpy()

        y_true.append(y)
        y_pred.append(y_hat)

        if i == len(test_loader):
            break
    y_true = np.hstack(y_true)
    y_pred = np.hstack(y_pred)

    # Log additional metrics
    from sklearn.metrics import accuracy_score

    accuracy = accuracy_score(y_true, y_pred)
    neptune_logger.experiment.log_metric('test_accuracy', accuracy)

    # Log charts
    from scikitplot.metrics import plot_confusion_matrix
    import matplotlib.pyplot as plt

    fig, ax = plt.subplots(figsize=(16, 12))
    plot_confusion_matrix(y_true, y_pred, ax=ax)
    neptune_logger.experiment.log_image('confusion_matrix', fig)

    # Save checkpoints folder
    neptune_logger.experiment.log_artifact(CHECKPOINTS_DIR)

    # You can stop the experiment
    neptune_logger.experiment.stop()

if __name__ == "__main__":
        main()

Expected behavior

Environment

CUDA:
- GPU:
- GeForce GTX TITAN X
- GeForce GTX TITAN X
- available:         True
- version:           10.1
Packages:
- numpy:             1.18.1
- pyTorch_debug:     False
- pyTorch_version:   1.5.0
- pytorch-lightning: 0.7.5
- tensorboard:       2.2.1
- tqdm:              4.42.1
System:
- OS:                Linux
- architecture:
- 64bit
-
- processor:         x86_64
- python:            3.7.6
- version:           #86-Ubuntu SMP Fri Jan 17 17:24:28 UTC 2020

Additional context

@jakubczakon pls ^^

Hi @hirune924 and thanks for raising it!
I've already notified the dev team and @pitercl will get back to you once we have a solution.

@jakubczakon I assume that this is also Neptune issue only, not related to PL, right?

As @hirune924 mentioned:

And I found a similar error with CommetLogger

So I think it may be a more general problem.

Hi @hirune924, @Borda, just a quick update on this: from my initial tests, our Neptune logger and multiprocessing don't mix well. Tomorrow I'll dig a bit deeper into that and see if/how it can be remedied.
@Borda, I don't know yet if this is more on Neptune side or PL side.

Another quick update: I have a solution to this and will create a PR with a fix today or tomorrow.


Added explicit exception raise when no stack found.

Currently, any operation that uses 'get_stack' method from 'CloudFormationBackend' class
will fail with AttributeError or jinja2 exception if ran against non-existing stack(created/deleted)
To fix the issue I explicitly raised a 'ValidationError' exception.
Added tests for boto and boto3 responses.
Fixes  #3558

Coverage decreased (-0.05%) to 94.513% when pulling 8ff285d1fe2da2b280d80e9e86d2b3c53ef76ea6 on modamod:bugfix/get_stack_none_value into a31599d000688185698c22a6d11d7c23e942c177 on spulec:master.


Anoncreds attributes types.

Hello,
Question 1: Are there any other types in the attributes other than string?  If not, are there any plans to add it in the future?
Question 2:  How do the documents get saved in the chain? Do we need to store the documents in our own server and reference them to a did?

Numbers are also supported, but that is about it. Anoncreds V2 might change that, but it is unsure.

That depends on the did method. For a blockchain based did method, you store the entire did document on chain. For something like did:web you would host the entire document on your server.

Hope that helps.

Thanks for your quick reply 🙏  @berendsliedrecht  - Do we have a library that supports storing documents on chain or is it yet to be implemented?

Something like hyperledger/indy-vdr could do that.


905 - Split out applications

Split Applications into service specific tables, entities and responses.
Previously isWomensApplication and isPipeApplication existed on the applications table but these properties are not relevant to CAS3.  We have a need to add more CAS1 specific properties, namely selected offence and RoSH data so this is a prerequisite to that work.

 Select index offence (if there is > 1 active conviction)


locationd: optimize predict_and_update_batch by conditionally skipping return values

This PR requires the changes in https://github.com/commaai/rednose/pull/48
The key modification is to conditionally return the result of the predict_and_update_batch function only when debug is set to True. By skipping the return value construction during normal execution (when debug=False), the execution time of the function is significantly reduced, resulting in a 2x performance improvement.

Original execution (with return):

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     6096    0.580    0.000    0.920    0.000 ekf_sym_pyx.pyx:144(predict_and_update_batch)

Optimized execution (without return):

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     6097    0.466    0.000    0.466    0.000 ekf_sym_pyx.pyx:144(predict_and_update_batch)

I don't think this is clean, it would be better to design cython wrapper around Estimate and return it instead of making numpy copies of every field.

I don't think this is clean, it would be better to design cython wrapper around Estimate and return it instead of making numpy copies of every field.

I agree. I considered that approach, but chose a quicker solution to avoid extra Cython code. You're right though—your way is the better long-term fix.


Sorta fix malloc-free test case within bazel

This PR doesn't include an actual fix but after having made changes for debugging the test case passes now so I'm no longer sure what the issue is.
I'm including the changes here since they seem to fix the issue but I'm not actually sure why this happens.
/stack #523

@Phantomical can you please merge this PR please? It might be worth merging the test cases even if the other changes are no good


: Need someone for creating mobile app for this project

If you are reading this and you know android development and can make good app .. join me in creating a bill split app (not a regular bill splitting app)

I want to join.
please add more documentation on mongo db and other environment variable , this will make the life easy of the developer .

I am working on it. Soon this will be completed. Thanks for showing enthusiasm towards this project


Add support for keyword lists

For one of our projects we needed support for keyword lists, so that the key-value pairs would be encoded in the correct order in the YAML output. Currently trying to convert a keyword list will result in an exception. This PR adds a pattern match to encode_as_io_list so that keyword lists are encoded in the same way as maps.

Requirements

[x] Entry in CHANGELOG.md was created
[ ] ~Link to documentation on https://yaml.org/ is provided in the PR description~
[x] Functionality is covered by newly created tests

actually, it gets worse (more complicated): how should [{:a, 1}, 2] or [{:a, 1}, :b] or [:a, {:b, 2}] be encoded? or should it throw an error?
with this change, Ymlr.Encoder.to_s!([:a, {:b, 2}]) returns "- a\nb: 2" and that is not valid yaml

we might have to use https://hexdocs.pm/elixir/1.12/Keyword.html#keyword?/1 in encode_as_io_list(data, level) when is_list(data)

and ... we should add a test to make it explicit what happens with duplicate keys [{:a, 1}, {:a, 2}]
probably pick the first one, as Keyword.get([a: 1, a: 2], :a) returns 1
assert MUT.to_s!([a: 1, a: 2]) == "a: 1"

@matthijsqd do you mind rebasing on main and taking another stab at it?

probably pick the first one, as Keyword.get([a: 1, a: 2], :a) returns 1

Probably. The alternative would be to use Keyword.values() and make the value a list.

@matthijsqd do you mind rebasing on main and taking another stab at it?

Fair points, I'll give it another shot

With #118 tuples will be encoded as lists. So there's not gonna be a support for keyword lists being encoded like maps.
On that branch, this happens:
Ymlr.document!(a: "a", b: "b")
"""
---
- - a
  - a
- - b
  - b
"""

Going to close this if no objections.


update Apps via extension

Hi Maik,
I really like your extension and have automated much of the routine work. One thing that is missing for me is updating the Apps. MS has realised new functionally on that for Powershell with new cmdlets. Will your extension be including this functionality?
secondly; do I need to worry about this with your extension?;
https://powerbi.microsoft.com/en-us/blog/heads-up-breaking-change-coming-to-power-bi-powershell-cmdlets/

@mcharing Will check the link you send me. Thanks for the heads up!
Regarding the apps could you maybe be more specific? What kind of actions you would prefer I can always look at the options.

when I update the reports via a pipeline (over several workspaces at once 👍) I have to manually go to Power BI and for every workspace i need to update the App. This includes hitting 4 buttons per workspace to actually update the App.

Oké, Will check what can be done

@mcharing If I understand correctly, you want the functionality to update the app in the Azure DevOps pipeline?
From my understanding, this will not be possible because of the following:
Power BI CmdLets: https://docs.microsoft.com/en-us/powershell/module/microsoftpowerbimgmt.workspaces/?view=powerbi-ps

There is no cmdlets that supports this functionality.

Power BI REST API: https://docs.microsoft.com/en-us/rest/api/power-bi/apps

There are only APIs available to fetch information regarding Apps, not update them.

Is there something I am missing?

As there are no capabilities in the API / Cmdlets the issue will be closed for now


how to deploy this framework for Hadoop src compile&test locally without using GAE?

Hello guys,
I am an engineer from China who is doing some research on improving the efficiency of Hadoop source code's compiling and testing and I found that this dist_test framework is absolutely what I want except for the fact that it's heavily based on the GAE service which can't be used in China as we all know.
The alternatives to GAE include APPScale and TyphoonAE and so on according to my research, however, the alternative is either too new or too ancient to use.
So what I want to ask is Is There an way which solves the demand as described in the title?
Many Thanks in advance!!

The services are designed to be used on Google AppEngine, as this permits us to focus on high level services and not have to manage the security and scaling of the servers and the database. As such I recommend you to look at other continuous integration system. :/


raidboss: TOP P5 Omega Dodge Locations

This adds callouts for the safe spots during Run Dynamis: Omega Version.
The pattern used is "Distance, Direction".
There are combatants added once phase has reached the omega version. The combatants when ordered by id give us who will be spawned first. The positional data is known while they are invisible at start of the phase.
This needs to be tested... I have only 1.5 logs.
EDIT: The output for distance is not correct in raidemulator because of WeaponId not being available. So long as it's the same as P2 I think the logic is correct?

Ooh, thank you for writing this!!
I think one big thought I have is that although legs+anything and shield+staff have only a single solution, there's two safe spots for staff+sword that are opposite of each other (plus a third safe spot behind the staff but I don't know why you'd go there).  In this picture, there's "east far" and "west staff" for lack of a better way to put it (maybe even "west staff lean left") where you stand on the third ring and take a tiny step away from omega-F.  In some ways it's a much safer dodge because it puts the "far" pattern much closer to the middle so there's less running for cases of far->far or mid->far.
Ignore the fact in this picture that the staff/sword clones have disappeared and omega has already switched rings, but it should be obvious from the aoes what's going on here: .
Since the safe spots are the direct opposite of each other, I'm not sure how to have the trigger handle both in a way that's useful for users.  I guess it could say "E far / W staff" or something and then users could edit it to say the one they care about? That's kind of awkward.  Do you have any other suggestions here to handle this?
A couple of other followup thoughts that don't have to be done in this PR but just something to consider:

could the trigger say something like "N or E close" prior to the omega cleave coming out, so people can preposition beforehand?
do you think it's worth giving a left/right rotation as well, since it's always a 90 degree rotation from one spot to the next? just like a "right -> east mid" kind of thing for the second call?

The calls were meant to represent this diagram from the balance:

Since the safe spots are the direct opposite of each other, I'm not sure how to have the trigger handle both in a way that's useful for users. I guess it could say "E far / W staff" or something and then users could edit it to say the one they care about? That's kind of awkward. Do you have any other suggestions here to handle this?

It could have an extra output for the case where there are multiple spots so it could some how be overridden separate from the single spot locations. The default could just be left what it is outputting now or adjusted so it's more noticeable from TTS/text that it is editable separately to the other patterns.

could the trigger say something like "N or E close" prior to the omega cleave coming out, so people can preposition beforehand?

The positions of the entities are known so it could at least say a side the two males are on. I am not sure if their WeaponID is already defined though. I also do not know if the final omega in the center has a WeaponID for which way its ring is so right now the side it is lasering is not known until the cast starts. These would be something requiring testing in game to determine.

do you think it's worth giving a left/right rotation as well, since it's always a 90 degree rotation from one spot to the next? just like a "right -> east mid" kind of thing for the second call?

I think that is a good idea as it is faster at that point to know left/right. I think it's safe to assume people are looking at the boss for the second direction to go to and that may generally be where the Omega-F that players would be hitting is/was located at spawn.

The calls were meant to represent this diagram from the balance:

Yeah, that's what I figured.  The staff+sword "far" is on the 7th or even 6th ring, but the staff+sword "mid-ish" from my screenshot is on the 3rd ring on the opposite side.

Since the safe spots are the direct opposite of each other, I'm not sure how to have the trigger handle both in a way that's useful for users. I guess it could say "E far / W staff" or something and then users could edit it to say the one they care about? That's kind of awkward. Do you have any other suggestions here to handle this?

It could have an extra output for the case where there are multiple spots so it could some how be overridden separate from the single spot locations. The default could just be left what it is outputting now or adjusted so it's more noticeable from TTS/text that it is editable separately to the other patterns.

Are you suggesting we have three output strings for staff+sword, e.g.
staffSwordCombo: {
  en: '${farText} / ${midText}',
},
staffSwordFar: {
  // etc
},
staffSwordMid: {
  // etc
},

... and then users could edit staffSwordCombo to just be ${farText} or ${midText}?

could the trigger say something like "N or E close" prior to the omega cleave coming out, so people can preposition beforehand?

The positions of the entities are known so it could at least say a side the two males are on. I am not sure if their WeaponID is already defined though. I also do not know if the final omega in the center has a WeaponID for which way its ring is so right now the side it is lasering is not known until the cast starts. These would be something requiring testing in game to determine.

Yeah my thought was to do it on the cast itself, but to have a pre-call before that cast starts.

Are you suggesting we have three output strings for staff+sword, e.g.
staffSwordCombo: {
  en: '${farText} / ${midText}',
},
staffSwordFar: {
  // etc
},
staffSwordMid: {
  // etc
},

... and then users could edit staffSwordCombo to just be ${farText} or ${midText}?

Yea, something like that or just have the return when it's staff+sword be
staffSwordCombo: {
  en: '${distance} ${dir}',
},

...and then the alertText would use something like:
const firstSpot = (!isF1in && !isM1in) ? output.safeSpot!({ distance: distance1, dir: dir1 }) : output.staffSwordCombo!({ distance: distance1, dir: dir1 });
const secondSpot = (!isF1in && !isM1in) ? output.safeSpot!({ distance: distance2, dir: dir2 }) : output.staffSwordCombo!({ distance: distance2, dir: dir2 });

return output.safeSpots!({ first: firstSpot, second: secondSpot });

I'll look into some changes.

I've updated it to use separate output for Staff + Sword combo including the additional safe sport near the middle on F's side.
The code originally was only giving an spot related to where M was. It now flips to F-side when close, I'll have to check that simply checking the X or Y is still adequate for F. The F side's Staff + Sword Combo required knowing the exact coordinate in relation to the cleave by the boss, so I compared both PosX and PosY. I used the inter-intercard callout in the direction.
The triggers will need another revisit if the second half works better as a left/right callout.

The early call I added likely will want some form of delaySeconds added with adjusting durationSeconds because the adds are not even visible for another 5~10s. I am not sure at which point after Run Dynamis: Omega Version or before Diffuse Wave Cannon the M+F are visible.

Based on quisquos findings, some of the calls are still flipped. Will need to look at the logic more closely.

The logic should be correct now... discovered OverlayPlugin had more precision than AddCombatants log line and I used a strict equals that would fail the logic.


[SPARK-36387][PYTHON] Fix Series.astype from datetime to nullable string

What changes were proposed in this pull request?
This PR proposes to fix Series.astype when converting datetime type to StringDtype, to match the behavior of pandas 1.3.
In pandas < 1.3,
>>> pd.Series(["2020-10-27 00:00:01", None], name="datetime").astype("string")
0    2020-10-27 00:00:01
1                    NaT
Name: datetime, dtype: string

This is changed to
>>> pd.Series(["2020-10-27 00:00:01", None], name="datetime").astype("string")
0    2020-10-27 00:00:01
1                   <NA>
Name: datetime, dtype: string

in pandas >= 1.3, so we follow the behavior of latest pandas.
Why are the changes needed?
Because pandas-on-Spark always follow the behavior of latest pandas.
Does this PR introduce any user-facing change?
Yes, the behavior is changed to latest pandas when converting datetime to nullable string (StringDtype)
How was this patch tested?
Unittest passed

Test build #142417 has started for PR 33735 at commit e8ee2af.

Test build #142417 has finished for PR 33735 at commit e8ee2af.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46923/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/142417/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46923/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/46923/

cc @xinrong-databricks and @ueshin

Test build #142527 has started for PR 33735 at commit 1643ce2.

Test build #142528 has started for PR 33735 at commit 8473281.

Test build #142527 has finished for PR 33735 at commit 1643ce2.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/142527/

Test build #142528 has finished for PR 33735 at commit 8473281.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/142528/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47028/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47029/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47028/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/47028/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47029/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/47029/

LGTM! Thanks

Thanks! merging to master.


chore(publish): remove github publish config

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Change HTML structure for text blocks

All blocks now follow this simple structure:
<s-block id="">
  <div class="mula">
    <!-- original content -->
  </div>
  <!-- other content -->
</s-block>

s- (for Sanskrit) is our convention for custom elements. We can always
locate the containing block by searching for closest("s-block").
Test plan: unit tests and tried the following tests on local host:

click word
click parsed word for dictionary entry
show original

@epicfaace adding you as a blocking reviewer since this affects your PR.


Update pip install to include without git

Currently, the pip install command given in the README
(pip install -e git+https://github.com/NTBEL/diffusion-fit#egg=diffusionfit)
requires the user to also have git installed. There should also be an option to install without the git dependency. For example, to install v0.3.0 you can use
pip install https://github.com/NTBEL/diffusion-fit/archive/refs/tags/v0.3.0.zip
which doesn't require git.
The -e flag and the egg= parts can also be removed.

Added to the REAMDE in PR https://github.com/NTBEL/diffusion-fit/pull/10.


great

1

The voxel data is a few gigabytes so it's on my server. You can pass it in via
http://localhost:8899/?http://fn.lc/s/depthrender/bev3d/frames.txt&p=0.5&i=245
There's more links to datasets on my twitter
Let me know if there's any other issues!


Feature people improvements

Implementation of #33
I have used vaadin combobox for the addition of new custom types
Types can be removed by using the "remove type" button, until the removal is based on if types are being used by custom elements or not

@Joltrix when I add a new custom field, or select a value in the existing one, the layout gets broken temporarily. If you can also reproduce it, could you make an issue for that for @tomalec in https://github.com/StarcounterSamples/Launcher?

Yeah, I also have that issue, but its not only with custom fields, its with all the fields (phone numbers, addresses etc etc), But sure, I'll make an issue!

I think this is all for my code review, thanks!

Looks good, merging!


[Decision Doc] Decision Title

Authors: Team Name
Last Updated:
Status:		Draft | In Review | Approved
Approvers

[ ] Name of Approver 1
[ ] Name of Approver 2
[ ] Name of Approver 3

Problem Statement
Example: The problem is that the website is not loading properly on some devices. When users try to access the site on their phone, they are unable to load the page and are greeted with an error message instead. This is causing frustration among our users and we need to find a solution as soon as possible.
Recommendation
Example: One potential solution to this issue could be to optimize the website for mobile devices. This could involve ensuring that all page elements are properly scaled and aligned for smaller screens, and improving the website's overall performance on mobile devices. Additionally, we could also consider implementing responsive design techniques to make the website more user-friendly on mobile devices. These changes should help to improve the user experience and reduce the number of errors encountered when accessing the site on a mobile device.
Rationale
Example: Implementing this solution is necessary to ensure that our website remains accessible and user-friendly on mobile devices. An increasing number of users are accessing the internet on mobile devices, so it is crucial that our website is optimized for these devices. This will also help to improve the website's performance and reduce errors, resulting in a better overall user experience.
Other Options Considered
Example: Another option that we considered was to create a separate mobile app for our website. This would allow us to tailor the user experience specifically for mobile devices, and potentially provide additional features not available on the website. However, this option was ultimately deemed too time-consuming and costly to pursue at this time. Instead, we will focus on optimizing the website for mobile devices, which should provide a more immediate and cost-effective solution.
Assumptions
Example: Summary of Assumptions

The proposed solution is technically feasible and can be implemented within the given timeframe and budget constraints.
The proposed solution will have the desired impact on the problem and will not have any negative unintended consequences.
All relevant stakeholders have been consulted and are in agreement with the proposed solution.

Risks
Example: It is important to carefully consider these potential technical risks and develop strategies to mitigate them, in order to ensure that the decision and its implementation are successful.

There is a risk that the proposed solution may not be technically feasible, and could require significant additional development work to implement.
There is a risk that implementing the proposed solution will require significant changes to the existing system, which could cause instability or downtime.
There is a risk that the proposed solution will not be compatible with existing technologies or systems, which could impact its effectiveness.

Next Steps
Example: It is important to carefully plan and execute the next steps in order to ensure the success of the decision and its implementation.

[ ] Develop a detailed implementation plan for the proposed solution, including timelines, resources, and milestones.
[ ] Consult with relevant stakeholders to seek their input and buy-in for the proposed solution.
[ ] Conduct a thorough risk assessment to identify potential risks and develop strategies to mitigate them.
[ ] Begin implementation of the proposed solution, following the agreed-upon plan.
[ ] Monitor the implementation of the solution and adjust as necessary to ensure its success.

issue comments go here
yay markdown


reset-all-versions could also change the cross dependencies version

Hello,
In case of having cross dependencies between packages, what do you think about updating also the version of those dependencies ?

This should be covered by oao upgrade, which now supports internal deps as well.
You could run oao reset-all-versions 0.2.0 and then yarn upgrade lib-2 lib-1. What do you think?

...or even yarn upgrade lib-2<EMAIL_ADDRESS>

I agree it could be covered.
Just thinking that when we bootstrap, we create links between packages....means that we want to be sure that we use the last version in case of cross dependencies. But we this rule is not take in account when we want to reset-all-version ;)

...and each time I create new package, I need to manually add command that upgrades in case of cross dependencies.

...and upgrade works on peerDependencies ?

Autumn cleaning — please reopen if there's still interest.


Improve summary output at end of execution

  [node-1]   Successful: 19   Errors: 0   Commands: 2/2

⬇
    [node-1]   No changes: 18  Changed: 1   Errors: 0   Commands: 2/2

Thank you for the idea @hifi!

v3 does this!


docs: change udpate to update

Fixing a Typo
Steps to reproduce:
Not applicable (simple typo fix).
Problem Description:
There was a typo in the documentation where "udpate" was written instead of "update."
Changes Made:
Corrected "udpate" to "update" in the documentation.
New/Updated Tests:
Not applicable.
Potential Side Effects:
None.
Related Issues/PRs:
None.

Made the change here, thanks! - https://github.com/liveblocks/liveblocks/pull/1866


"Content Security Policy" errors in Nextcloud for calls to Matoma

Recently we are seeing "Content Security Policy" errors in Nextcloud for calls to Matomo.  It seems the errors only occur  in some Versions of Firefox and on with cloud_piwik on Nextcloud. Additionally not all calls to Matomo is blocked.
We have Matomo integrated in numerous different systems and the error is only shown in Nextcloud.
Nectcloud 20.0.2
Firefox 83
cloud_piwik 0.7.0
A few things changed at about the time the errors started showing up:
Nextcloud upgrade from 19.x to 20.0.2
New Firefox version 83
Matomo upgrade from 3.x to 4..0.5
This makes it difficult to pin down, but since none of our other installations are showing errors it must somehow be related to the NC + cloud_piwik combination.

If I remember correctly NC is using different CSP approaches depending on the browser. So maybe something changed there. I don't have time to track this down (especially without any error message), therefore I recommend to setup a rewrite/proxy.

Hello,
I have the same issue since I updated Matomo 4+, changelog says :

The JS tracker is now tracking using « navigator.sendBeacon » by default. If you are using a Content Security Policy header, please adjust your header to also allow « connect-src » see the example in our FAQ. Alternatively, you can disable « sendBeacon » using the JS tracker method _paq.push(["disableAlwaysUseSendBeacon"]);.

Error in the console is :

The CSP seems generated by NextCloud itself.
If defined in the webserver conf we can not define the script-src value. Example :

I hope it can help.
Regards.

Hello,
I have the same issue since I updated Matomo 4+, changelog says :

The JS tracker is now tracking using « navigator.sendBeacon » by default. If you are using a Content Security Policy header, please adjust your header to also allow « connect-src » see the example in our FAQ. Alternatively, you can disable « sendBeacon » using the JS tracker method _paq.push(["disableAlwaysUseSendBeacon"]);.

Error in the console is :

The CSP seems generated by NextCloud itself.
If defined in the webserver conf we can not define the script-src value. Example :

I hope it can help.
Regards.

@GuiGuiSoft sounds like you have found the reason for this error message. Thanks a lot. Can you try to add $policy->addAllowedConnectDomain($allowedUrl); to https://github.com/sualko/cloud_piwik/blob/d52a2be9f355fc759af1d9e4b57c72b1d981e71f/appinfo/app.php#L29-L31

@GuiGuiSoft sounds like you have found the reason for this error message. Thanks a lot. Can you try to add $policy->addAllowedConnectDomain($allowedUrl); to https://github.com/sualko/cloud_piwik/blob/d52a2be9f355fc759af1d9e4b57c72b1d981e71f/appinfo/app.php#L29-L31

I think this fixed it.
I don't see the error any more, and matomo is showing the hits again.
Thank you.

I think this fixed it.
I don't see the error any more, and matomo is showing the hits again.
Thank you.

fixed in ae05ca1b3f192756e94331e0846d377df50e50f1


Fixing Serial.print issue; adding Log.info statements

The commits in this pull request address the Serial.print issue, making changes to the .ino template code in Firmware to include the global object SerialLogHandler logHandler;and Log.info statements. These changes were tested (compiled and flashed) with the Boron several times (one-by-one) to ensure effective use of the added logging capabilities.

Thank you! I believe on my end, the _NEW.ino file was deleted and the code was changed in the original .ino file, as referenced in this commit. Please let me know if it looks different on your end or if I am misinterpreting your requested change - thanks!

Yes, exactly what I was requesting. Looks great—thanks!


some statement is not accurate anymore

Secret variables are not automatically decrypted in YAML pipelines and need to be passed to your YAML file with env: or a variable at the root level

Looks like the above statement in this page is not accurate anymore. Since in the example in the "Set secret variables" part on this page, it says we can use macro syntax to directly get the value of secret :

echo "Using an input-macro works: $(mySecret)"

It also says we cannot pass the value of a secret variable to a normal variable at the root level:

GLOBAL_MYSECRET: $(mySecret) # this will not work because the secret variable needs to be mapped as env

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

ID: 7458d5b2-1bb7-7d87-7ce6-2b0c430b0155
Version Independent ID: edf5bbd3-a3f0-5426-e985-31290f8afd05
Content: YAML schema - Azure Pipelines
Content Source: docs/pipelines/yaml-schema.md
Product: devops
Technology: devops-cicd
GitHub Login: @steved0x
Microsoft Alias: sdanie

The text referred to in this issue is in this article: https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables

@kind03 Thanks, the article will be updated shortly.

This issue has been resolved previously.


RuntimeError: CUDA error: out of memory

I only have 8G memory. How can I modify the parameters? Batch-size is already 1. Please give me your guidance.Thank you.

Hi, you can try to use smaller training/testing scales by changing the parameter here: 1, 2, 3, 4, 5, and 6.

I followed your guidance，changed (480, 576, 688, 864) #(480, 576, 688, 864, 1200)，(576, 688, 864) #(576, 688, 864, 1200)，and it can train Normaly.


Fix: remove the oversized state after compaction

The oversized volumes can not turn to writable state even if its size is within the writable limitsa after compaction.
.
This PR abstracts a struct to record the real state of a copyset.

Thanks for the thoughtful PR!
I will merge this.
Do you consider the case when a volume replication is changed? Maybe need another PR.

Reverted this PR since it is breaking test topology.TestHandlingVolumeServerHeartbeat()

thanks, I will calibrate with caution.

Reverted this PR since it is breaking test topology.TestHandlingVolumeServerHeartbeat()

Hi，I have completed the unit and integration tests.  And I will give serious consideration to the issues you mentioned.

Thanks for the thoughtful PR!
I will merge this.
Do you consider the case when a volume replication is changed? Maybe need another PR.

create a new PR


RunnerAutoScalingGroup is failed

There is an error on running:
./deploy-runner.sh sample-runner.properties eu-central-1 profilename amazon-ec2-gitlab-runner-demo
error:
amazon-ec2-gitlab-runner-demo | ROLLBACK_IN_PROGRESS | The following resource(s) failed to create: [RunnerAutoScalingGroup]. Rollback requested by user.
-- | -- | -- | --
RunnerAutoScalingGroup | CREATE_FAILED | Received 0 SUCCESS signal(s) out of 1. Unable to satisfy 100% MinSuccessfulInstancesPercent requirement
-- | -- | -- | --
RunnerAutoScalingGroup | UPDATE_IN_PROGRESS | Failed to receive 1 resource signal(s) for the current batch. Each resource signal timeout is counted as a FAILURE.

at the same time, I'm seeing successfully created and running EC2 instance. VPC was created from template https://tomgregory-cloudformation-examples.s3-eu-west-1.amazonaws.com/default-vpc.yml

Hi @asannikov,
Thanks for reaching out. Please refer to answers in this issue: https://github.com/aws-samples/amazon-ec2-gitlab-runner/issues/1. Does this help?


PowerToys Run should lunch application from application directory, just like Listary

Environment
Windows build number: [run "ver" at a command prompt]
PowerToys version:
PowerToy module for which you are reporting the bug (if applicable):

Steps to reproduce

Expected behavior

Actual behavior

Screenshots

hi, need more details here please! not familiar with the ask


Create rdg-augsburg.txt

@philipp1808 I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host rdg-augsburg.de not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!


Consolidate 'parse' functions and functionality

Client.fetch takes a parse parameter, which should be a function that takes the raw JSON response from the API and returns something slightly cleaner.
Right now, it's a lambda that gets passed around or overridden on a method-by-method bases.
There are only two parse functions now, and they're almost identical:

lambda r: r['results'][0]
lambda r: r['results']

This is annoying to keep track of, and there's no reason we can't use a smarter function. It's also potentially an impediment to #15.
I think it makes more sense to have a parse method on Client, which a subclass can override. This would be a good hook for instantiating a class.

A parse method might also be a reasonable place to do any type conversion, especially easy things like converting strings to numbers and dates.


Upgrade version of typeguard in python runtime

Describe the feature
The python runtime for the CDK has an old and inflexible dependency on typeguard~=2.13.3
https://github.com/aws/jsii/blob/main/packages/%40jsii/python-runtime/setup.py#L37C10-L37C27
Use Case
I would like to have a CDK application include the latest pandera libraries but this fixed dependency is a blocker.
Proposed Solution
Increase the range and add version-aware adaptation code if required to handle the different versions.
Later versions of typeguard no longer accept the argname parameter. We'd have to change this line of code:
https://github.com/aws/jsii/blob/576fd201c686a30270e4bdbd1c0d9fc3e3739101/packages/jsii-pacmak/lib/targets/python.ts#L3205-L3207
Other Information
No response
Acknowledgements

[x] I may be able to implement this feature request
[ ] This feature might incur a breaking change

CDK version used
2.134.0
Environment details (OS name and version, etc.)
Mac OS

Just tested a monkey patch and removing the argname from the check_type function allows this to work for 3.0.2 up to 4.2.1
old_check_type = typeguard.check_type

def new_check_type(*args: Any, **kwargs: Any) -> Any:
    if "argname" in kwargs:
        del kwargs["argname"]
    return old_check_type(*args, **kwargs)

typeguard.check_type = new_check_type


No definition found with jedi false, but sublime or pycharm can find definition

Environment data

VS Code version: 1.36.1 (user setup)
Extension version (available under the Extensions sidebar): XXX
OS and version:  Windows_NT x64 10.0.18922
Python version (& distribution if applicable, e.g. Anaconda): distribution
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): virtualenv
Relevant/affected Python packages and their versions: XXX
Jedi or Language Server? (i.e. what is "python.jediEnabled" set to; more info #3977): False

Expected behaviour
can find defition
Actual behaviour
No defition found
Steps to reproduce:

The language server can't handle cases like this where one module directly modifies the members of another; we analyze a module once and then it's final. Hovering, completion, etc, on that member are probably not going to work either.

I'm going to close this as as-designed; adding things onto existing objects in this manner isn't a scenario we want to support unless it's a specific type which is designed to allow it. Otherwise, this violates the idea that a type is "complete" and fully describes its instances.


Update Readme to current version

Update readme to current version 0.11.14434
Next Update is December update

As always, I like to update the Readme to the latest version :)


Sections in wrong order

Surely the database permissions at the subscriber should be set before creating the subscription?
The order described in this page results in a "Unable to Connect Error".
This clears after a few minutes, but is confusing.

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

ID: 0086945e-a60b-31ed-9445-160fed6ea1f1
Version Independent ID: 2dcdbf33-d5af-b766-dd5c-f477c8b441b7
Content: Tutorial: Configure replication between two fully connected servers (transactional) - SQL Server
Content Source: docs/relational-databases/replication/tutorial-replicating-data-between-continuously-connected-servers.md
Product: sql
Technology: replication
GitHub Login: @MashaMSFT
Microsoft Alias: mathoma

Hi @cbailiss ,
Thanks for contacting Microsoft! This actually seems to be a gap in this documentation: https://docs.microsoft.com/en-us/sql/relational-databases/replication/tutorial-preparing-the-server-for-replication?view=sql-server-2017#create-windows-accounts-for-replication
I've created a work item on my end to address this - due to the complexity it may take a few business days to a few business weeks to get it addressed. Thanks for bringing this to our attention!

@MashaMSFT -- please add a link to your work item.  When you create a work item, please close the related issue.
cc:  @MightyPen

User Story 1558194.

Hi @cbailiss, I've reviewed the tutorial once more; actually it is impossible to create the permissions for the subscriber before the subscription is created. This is because we need the subscriber database to set the permissions, and that's only created at the time of the subscription. As such, I'll need to roll back the changes previously. I'm not sure why you would be getting a connection error, or why it would clear after some time, but I don't believe it's a permissions issue.
Thanks!
Masha from the SQL Docs team


Is LISA model on Hugginface?

Hi there!
I'm exploring whether LISA is available on Hugging Face. I came across one link here, but unfortunately, there's no description provided. My interest lies in Hugging Face because I'm considering its use with PeFT LoRA. If anyone has insights on how I can utilize PeFT LoRA via GitHub, I'd greatly appreciate it. Thus far, my experience has been limited to inference, but I'll need to fine-tune the model for my particular task.

have you solve it？

Better use the LISA from GitHub repo and tune it using LoRA.


Detect /v4-dev/ in URLs as Bootstrap v4

Refs cdn.rawgit.com/twbs/bootstrap/v4-dev/dist/css/bootstrap.css

@cvrebert - how about using the javascript interface for this instead?
$.fn.popover.Constructor.VERSION
// "4.0.0-alpha.2"


Delete from ErrorStorage is greedy

❗ please do not add sensitive information in issues, you can provide extra information via email using issue number as reference ❗
Describe the issue
When deleting records from the errorstore it deleted more than I intended.
Reporter
jjansenvr

To Reproduce
Steps to reproduce the behavior:

Go to an errorstrore with more than 10 items
use the option to seletc f.e. 999
go back to the show 10 items
Select all
push delete selected

In my situation all items where deleted

Perhaps a # selected thing somewhere so it's clear how many items have been selected.

This is also happening in 7.9. Is it also possible to backport?


Fix work with localizations

Include all locale related files to assets (fix missing ru-RU.json file)
Fix loading of fallback localization (because rootBundle.loadString throw an error when file not found)

Looks good, thanks!


Improved row counting on tbody

Would it be possible to only count rows in the tbody-tag?
The reason why this matters is that some "sticky table header"-libraries are appending an extra caption-tag and thead-tag to the table, so there are 2 extra rows. TableFilter is currently able to handle this behaviour flawlessly, except (of course) for row counting.
It could be something like "if a tbody-tag exists, only count those rows".  Thanks for any answer!
Regards

Hi @rimace,
Have you tried the rows_always_visible option?
http://koalyptus.github.io/TableFilter/rows-always-visible.html
I am not sure in terms of rows counting if it fixes the issue though.
Let me know

I tried it just now. rows_always_visible: [0, 2] has the effect that the caption-tag is also counted. So when no rows are visible, it says "Rows: 2" (instead of "Rows: 1").
So I would need more something like an option ignore_rows or something to correct the number of rows by -2.
Btw this isn't a urgent request. It could be seen as an improvement to support some sticky header libraries. In the mean time I work around it by manipulating the span "totrows_span" when on_after_refresh_counter is fired. This should do it for now, not beautiful though.
Thanks for that fast response!

Try to hook into on_before_refresh_counter to modify the tf.nbHiddenRows property to adjust the counter to expected total and then use on_after_refresh_counter to set nbHiddenRows back the original value.
Very ugly, not supposed to touch internals, but it might work.

Tidying up the issues.


Changes for OSP13z3

This PR includes all the changes necessary to switch from OSP13z2 to OSP13z3.  It mostly consists of removing patches that are now available upstream.

Merging this with permission from Kurt.

This looks good.  I was testing this with the Z3 puddle bits and all worked fine


remove support for Security Manager

The Security Manager was deprecated for removal in Java 17 (see JEP 411). It is about time to remove support for it in CDI.

@Ladicek Can you backport these changes to 4.1? We were actually required to do this for Jakarta EE 11, and I've done so for the APIs I'm directly responsible for. See e.g. https://github.com/jakartaee/security/commit/8f4adddd524dc6c7384576872411bb2ac574b668

I'm honestly not sure that's necessary.

I'm on the other hand 100% sure this is fully necessary. How can we break this tie? This is not just a nice-to-have but an absolute must. I'm quite suprised you have even the slightest doubt about this.

I'm honestly not sure that's necessary.

I'm on the other hand 100% sure this is fully necessary. How can we break this tie? This is not just a nice-to-have but an absolute must. I'm quite suprised you have even the slightest doubt about this.

@arjantijms why do you need to backport this?
What problems is the presence of this code in 4.1 causing? Or is it just a matter of preference?
While I can say that Weld 6 (targetting CDI 4.1, EE 11) already removed it's SM parts (https://github.com/weld/core/pull/2983), I don't see an actual issue with keeping the code as is for older versions and just removing it for the next.

@arjantijms why do you need to backport this?

It needs to be backported first and foremost because it was an oversight for the release of 4.1. According to the Jakarta EE 11 plan, all APIs had to remove their usage of the security manager.

What problems is the presence of this code in 4.1 causing?

Running any Jakarta EE 11 implementation on JDK 24 and above is the most pressing problem. JDK 24 will be released next March, long before Jakarta EE 12 / CDI 4.2/5.0 will be available.

Running any Jakarta EE 11 implementation on JDK 24 and above is the most pressing problem. JDK 24 will be released next March, long before Jakarta EE 12 / CDI 4.2/5.0 will be available.

JDK 24 should disallow enablement of SM, but IIUIC, the plan was to still keep the APIs in place meaning it would not really cause any problems. Here's the JEP I found - https://openjdk.org/jeps/486

@arjantijms The situation here is quite different from the Jakarta EE Security commit that you linked.

We have no spec requirements for SecurityManager
Our API classes do not extend, implement or reference in their method signatures any SecurityManager-related classes

In the worst case, I think this means that an implementation could use their own versions of these API classes with all mention of SecurityManager removed and still pass the TCK and signature tests.

The only methods we do call within our API classes are System.getSecurityManager and AccessController.doPrivileged. These methods are still supported in Java 24 (at least according to JEP 486 that @manovotn linked above, section Advice to maintainers of libraries that support the Security Manager).

If you still think we need to make similar changes in a patch release for CDI 4.1, it probably makes sense to open a separate issue for it.

If you still think we need to make similar changes in a patch release for CDI 4.1, it probably makes sense to open a separate issue for it.

In this particular case, I think removing the security manager always makes sense. I do appreciate that CDI can be used standalone (without any other Jakarta EE APIs), but other than that usecase it would be (IMHO) a disservice to our users to let them think they can still use the security manager with our APIs.
As it's an implementation detail in the CDI APIs, what would be the problem with removing them in a service release? If we (and myself specifically) would have been more dligent, those references would have been removed anyway as we planned.

I think we made the call relatively early on to do a CDI 4.1 in Jakarta EE 11, and since that was a minor bump, that meant no breaking changes. We're doing a major bump in Jakarta EE 12, which means breaking changes allowed. As far as I am concerned, removing Security Manager support is a breaking change, no matter how small, and so should be reserved to CDI 5.0.

As far as I am concerned, removing Security Manager support is a breaking change

Almost all other specs that removed the Security Manager support did not update their major version just because of that. We have a ton of minor updates in EE 11 which removed the Security Manager support.


Dark Mode for validators

This issue depends on #368 being completed.
When Dark Mode is on - the validators should look like this: https://mongodb.invisionapp.com/share/PCYZ6ZW7FR8#/screens/433591789_Boarding_-Crew-_Validators
Color key for light mode: https://mongodb.invisionapp.com/share/PCYZ6ZW7FR8#/screens/433591768_Color_Key_-Light_Mode
Color key for dark mode: https://mongodb.invisionapp.com/share/PCYZ6ZW7FR8#/screens/433591769_Color_Key-Dark_Mode
Component Color specs for light mode: https://mongodb.invisionapp.com/share/PCYZ6ZW7FR8#/screens/433591770_Component_Colors-Light_Mode
Component Color specs for dark mode: https://mongodb.invisionapp.com/share/PCYZ6ZW7FR8#/screens/433591771_Component_Colors-_Dark_Mode
Both dark and light modes should follow the color key and specs above (it is possible that the current light mode is not), and colors should be stored in:
app/src/main/res/values-night/colors.xml
app/src/main/res/values/colors.xml
Please make sure to TEST your build on a device or emulator to verify everything has changed - you can get a login and realm-app-id with easy instructions at https://wildaid.github.io/contribute/sandbox.html

Can I work on this?

Hello @abdulbasit75, thanks for offering to work on this! I have assigned it to you.

Hello, is help still needed on this issue?

@yoobi yes! this ticket is still open. I have assigned it to you. Thank you for volunteering! (and good to see you again for this year's hacktoberfest!)

haha thank you! I was trying to get my sandbox login/password and when I received the link to reset it, it was a localhost url :/
http://localhost:3000/#/reset_password?token=XXXX&tokenId=XXXX

I've created the pull request, and also a pull request for #414


some more es6 changes

const instead of let if possible
arrow functions
string templates
argument defaults

Looks like two tests are failing. Could you look at that? Otherwise, thanks for the additions!

Ya, but they are failing for another pr . In the base branch they are fine...

Could you rebase with dev-es6?

Rebase, not merge :P

Oh ^^
I don't really get why/where travis is failing.

Reverted the merge and rebased but travis is still failing.

@stbaer If you run npm run test:debug, you can debug the tests and see where they are failing.

The problem is that they don't fail when I run them locally.

I cloned your repo and they are failing for me locally when I run npm run build or npm test

Ok, I didn't run the build first... getting the errors also now. Thank you @bigtimebuddy - will try to fix them.

Seems to be this section of Text.js
this works
        let properties = Text.fontPropertiesCache[fontStyle];
        if (!properties)
        {
            properties = {};

this fails
        const properties = Text.fontPropertiesCache[fontStyle] || {};
        if (!properties)
        {

But can you explain why it doesn't work??? 😕

The only difference should be that with the change always at least an empty object will be returned.

@bigtimebuddy - reverted those. Sorry this pr is a bit of a mess ...

@bigtimebuddy Can you make sure to squash if/when you merge this?

Yup, done

Small formatting issue, but could you pad the fat arrow with spaces on either side? (data)=>{} becomes (data) => {}?

ESLint has a "fix" mode which can automatically sort out spacing / quote formatting issues

Great work @stbaer, appreciate all the help and back and forth.  This will really help Pixi's conversion to ES6.


Collect test coverage

Issue is #116.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+42.3%) to 42.282%

Totals

Change from base Build<PHONE_NUMBER>:
42.3%

Covered Lines:
578

Relevant Lines:
1367

💛  - Coveralls