Reformat in line with the Google Java Style Guide

Alternative approach to #153.

Coverage increased (+1.09%) to 64.46% when pulling 8446bc3c194c3986cc40395750216482385f2750 on tomwhite:style into e4224ab7b3b1ecc463e34252ab340f223d8e3acb on HadoopGenomics:master.

If I have it right, in this PR you've only reformatted for whitespace?
What would your plan be for braces and other considerations?  The Google Java Style Guide makes recommendations on package names
package org.seqdoop.hadoop_bam;

and camel case in class names
public class AnySAMInputFormat

that would require API compatibility breaking changes to implement.

@heuermh This patch is for more than whitespace - it includes brace placement too, for example - but it doesn't change package or class names. I'm not sure about doing that latter because it's a breaking API change.
The present change implements most of the Google Java Style Guide (those implemented by https://github.com/google/google-java-format) and makes it easy for us to ensure future patches comply.

I'm not sure about doing that latter because it's a breaking API change.

We're planning that the next rev is a major version bump (7.9.1 -> 8.0.0), right? If so, this is a great opportunity to make breaking API changes. ;)

That's right. However, just because we can, doesn't mean we should. Anyway, it doesn't need doing in this PR.

This patch is for more than whitespace - it includes brace placement too, for example...

It missed some then, e.g. AnySAMInputFormat.java, line 122
if (fmt != null || formatMap.containsKey(path)) return fmt;

if (givenMap)
  throw new IllegalArgumentException("SAM format for '" + path + "' not in given map");

if (this.conf == null) throw new IllegalStateException("Don't have a Configuration yet");

https://google.github.io/styleguide/javaguide.html#s4.1.1-braces-always-used
Some things will probably have to be done by hand; I started down this path in #154.  How about we add additional non-breaking API style commits to this PR, and then consider breaking API changes separately?

That's right. However, just because we can, doesn't mean we should. Anyway, it doesn't need doing in this PR.

Hi @tomwhite! I'd appreciate hearing a bit more of your perspective here. From my perspective, these are cosmetic API changes (rather than functional API changes), and it would be preferable to be fully in-line with our chosen style guide instead of having inconsistency between new and old code. #181 introduces breaking changes, so if we're going to have to do a major version rev, we might as well fully pay off a stylistic smell while we're at it.

@heuermh Good catch. It seems that when I use the Google Java Style Guide IntelliJ plugin (https://github.com/google/google-java-format) or the Maven Plugin, they miss some changes. When I get IntelliJ to reformat using https://github.com/google/styleguide/blob/gh-pages/intellij-java-google-style.xml, then it catches the ones you pointed out.
So the best thing is to get both IntelliJ to reformat, and the Maven Plugin to format after that (since it typically has some extra changes due to whitespace).
I have also done #168 as a part of this.
@fnothaft let's consider API breaking changes in a separate issue.


Fix behaviour of listxattr

As per LISTXATTR(2):
If  size  is  specified  as zero, these calls return the current size of the list of extended attribute names (and leave list unchanged).  This can be used to determine the size of the buffer that should be supplied in a subsequent call.  (But, bear in mind
that there is a possibility that the set of extended attributes may change between the two calls, so that it is still necessary to check the return status from the second call.)

Thank you for PR. Seems _OnGetPathExtendedAttribute has the same problem. I'll investigate it soon and merge.

I found that there was refactoring such that return values are used only for errors. For returning additional info introduced out bytesWritten param. So your fix isn't ideologically correct :). Seems there are just missed else statement before next if

fixed code and published new version

Ok, well the new version makes getfattr be happy so thanks a lot! :D


OAuth2 Accessing a protected resource

This is a list of missing functionality to conform to https://tools.ietf.org/html/rfc6750
accessing a protected resource:

(optional) support authentication through form-encoded body parameter
(optional but insecure) support authentication through query parameter
(must) when authentication is missing include the "www-authenticate" header in response with
(optional) realm attribute
(must) the realm attribute must appear only once
(shall) if access token is given but authentication is refused then put "error" attribute with reason -> see https://tools.ietf.org/html/rfc6750#section-3.1    and
(optional) human readable "error_description" attribute and
(optional) "error_uri" attribute that takes one to a site with a better error description
(must) all these attributes must appear only once

Will do the "must" points anytime soon

After testing: the (must) entry should be done


[Event Request] codeunit 1380 "Batch Processing Mgt." - OnBeforeBatchProcessGenJournalLine

Hello, can we please add the following new event OnBeforeBatchProcessGenJournalLine in Codeunit 1380?
procedure BatchProcessGenJournalLine(var GenJournalLine: Record "Gen. Journal Line"; PostingCodeunitId: Integer)
    var
        ErrorMessageMgt: Codeunit "Error Message Management";
        ErrorMessageHandler: Codeunit "Error Message Handler";
        BatchProcessingMgtHandler: Codeunit "Batch Processing Mgt. Handler";
        ICOutboxExport: Codeunit "IC Outbox Export";
        PostingResult: Boolean;
    begin
        OnBeforeBatchProcessGenJournalLine(GenJournalLine);
        Commit();
        ErrorMessageMgt.Activate(ErrorMessageHandler);

        BindSubscription(BatchProcessingMgtHandler);

[InternalEvent(false, false)]
    local procedure OnBeforeBatchProcessGenJournalLine(var GenJournalLine: Record "Gen. Journal Line")
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 53765.


Add option to reindex every website (bug 1161871)

Not crazy about reassigning INDEXES would rather see indexes = INDEXES instead of global INDEXES but since this is a management command I guess it doesn't matter and it's clearly been working.
r+

Not crazy about the code either, but I didn't want to start a refactor just to add this.

I added this also in a branch I have so :+1:


'token' has moved from LabApp to ServerApp

$ docker run --rm -p 8888:8888 -v $PWD:/home/jovyan/pwd --name ihaskell_notebook ghcr.io/jamesdbrock/ihaskell-notebook:master jupyter lab --LabApp.token=''

[W 2021-09-17 09:53:53.132 LabApp] 'token' has moved from LabApp to ServerApp. Be sure to update your config before our next release.
[I 2021-09-17 09:53:53.143 ServerApp] jupyterlab | extension was successfully linked.
[W 2021-09-17 09:53:53.151 NotebookApp] 'ip' has moved from NotebookApp to ServerApp. This config will be passed to ServerApp. Be sure to update your config before our next release.
[W 2021-09-17 09:53:53.151 NotebookApp] 'port' has moved from NotebookApp to ServerApp. This config will be passed to ServerApp. Be sure to update your config before our next release.
[W 2021-09-17 09:53:53.151 NotebookApp] 'port' has moved from NotebookApp to ServerApp. This config will be passed to ServerApp. Be sure to update your config before our next release.

Fixed.


Add more content to About page

Explain the principles of why we have the demo gallery and link out to other references.
TODO:

[ ] Add personas
[ ] Add technology grid from index.md (WIP: @agoose77 )

Agh! Wrong repo


Make model selection work from the options menu

This is not currently connected to the config file.

The config file has been removed, this now works on main.


Checking "status" (vs. "state") of ec2 instances

The AWS ec2 dashboard has a parameter column for "Status Check" which reads as "initializing" until the machine is fully booted (and then reads "2/2 checks passed"). Is there a way for us to check against this in hostess in order to know when the machine is fully ready?

yes, but you probably don't want it. The 'Initializing' state can persist until many separate on-boot background processes have completed -- including ones that use almost no system resources -- and, moreover, status checks occur at most once per minute. An instance is generally ready for use long before the 'Initializing' state changes to 'Ready', sometimes up to 5 minutes before.

The functional intent of this feature request is fulfilled by the wait-until-connectable features added in 53a0423. Specifically, the Instance and Cluster constructors, including launch(), now accept the  connect kwarg. Passing connect=True ensures that the calling thread blocks until commands can be executed on the instance(s).


12.3 and 12.2 Table creation broken

Successfully installed sorl-thumbnail-12.3
django.db.utils.InternalError: (1071, u'Specified key was too long; max key length is 767 bytes')

:+1:

Trying this: http://mechanics.flite.com/blog/2014/07/29/using-innodb-large-prefix-to-avoid-error-1071/
Not being lucky plus looks like a really ugly hack having to change server setup.

Setting a value of  max_length=191  or lower at models.py or migrations solves this issue, but I don't think this is "the solution" so I will not make a PR
Any idea?

Buuuuhh!!!! This error was caused because initial database creation was setup for ´´´utf8mb4_general_ci´´´ This is something that has already struck me a year ago and then again.
Better always always always: utf8_general_ci
@SalahAdDin can you confirm your database is mysql and you have set database collation as ´´´utf8mb4_general_ci´´´?
I don't know if this is a django error.
Anyway, I think this issue can be closed.


Allow switching profiles without any folders open

Currently, it is not possible to switch profiles if a folder is not open.

If allowed, it will be applied to the global state. I'll think about this idea


[BitSail-433][Core] Support Timestamp type in RowUtil

Pre-Checklist

[x] I have read through the CONTRIBUTING.md documentation.
[x] My code has the necessary comments and documentation (if needed).
[x] I have added relevant tests.

Purpose
Support Timestamp type in RowUtil.
Approaches
Change the import class from java.secure.Timestamp to java.sql.Timestamp.
Related Issues

Fixes #433

@healchow CI/CD failed, can you take a look?

Hello, I saw from the workflow log that a JVM crash occurred when running unit tests in FlinkRunnerSavepointLoaderTest, but I didn't see the use of System.exit in this test class.
From other information, I think this may be caused by OOM, for more information:
forked-vm-terminated
I'll try again by retriggering the workflow.
If the problem exists, then I will try to set the JVM heap size to solve it.


Add Santa Clara County Odyssey Site

Santa Clara County court site appears to use Tyler Tech/Odyssey platform.
It's password protected.
Should add the site to sites_meta.csv and test with the CLI runner.

I've made good progress on this one. I think a very minor tweak to the odyssey_site module will make it possible to scrape Santa Clara County's portal without issue.
As in #46, we need to bypass the login page in order to scrape this website. Santa Clara County uses login credentials to manage access for users like the District Attorney, Department of Social Services and other authorized public agencies. By signing into the website with an unauthorized account, users from the general public lose their ability to search records.
In the short term, it's relatively easy to circumvent this issue by skipping site.login and instead initializing chromedriver and navigating to the portal page, https://cmportal.scscourt.org/Portal/, when the user calls site.search.
On another note: Santa Clara actually has a second court portal. They post scanned pdfs of court pleadings on this portal, so depending on the use case, it may be useful to build a scraper for this site, too.

I've updated the ticket description to reflect the phasing out of Tyler Tech portal and cutover to new portal in March 2021

You can access html files for CV (civil) and SC (small claims) cases from 2016 through February 2021 here.


Migrate @strathcole/iob-lib

Migrate @strathcole/iob-lib to local repository

The repository @strathcole/iob-lib contains ioBroker spezific code and is no longer maintained. ioBroker specific code should be located at the adapter or at least at a repositories that is accessable by the same persons the adapter itself.

I will try if I can migrate it.

Check if you can simply move the script to the lib directory and adapt the require statement at main.
I think this could work as a first step.

@mcm1957 I can try to understande what the code section is doing and if it is correct to switch from warning to debug

@mcm1957 can you please support me with the PR?
eslint check has two errors for iob-lib.js
Error:   109:42  error    'obj' is defined but never used. Allowed unused args must match /^_/u  @typescript-eslint/no-unused-vars
Error:   111:45  error    'err' is defined but never used. Allowed unused args must match /^_/u  @typescript-eslint/no-unused-vars

What is the easiest way in this case for migrating the iob-lib without changing functionality? Is it ok, as sugessted to rename them to _obj and _err?

_err, _obj should satisfy eslint.

@mcm1957 Thanks. PR ist ready.

PR is merged. Issue can be closed @mcm1957

done at 2.0.2

PR is merged. Issue can be closed @mcm1957

I'll just wait for the realease to be deployed and for some feedback that it works :-)


fix: update readme

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add support for fmt-debug

The unstable feature fmt-debug allows to influence derive(Debug) implementations, for example by making it return an empty string. As the standard library also does not make any guarantees on the outputs of derive(Debug) , this change does replace the reliance on it by an explicit conversion to the variant name.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 87.46%. Comparing base (a9f09d7) to head (febacda).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1798   +/-   ##
=======================================
  Coverage   87.46%   87.46%
=======================================
  Files          16       16
  Lines        6021     6021
=======================================
  Hits         5266     5266
  Misses        755      755

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


fix: use the full type name for ErrorInfo

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[x] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[x] Ensure the tests and linter pass
[x] Code coverage does not decrease (if any source code was changed)
[x] Appropriate docs were updated (if necessary)

Fixes #1091 🦕

Hello @idan-at , thank you sent the pull request. Try to understand what error or issue you met for non-full type error info?

@summer-ji-eng see #1091 for a detailed explanation.
unrelated, can you please explain why aren’t the tests running? Is it something I missed?

@idan-at I see the problem. I am fixing it now. I should sent out the PR by EOD.
Regarding to the test, it require an approval for publish contributor. Let me double check.


Fix test_version during release process and simplify versions in README.md

In the README.md we had version info like this:
release = "$tag"
commit = "$url/$short_commit"
branch = "$url/$short_name"
julia_version = "$julia_version"
core_version = "$version"

This cuts it down to just this:
version = "$tag"
commit = "$url/$short_commit"
branch = "$url/$short_name"

Where tag is of the form 2024.10.0-128-ge09eeb5 if it is after tag v2024.10.0, otherwise just 2024.10.0
The test_version just checks the form, because we bump the versions before doing a git tag, so they can be off by one version temporarily. I think that's simpler than introducing more difficult logic in set_version to handle this.
Fixes #1655

I restarted all builds on TC (were crashing because the disk was full), otherwise LGTM.


feat(glide): add glide.lock

does this not require a bump from glide 0.7.2 to 0.8+ ? Look at the travis file

@helgi to get the speed improvements, yes. I'll fix that up.


i18n(zh-cn): Update nav.ts

Description (required)
Update nav.ts
After a discussion with my i18n teammates, we decide to keep the word Actions untranslated temporarily.
The reasons why we keep it in English version:

we can't find a good word to cover the meaning of Action, so it will be much more confused for Chinese reader if I mistranslate it into Chinese.
the Actions API is a new function, and it should be easily search through the search bar.

Of course, this situation can be changed if there is a more suitable word than keep it in English version.
Related issues & labels (optional)

#9224
Suggested label: i18n

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

zh-cn
nav.ts
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


python运行问题

运行不了automatic_control_revised.py 显示缺少东西

C:\Users\ROG\anaconda3\python.exe F:/navigation/automatic_control_revised.py
INFO:  Found the required file in cache!  Carla/Maps/Nav/Town10HD_Opt.bin
Traceback (most recent call last):
File "F:/navigation/automatic_control_revised.py", line 61, in main
vehicle = world.spawn_actor(ego_vehicle_bp, spawn_point)
RuntimeError: Spawn failed because of collision at spawn position
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "F:/navigation/automatic_control_revised.py", line 161, in
main()
File "F:/navigation/automatic_control_revised.py", line 156, in main
vehicle.destroy()
UnboundLocalError: local variable 'vehicle' referenced before assignment
Process finished with exit code 1

等着你来修复 ~

需要提前湖南工商大学的地图：https://openhutb.github.io/carla_doc/core_map/


When does tokensToModify get populated?

I've been implementing your package to send FCM notifications, which is working fine. Currently I'm implementing a case for tokensToModify.
By reinstalling my client-app, I am able to generate or refresh tokens. At this moment though the old token is still in my database.
So when sending to the old token, ( after refreshing tokens from the client ), I expect to see the old token as key with the new token as value in the tokensToModify() array. This never happens though. The old tokens will always be inserted in to the tokensToDelete array.
I might have misunderstood the tokensToModify method.  But i would like some explanation on how to use this method on the server side.

Hi there, I would still like to know more about this. gentle bump

Hi,
Sorry to answer only now.
When your are uninstalling you app the device is unregistered on FCM. That's mean that you token is not updated but revoked and recreated for a new instance ID.
tokensToModify is only used rarely when FCM rotate token. (I don't know any way to simulate that).
If your app is uninstalled your are responsable to resend and save the new token on your server.
I hope that this response helps you
Best Regards


Random crash on undo

Happens randomly: actual state is lost, due to crash
Version of Archi

5.2.0
Archi Plug-ins

jArchi, coArchi
Operating System

Macos 13.6.1
Expected Behaviour

When I select undo the program should not crash
Actual Behaviour

Very occasionally after selecting undo archi crashes - log attached
Steps to Reproduce the Behaviour

No specific steps - just when undo is selected - happens infrequently, at random (seemingly)

archi-crash.txt
archi-error-log.txt

This happens to me randomly, too. It can happen on a Mac when editing text in a diagram object ("direct edit") and hitting the Undo shortcut key (Command Z)  a few times. There's no way to reproduce this exactly and also I can't fix it as it's either an Eclipse or Mac bug.
hs_err_pid3917.log

👍 👍

This will be fixed in Archi 5.4.0 (beta is available now).


More log

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.07%) to 81.69%

Totals

Change from base Build<PHONE_NUMBER>:
0.07%

Covered Lines:
232

Relevant Lines:
284

💛  - Coveralls


Multiple Queries When 1 Expected

Hello,
I am starting to experiment with jimmer and I created an abbreviated version of the sql example:
@Entity
interface Book {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    val id: Long

    val name: String

    @ManyToMany
    @JoinTable(
        name = "BOOK_AUTHOR_MAPPING",
        joinColumnName = "BOOK_ID",
        inverseJoinColumnName = "AUTHOR_ID"
    )
    val authors: List<Author>
}

@Entity
interface Author {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    val id: Long
    val firstName: String
    val lastName: String

    @ManyToMany(mappedBy = "authors")
    val books: List<Book>
}

interface BookRepository : KRepository<Book, Long> {
    fun findByName(bookName: String): Book? {
        return sql.createQuery(Book::class) {
            where(table.name like bookName)
            select(
                table.fetchBy {
                    name()
                    authors {
                        firstName()
                        lastName()
                    }
                }
            )
        }.fetchOneOrNull()
    }
}

However, when I call this method, it is using two queries to fetch the data instead of a single join.
jimmer> sql: select tb_1_.ID, tb_1_.NAME from BOOK tb_1_ where tb_1_.NAME like ?, variables: [%Best%], purpose: QUERY
jimmer> sql: select tb_1_.ID, tb_1_.FIRST_NAME, tb_1_.LAST_NAME from AUTHOR tb_1_ inner join BOOK_AUTHOR_MAPPING tb_2_ on tb_1_.ID = tb_2_.AUTHOR_ID where tb_2_.BOOK_ID = ?, variables: [1], purpose: LOAD

Am I doing something wrong, or is there a way to force it to fetch the data using a single query with a join?

Hello, welcome to experience Jimmer.
You have not done anything wrong. Unlike JPA/Hibernate, Jimmer does not have the concept of join fetch (this is because collection fetching would cause record duplication, which is fatal for paged queries).
Jimmer first queries the aggregate root objects, and performs paging at the SQL level (if there is paging), then further queries the deeper objects based on the paged results by new SQL queries.
Don't worry about N + 1 issues. Jimmer uses something similar to GraphQL's DataLoader to batch load associated/computed properties. Here you see =? because there is only one aggregate root object. If there were multiple, you would see in(?, ?, ...?)
In addition, I have provided Discord channels for more users from different countries (https://discord.com/channels/1016206034827743283/1154480714268540929). I don't know if the channel was created successfully (not familiar with Discord), you can try it. If this Discord channel is correct, you will be the first user there, welcome!

Forget one point
table.fetchBy {
      name()
      authors { // Please focus here
          firstName()
          lastName()
      }
  }

In the code, authors means developer requires not only aggregate-roots, but also assocated objects.

Thanks for the info! So if I understand correctly, each association included in the fetch will trigger 1 query to fetch the data needed for it?

Each association/calculation property.


quiescent periods

Added sig.quiescenceWatch to provide this in the latest commit. It is implemented using significant new features in Signal.scan. Note, this commit breaks existing scan update functions as the order of item and state arguments have been switched to be consistent with Signal.scan.


Are there any parts of the Equinix Labs Org that would benefit from automation?

At the moment we don't see any obvious places to add automation but it's possible that @matoszz has some useful elements from the Equinix Metal internal GH org that could be beneficial.

E.g. FOSSA https://fossa.com/

e.g. https://github.com/turbot/steampipe-mod-github-sherlock


NEGEMMLowpMatrixMultiplyCore: performance issue int8 vs fp16

Issues:

Default selected low precision kernel is not optimal for described below platform.
We have only 30% performance gain for low precision kernel VS fp16 in multithreaded mode. Can you confirm, please, that these are the results you expect? Our expected performance gain was 2x.

Platform:
system_profiler SPHardwareDataType
   Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: Mac15,6
      Chip: Apple M3 Pro
      Total Number of Cores: 12 (6 performance and 6 efficiency)
      Memory: 18 GB

Operating System:
ProductName:		macOS
ProductVersion:		14.2.1
BuildVersion:		23C71

Command line
scons arch=arm64-v8.2-a neon=1 opencl=0 openmp=0 cppthreads=0 os=macos data_layout_support=all  build=native asserts=1 --jobs=8 --silent os=macos build=native fixed_format_kernels=True validation_tests=1 examples=1 debug=0

Single thread: cppthreads=0
Multithread: cppthreads=1
Results fp16, default kernel: a64_hybrid_fp16_mla_6x32)
Single thread, shapes: 4096x128 * 128x4096
fp16 time median time = 17373 microsecs

Multithread thread, shapes: 4096x128 * 128x4096
fp16 time median time = 2919 microsecs

Results int8, default selected kernel: a64_hybrid_s8s32_mmla_6x16
Single thread, shapes: 4096x128 * 128x4096:
int8 time median time = 12573 microsecs

Multithread, shapes: 4096x128 * 128x4096:
int8 time median time = 3595 microsecs

Results int8, manual selected kernel: a64_interleaved_s8s32_mmla_8x12
Single thread, shapes: 4096x128 * 128x4096:
int8 time median time = 12598 microsecs

Multithread, shapes: 4096x128 * 128x4096:
int8 time median time = 2113 microsecs

you can use eshoguli:es/neon_gemm_s8s8s32_perf_default branch to easily reproduce the issue


Submit a like functionality

Motivation
https://issues.jboss.org/browse/AEROGEAR-7827
What

replaced like pic for like button (heart)
after a touch, the like is sent and info alert is shown
if the like cannot be submitted, error alert should be shown (right now it takes cca minute before http load fails)

Comments

I do not like the way alerts must be presented - by accessing UIApplication - @wtrocki any ideas?

Verification notes

you can use graphql URL from sync currently deployed on community cluster https://data-sync-server-datasync-test.community.skunkhenry.com/graphql

@psturc This like is overly simplified so you can like more than once. It's more because we do not know if you liked before. So when you disable like on the Ui it's fine, but then on the next view refresh it will be enabled again.

Like it!


Prevent multiple service ratings

With the change in Redis key handling, a user can now come back after 7 days and log another servicerating.

@imsickofmaps Please review.

:+1:


[BUG]: Unable to Insert enum in postgres

What version of drizzle-orm are you using?
^0.28.2
What version of drizzle-kit are you using?
^0.19.12
Describe the Bug
Basic Setup
export const userRoles = pgEnum('role', ['admin', 'maintainer']);
export const users = pgTable("userAuth", {
  id: text("id").notNull().primaryKey(),
  name: text("name"),
  email: text("email").notNull().unique(),
  emailVerified: timestamp("emailVerified"),
  image: text("image"),
  role:userRoles('role').default('maintainer').notNull()
});

 await db.insert(users).values({
        email:"a@a",
        role:userRoles.enumValues[0],
        id:"123"
    })

I get this error
 BadRequestException: ERROR: column "role" is of type role but expression is of type character varying
  Hint: You will need to rewrite or cast the expression.
  Position: 125; SQLState: 42804

Expected behavior
No response
Environment & setup
No response

Found out it was an issue with AWS DATA API .
Found a simple work around , i switched from using enum to text ,
and chose validation at application level
text("type", { enum: [ 'a', 'b, '...']}).notNull()

@anasmohammed361 is there a GH issue tracking this for the data API?

I'm also having this issue and I think it's related to drizzle's aws-data-api driver.
I'm getting the same error when using drizzle's API, but I'm able to insert it without issues if I use a raw sql query, e.g:
// `type` is an enum
const [application] = await tx.execute(
  sql`insert into applications (type) values ('silver') RETURNING *`
);

After some research, I guess in my case it's just a limitation of AWS Data API.

from https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html#data-api.limitations:
For Aurora PostgreSQL Serverless v2 and provisioned DB clusters, RDS Data API doesn't support enumerated types. For the list of supported types, see Comparison of RDS Data API with Serverless v2 and provisioned, and Aurora Serverless v1.

It is an issue with AWS, not with drizzle

Are you sure it's an issue with the Data API? AWS shows that they support enums in the list of supported field types:
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html#data-api.differences
As mentioned before, it seems like if the data API can support raw SQL that references enums, that the problem is with how Drizzle is mapping the incoming data to the RDSDataClient

Same here, Drizzle and Drizzle kit both fail to update with column with pgEnum
ERROR: column "language" is of type language but expression is of type text; Hint: You will need to rewrite or cast the expression.

However if I run the SQL through Query Editor on AWS console it works just fine
UPDATE public.user
SET "language" = 'en'::"language"
WHERE id = ...

I find this annoying too. You can also work around it by using raw sql just for the enum value. E.g.
  await db.insert(histories).values({
    col1 "value1",
    col2: "value2",
    action: sql`'create'`, // or sql`'create'::history_action`
  });

I ended creating a wrapper around pgEnum and adding my own method for converting it safely:
type RetType<U extends string, T extends Readonly<[U, ...U[]]>> = PgEnum<
  Writable<T>
> & { sql: (value: T[number]) => ReturnType<typeof sql> };

export function pgEnum2<
  U extends string,
  T extends Readonly<[U, ...U[]]>
>(enumName: string, values: T | Writable<T>): RetType<U, T> {
  const pg = pgEnum(enumName, values) as RetType<U, T>;
  pg.sql = (value: (typeof pg.enumValues)[number]) =>
    sql.raw(`'${value}'::${enumName}`);
  return pg;
}

My enums are defined almost exactly as before:
export const historyActionEnum = pgEnum2("history_action", [
  "create",
  "update",
  "delete",
]);

And the update statement now looks like:
  await db.insert(histories).values({
    col1 "value1",
    col2: "value2",
    action: historyActionEnum.sql("create"),
  });

Everything is type safe so any typos will be caught right away.
It would be nice if the RDS adapter could do this itself. A task for another day but for now I hope this helps.


Make contextBuilder ignore static asset paths

Fixes #825

Should we move the middleware of static files up on the contextMiddelware?

Oh you mean express.static? Good idea!

Much simpler. Thanks, @pierreneter


SMTooltipDirective - Not show on hover

Don't if I miss something but doing like the example:
Hover me
Did not work.
The directive is call, but is not working!

Ok, can you tell me more about your setup?
Can you publish it on GitHub?

Sorry,
about that the problem was conflict with a previuos version of semantic.
Not it's working 100%


chore: protect Finset.ext_iff

This replaces the manual implementation by one generated by the ext attribute for consistency.

Sure, why not
bors merge


Feat/one offs in vue 3

Please check the following

[ ] Do the tests still pass? (see Run the Tests)
[ ] Is the code formatted properly? (see Linting (Formatting))
For New Features:

[ ] Have tests been added to cover any new features or fixes?
[ ] Has the documentation been updated accordingly?

Please describe additional details for testing this change
Fixes oneOff tests except playing 3's

Resolves #264


Version 0.5.15 can't run with npx

When trying to run npx firestore-algolia-search it just fails, but pinning it to version 0.5.14 works.
Failure is Error: could not determine executable to run

I have fixed the issue in the latest firestore-algolia-search package.


Problems withdrawing tokens with PostDeliveryCrowdsale

🎉 Description
I am creating a crowdsale that is a WhitelistedCrowdsale, PostDeliveryCrowdsale, CappedCrowdsale.
My tests all pass (See attached)
TravelkoinCrowdsale.js.zip
However, when deploying this code and running the crowdsale, everything works except withdrawToken() method on PostDeliveryCrowdsale. You can see me trying to withdraw tokens here:
https://rinkeby.etherscan.io/address/0xa74b909b7ea62d280b64c4465c5c8e5b7a9c5ac6
It fails with a revert in Mist and Metamask. Now I know the sale is over and have a balance in PostDeliveryCrowdsale. The only thing I have to go by is a message from Mist  (see attached).

I can see that the integration test works by calling the exact same functions at the right time. However, they don't work when actually running a sale.
Unfortunately, I don't know enough about where the error is happening. I tried to override the withdrawToken method in my own contract to fire off some events with the values of "balances" and to make sure the sale was over (in case the require methods in PostDeliveryCrowdsale would fail) and then call super. No events were fired.

[ X] 🐛 This is a bug report.

💻 Environment
Next, we need to know what your environment looks like.

Which version of OpenZeppelin are you using?
1.7.0

What network are you deploying to? testrpc? Ganache? Ropsten?
Ganache & Rinkeby

How are you deploying your OpenZeppelin-backed contracts? truffle? Remix? Let us know!
Truffle

📝 Details
My setup is almost identical to PostDeliveryCrowdsaleImpl. Attaching crowdsale and token contract. There is nothing interfering with the withdrawToken method.
Archive.zip
Sorry to not be able to provide something more concrete. I have been struggling with this for over a week.
Please advise,
Bjorn

@bjornharvold, I'm checking your issue, is it possible that you are calling withdrawTokens() from an account with 0 balance (0xbb13e514578afd3c0031c7a8bb54132981317675)?.. Could you please check this?

Hi @fiiiu. I did some further investigation. It is not the PostDeliveryCrowdsale that's the issue. I removed it and I still get the same error without it. The account you mention there has 18 ETH. It must have something to do with actually transferring the tokens over to the beneficiary. Thoughts?
I am trying to simplify the token contract to see if I suddenly strike gold. Right now, my crowdsale contract extends WhitelistedCrowdsale, TimedCrowdsale and CappedCrowdsale. My token only extends StandardToken and DetailedERC20. My test account has 100 ETH and I am still getting the same error when I call buyTokens now. All tests are passing.
We really need assert, require and revert to come with messages. This guess work will not make for easy adoption.
State of the EVM as of right now:

FYI. I do get a slightly different error locally vs when testing on Rinkeby. Here is my local error:
Error: Error: Error: [ethjs-rpc] rpc error with payload {"id":3189152973203,"jsonrpc":"2.0","params":["0xf8928084ee6b280083030d40948f0483125fcb9aaaefa9209d8e9d7b9c8b9fb90f8803311fc80a570000a4ec8ac4d8000000000000000000000000f17f52151ebef6c7334fad080c5704d77216b7328222e1a0f976a09e97998ab1ecaa197b2197f49e0d8e1253b6c348b810c7cb9b230c0375a0343c09d2ab37ad4bfe7987f3f5e2cacf76728098fdbc8ac679afaa9260eab616"],"method":"eth_sendRawTransaction"} Error: VM Exception while processing transaction: revert

I'm not sure about your last found error, but be aware that I'm not referring to the balance in ETH (retrieved with balanceOf(address)) but to the token balance (retrieved with balances(address)). Be sure to transfer tokens to the address before you call the withdrawal method.

Hi @fiiiu. I looked at the transaction log and could see that the token balance I had assigned the owner account was way too low. Instead of being 85 million if was 0.000000000085.
I redeployed the crowd sale onto Rinkeby.
Token: 0xee272c3572b17b66461b6ab965494e41750e5b9d
Crowdsale: 0xb18d04699934f74882e5e77317feee32c6399e8d
Owner: 0xbb13e514578afd3c0031c7a8bb54132981317675. You can see that the owner now owns 85 million tokens that were giving to him when the contract was deployed.
https://rinkeby.etherscan.io/address/0xbb13e514578afd3c0031c7a8bb54132981317675#tokentxns.
I successfully whitelisted account: 0x88783faC668A501B9376527F5fCC6eF42789F1A7 and tried to "buyTokens()". It fails with the same error.
It fails like this in MetaMask:
{message: "Transaction: 0x5fa47aa404857fb07813a63ae7a5a3e5282… does not trigger a Solidity revert statement.↵", stack: "Error: Transaction: 0x5fa47aa404857fb07813a63ae7a5…ogaeaoehlefnkodbefgpgknn/scripts/inpage.js:1:6725", name: "StatusError", tx: "0x5fa47aa404857fb07813a63ae7a5a3e5282e839cf31b435acadb8a9175ae64ae", receipt: {…}}message: "Transaction: 0x5fa47aa404857fb07813a63ae7a5a3e5282e839cf31b435acadb8a9175ae64ae exited with an error (status 0).↵Please check that the transaction:↵    - satisfies all conditions set by Solidity require statements.↵    - does not trigger a Solidity revert statement.↵"name: "StatusError"receipt: {blockHash: "0x2f003c197d33eda81530814ba3c7da7f7c32bcd9e17c138981760d0dbd3f41ea", blockNumber: 1905798, contractAddress: null, cumulativeGasUsed: 1454517, from: "0x88783fac668a501b9376527f5fcc6ef42789f1a7", …}stack: "Error: Transaction: 0x5fa47aa404857fb07813a63ae7a5a3e5282e839cf31b435acadb8a9175ae64ae exited with an error (status 0).↵Please check that the transaction:↵    - satisfies all conditions set by Solidity require statements.↵    - does not trigger a Solidity revert statement.↵↵    at StatusError.ExtendableError (webpack-internal:///./node_modules/truffle-error/index.js:10:17)↵    at new StatusError (webpack-internal:///./node_modules/truffle-contract/statuserror.js:29:22)↵    at Object.eval [as callback] (webpack-internal:///./node_modules/truffle-contract/contract.js:181:41)↵    at eval (webpack-internal:///./node_modules/truffle-contract/node_modules/web3/lib/web3/method.js:142:25)↵    at eval (webpack-internal:///./node_modules/truffle-contract/node_modules/web3/lib/web3/requestmanager.js:89:9)↵    at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/inpage.js:1:84195↵    at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/inpage.js:1:6725↵    at o (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/inpage.js:1:24956)↵    at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/inpage.js:1:9555↵    at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/inpage.js:1:6725"tx: "0x5fa47aa404857fb07813a63ae7a5a3e5282e839cf31b435acadb8a9175ae64ae"proto: ExtendableError
And the transaction never finishes with Mist. It just hangs after I confirm payment:

Sounds like the rate or decimals or similar might be off in your code. Unfortunately, I don't want to download your zip file — can you upload it to a github repository so we can take a look?

Hi @Shrugs
Thank you for your feedback. I moved the contract code out of our private repo to Github: https://github.com/bjornharvold/travelkoin-contracts.
I will take a detailed look at rate and decimals today as well.
 Please ignore me completely. I failed to transfer the funds from the token to the crowdsale so there was nothing to buy. #argh


Fixed an error with sentry, added sandy's favicon and changed the CRA generated index.html name, streamlined the test for LoginForm and created and passed a test for the SignUpForm, removed login form from Dashboard, fixed the scroll issue on the SignUp page, made LandingPage button redirect to SignUp

Description
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Change Status

[x] Complete, tested, ready to review and merge
[ ] Complete, but not tested (may need new tests)
[ ] Incomplete/work-in-progress, PR is for discussion/feedback

How Has This Been Tested?

[x] Test A
[ ] Test B

Checklist

[x] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x]  New and existing unit tests pass locally with my changes
[ ] There are no merge conflicts

https://media.giphy.com/media/8fen5LSZcHQ5O/200w_d.gif


Skeleton

PR-Codex overview
This PR focuses on adding CI/CD workflows and code improvements.
Detailed summary

Added CI/CD workflows for PDD, Xcop, Codecov, and Maven.
Updated project configuration files.
Added test suite for Access class.
Updated license and package info files.
Added environment-related classes.
Added checkstyle suppressions.
Added verifications XML file.

The following files were skipped due to too many changes: src/verifier/verifications.xml, src/main/java/io/github/eocqrs/ohip/Access.java, src/main/java/io/github/eocqrs/ohip/Refresh.java, src/test/java/io/github/eocqrs/ohip/RefreshTest.java, src/test/java/io/github/eocqrs/ohip/MockTest.java, src/main/java/io/github/eocqrs/ohip/Post.java, src/main/java/io/github/eocqrs/ohip/Token.java, README.md, pom.xml

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@h1alexbel OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@h1alexbel Oops, I failed. You can see the full log here (spent 13s)
+ set -e
+ set -o pipefail
++ dirname ./run.sh
+ cd .
+ echo 12120
+ echo '2.0-SNAPSHOT BUILD'
2.0-SNAPSHOT BUILD
+ date
Tue Sep 26 17:58:57 CEST 2023
+ uptime
 17:58:57 up 120 days, 10:11,  1 user,  load average: 21.00, 21.20, 20.62
+ cat
com.rultor.spi.Profile: There is no 'merge' section in .rultor.yml for branch master in repo eo-cqrs/ohip-java
	at com.rultor.agents.req.StartsRequest.docker(StartsRequest.java:350)
	at com.rultor.agents.req.StartsRequest.vars(StartsRequest.java:255)
	at com.rultor.agents.req.StartsRequest.script(StartsRequest.java:148)
	at com.rultor.agents.req.StartsRequest.process(StartsRequest.java:109)
	at com.rultor.agents.AbstractAgent.execute(AbstractAgent.java:75)
	at com.rultor.spi.Agent.execute(Agent.java:84)
	at com.rultor.agents.VerboseAgent.execute(VerboseAgent.java:62)
	at com.rultor.Routine.process(Routine.java:202)
	at com.rultor.Routine.unsafe_aroundBody0(Routine.java:180)
	at com.rultor.Routine.run(Routine.java:1)
	at org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:179)
	at com.jcabi.aspects.aj.MethodInterrupter.wrap(MethodInterrupter.java:108)
	at com.rultor.Routine.unsafe(Routine.java:175)
	at com.rultor.Routine.run(Routine.java:142)
	at com.jcabi.log.VerboseRunnable.run(VerboseRunnable.java:190)
	at com.jcabi.aspects.aj.MethodScheduler.lambda./run.sh(MethodScheduler.java:194)
	at java.base/java.util.concurrent.Executors.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor.run(ScheduledThreadPoolExecutor.java:305)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor.run(ThreadPoolExecutor.java:635)
	at com.jcabi.log.VerboseThreads.run(VerboseThreads.java:222)
	at java.base/java.lang.Thread.run(Thread.java:833)

+ exit -1
'cid' file is absent, most probably the Docker container wasn't started correctly


people_msgs fails to build

I ran the installer by following the installation instructions:
robot@nuc-i7:~/robot_sdk$ ./products/tb3/tb3_install.sh

Over an hour later I see it failed building the people_msgs package:
Starting >>> people_msgs
[Processing: object_analytics_msgs, people_msgs]
[Processing: object_analytics_msgs, people_msgs]
--- stderr: people_msgs
In file included from /home/robot/robot_sdk/sdk_ws/modules_ws/build/people_msgs/rosidl_typesupport_opensplice_cpp/people_msgs/srv/dds_opensplice/AgeGender_.h:15:0,
                 from /home/robot/robot_sdk/sdk_ws/modules_ws/build/people_msgs/rosidl_typesupport_opensplice_cpp/people_msgs/srv/dds_opensplice/ccpp_AgeGender_.h:4,
                 from /home/robot/robot_sdk/sdk_ws/modules_ws/build/people_msgs/rosidl_typesupport_opensplice_cpp/people_msgs/srv/age_gender__rosidl_typesupport_opensplice_cpp.hpp:14,
                 from /home/robot/robot_sdk/sdk_ws/modules_ws/build/people_msgs/rosidl_typesupport_opensplice_cpp/people_msgs/srv/dds_opensplice/age_gender__type_support.cpp:17:
/home/robot/robot_sdk/sdk_ws/modules_ws/build/people_msgs/rosidl_typesupport_opensplice_cpp/people_msgs/msg/dds_opensplice/AgeGenderStamped_.h:30:79: error: type/value mismatch at argument 1 in template parameter list for ‘template<class T, class X> class DDS_DCPSUVLSeq’
                typedef DDS_DCPSUVLSeq < AgeGender_, struct _objects__seq_uniq_> _objects__seq;
                                                                               ^
/home/robot/robot_sdk/sdk_ws/modules_ws/build/people_msgs/rosidl_typesupport_opensplice_cpp/people_msgs/msg/dds_opensplice/AgeGenderStamped_.h:30:79: note:   expected a type, got ‘AgeGender_’
In file included from /home/robot/robot_sdk/sdk_ws/modules_ws/build/people_msgs/rosidl_typesupport_opensplice_cpp/people_msgs/srv/dds_opensplice/Emotion_.h:15:0,
                 from /home/robot/robot_sdk/sdk_ws/modules_ws/build/people_msgs/rosidl_typesupport_opensplice_cpp/people_msgs/srv/dds_opensplice/ccpp_Emotion_.h:4,
                 from /home/robot/robot_sdk/sdk_ws/modules_ws/build/people_msgs/rosidl_typesupport_opensplice_cpp/people_msgs/srv/emotion__rosidl_typesupport_opensplice_cpp.hpp:14,
                 from /home/robot/robot_sdk/sdk_ws/modules_ws/build/people_msgs/rosidl_typesupport_opensplice_cpp/people_msgs/srv/dds_opensplice/emotion__type_support.cpp:17:
/home/robot/robot_sdk/sdk_ws/modules_ws/build/people_msgs/rosidl_typesupport_opensplice_cpp/people_msgs/msg/dds_opensplice/EmotionsStamped_.h:30:78: error: type/value mismatch at argument 1 in template parameter list for ‘template<class T, class X> class DDS_DCPSUVLSeq’
                typedef DDS_DCPSUVLSeq < Emotion_, struct _emotions__seq_uniq_> _emotions__seq;
                                                                              ^
/home/robot/robot_sdk/sdk_ws/modules_ws/build/people_msgs/rosidl_typesupport_opensplice_cpp/people_msgs/msg/dds_opensplice/EmotionsStamped_.h:30:78: note:   expected a type, got ‘Emotion_’
make[2]: *** [CMakeFiles/people_msgs__rosidl_typesupport_opensplice_cpp.dir/rosidl_typesupport_opensplice_cpp/people_msgs/srv/dds_opensplice/emotion__type_support.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/people_msgs__rosidl_typesupport_opensplice_cpp.dir/rosidl_typesupport_opensplice_cpp/people_msgs/srv/dds_opensplice/age_gender__type_support.cpp.o] Error 1
make[1]: *** [CMakeFiles/people_msgs__rosidl_typesupport_opensplice_cpp.dir/all] Error 2
make: *** [all] Error 2
---
Failed   <<< people_msgs	[ Exited with code 2 ]
Aborted  <<< object_analytics_msgs

Summary: 4 packages finished [2min 36s]
  1 package failed: people_msgs
  1 package aborted: object_analytics_msgs
  2 packages had stderr output: people_msgs realsense_ros2_camera
  4 packages not processed
robot@nuc-i7:~/robot_sdk$

When I ran the manual steps, I got the same problem. I was able to get past this issue by checking out the master branch of the ros2_openvino_toolkit and re-running the build and install steps of the manual flow.
Should the SDK be using the master branch of the ros2_openvino_toolkit by default?

I reproduce the problem.
Steps to reproduce issue
1.Install PrismTech  OpenSplice
sudo apt install libopensplice69

2.Rerun robot_sdk
 ./products/tb3/tb3_install.sh

Great that you reproduced it. Thanks Cong. I have a work-around for now but we may want to update the tutorials / readme for the ros2_openvino_toolkit to note that either libopensplice should be purged, or if it is needed, then the master branch of ros2_openvino_toolkit is needed.

@mkhansen-intel
Hi Matt, we think this issue may be related with ROS2 rosidl package. We even cannot work around it with master branch of ros2_openvino_toolkit now. We suggest purge libopensplice as workaround temporarily. We'll look deep into it later.

Hello all, just here to provide some information.
About 2 weeks ago, I built a demonstration that included the Object Analytics and people_msgs inside it. The workspace build process finished without any significant error as far as I recall.
I was using ROS2 crystal, installed via the apt server, along with colcon tools and opensplice implementation. A separate workspace under user space that includes all the ROS2 node component, including realsense, movidius, object analytics, object msgs, openvino toolkit, and ros1 bridge.

Robot SDK will use latest ros2 code from master branch.
This issue caused by people_msgs from ros2_openvino_tookit, which build fail while use opensplice as dds backend, we have reported this issue to https://github.com/intel/ros2_openvino_toolkit/issues/84

As enabled package configuration, there has isolated navigation and perception category, they will not impact each other while build now. close this issue.


Readme: example config fix

Hi, there is very simple copy-paste mistake in readme

:+1:  thank you, could you maybe rephrase the commit message to something like this:

Fix example config in readme

Done!

Awesome. Thanks :heart:


chore: Update how file permissions in /home/user are handled

Description
Update the universal developer image Dockerfile to run
chgrp -R 0 /home/user && chmod -R g=u /home/user

after every RUN step that impacts /home/user significantly. This has the effect of reducing the udi8 image's size from 9.34GB to 6.59GB (on disk) -- a ~30% decrease.
Previously, one of the last steps in the build process was
RUN mkdir -p /home/user && chgrp -R 0 /home && chmod -R g=u /etc/passwd /etc/group /home

executing chgrp and chmod on /home resulted in a new layer in the image with all of the files in /home copied (due to the overlay filesystem). By setting permissions as we create files (i.e. in the same RUN command that creates them) we avoid this last step exploding image size:

Before
❯ docker history quay.io/devfile/universal-developer-image:ubi8-latest | head -n 5
IMAGE          CREATED       CREATED BY                                      SIZE      COMMENT
a6500150cb06   2 weeks ago   USER 10001                                      0B        buildkit.dockerfile.v0
<missing>      2 weeks ago   COPY entrypoint.sh / # buildkit                 1.26kB    buildkit.dockerfile.v0
<missing>      2 weeks ago   RUN /bin/sh -c dnf -y clean all --enablerepo…   2.01MB    buildkit.dockerfile.v0
<missing>      2 weeks ago   RUN /bin/sh -c mkdir -p /home/user && chgrp …   2.79GB    buildkit.dockerfile.v0  # 2.79 GB layer

After
❯ docker history quay.io/amisevsk/universal-developer-image:dev | head -n 5
IMAGE          CREATED          CREATED BY                                      SIZE      COMMENT
8888b8b5ebd0   12 minutes ago   USER 10001                                      0B        buildkit.dockerfile.v0
<missing>      12 minutes ago   COPY entrypoint.sh / # buildkit                 1.26kB    buildkit.dockerfile.v0
<missing>      12 minutes ago   RUN /bin/sh -c dnf -y clean all --enablerepo…   2.02MB    buildkit.dockerfile.v0
<missing>      13 minutes ago   RUN /bin/sh -c mkdir -p /home/user && chgrp …   13MB      buildkit.dockerfile.v0 # Down to 13 MB

To enable this, I also had to update the base developer image Dockerfile, as it was previously copying a root-owned .gitconfig to /home/user, which meant that it was not possible to chgrp this file as user 10001. As a result, building the new udi dockerfile directly will not work until the new base developer image is built; for testing you can replace the FROM directive in the udi8 dockerfile with
FROM quay.io/amisevsk/base-developer-image:dev

From the PR check:
Run minikube image list --format table

|----------------------------------------------------|--------------------|---------------|--------|
|                       Image                        |        Tag         |   Image ID    |  Size  |
|----------------------------------------------------|--------------------|---------------|--------|
| quay.io/jetstack/cert-manager-cainjector           | v1.5.4             | 9cae5e667b2aa | 42.2MB |
| gcr.io/k8s-minikube/storage-provisioner            | v5                 | 6e38f40d628db | 31.5MB |
| quay.io/devfile/universal-developer-image          | 116                | ad2ee69dfe8e5 | 6.59GB |   <--- reduced size
| gcr.io/kubebuilder/kube-rbac-proxy                 | v0.13.1            | eb5a02daef2fe | 55.2MB |
| quay.io/jetstack/cert-manager-controller           | v1.5.4             | 5b19c646aa028 | 63.3MB |
| registry.k8s.io/kube-scheduler                     | v1.27.3            | 41697ceeb70b3 | 58.4MB |
| registry.k8s.io/ingress-nginx/kube-webhook-certgen | <none>             | 7e7451bb70423 | 47.2MB |
| registry.k8s.io/kube-apiserver                     | v1.27.3            | 08a0c939e61b7 | 121MB  |
| registry.k8s.io/kube-proxy                         | v1.27.3            |<PHONE_NUMBER>cf0 | 71.1MB |
| docker.io/kindest/kindnetd                         | v20230511-dc714da8 | b0b1fa0f58c6e | 63.6MB |
| registry.k8s.io/pause                              | 3.9                | e6f1816883972 | 744kB  |
| quay.io/jetstack/cert-manager-webhook              | v1.5.4             | a9ba81bdeeb41 | 46.4MB |
| quay.io/devfile/base-developer-image               | ubi8-latest        | bd1675c62d273 | 420MB  |
| registry.k8s.io/ingress-nginx/controller           | <none>             | 825aff16c20cc | 284MB  |
| registry.k8s.io/coredns/coredns                    | v1.10.1            | ead0a4a53df89 | 53.6MB |
| registry.k8s.io/etcd                               | 3.5.7-0            | 86b6af7dd652c | 296MB  |
| quay.io/devfile/devworkspace-controller            | next               | 5e4a431c85375 | 209MB  |
| registry.k8s.io/kube-controller-manager            | v1.27.3            | 7cffc01dba0e1 | 112MB  |
|----------------------------------------------------|--------------------|---------------|--------|


Model and Database

Hello,
When I use:
const users = yield this.User.all ()
I can use the hidden method to hide data,
but when I use:
const users = yield Database.from ('users')
I can not use the hidden one.
How do I solve this?

Does const users = yield Database.from ('users').fetch() work? If not I don't think you can use lucid methods like hidden, on a query builder chain.

Database is just a query builder to run SQL queries and hidden properties only works when you use a proper model


How to change video quality and playback rate?

How to change video quality and playback rate?

Yes please! How can we do it??

Yes please! How can we do it??

@PierfrancescoSoffritti is this feature can be implemented?

Duplicate of issue #27


Add option to intkey-workload to set an unnecessary dependency

This differs from #1509 in that this dependency is able to be satisfied, but unnecessary, while #1509 was for dependencies that could not be satisfied.  This PR finishes STL-1017.

./intkey-workload --wildcard 7.9
Value must be between 0.0 and 1.0, inclusively

This is what one of the error messages looks like now.


Quantitative and qualitative analysis of Git commits

Explore ways to compare commits by:

LOCs
Cyclomatic complexity
Test coverage
Any other risk factors

https://medium.com/civis-analytics/predicting-code-bug-risk-with-git-metadata-bc0b675ad28f

http://se.cite.ehime-u.ac.jp/~aman/pdf/SEAA2017-2.pdf

https://www.jsoftware.us/vol17/458-MS04.pdf

http://www.diva-portal.org/smash/get/diva2:851524/FULLTEXT01.pdf

https://fpalomba.github.io/pdf/Journals/J17.pdf

https://www.cs.cmu.edu/~ckaestne/pdf/jsep17.pdf

https://asankhaya.github.io/pdf/automated-identification-of-security-issues-from-commit-messages-and-bug-reports.pdf

https://github.com/aricent/codedefectai

https://arxiv.org/pdf/2212.03399.pdf

https://harvest.usask.ca/server/api/core/bitstreams/74281abc-4018-43ba-aa6e-b91c29a9a7d7/content

s11219-020-09520-3-1.pdf

https://harvest.usask.ca/server/api/core/bitstreams/74281abc-4018-43ba-aa6e-b91c29a9a7d7/content

https://asankhaya.github.io/pdf/automated-identification-of-security-issues-from-commit-messages-and-bug-reports.pdf

https://www.aau.at/wp-content/uploads/2019/11/Macho2016-buildcochanges.pdf

https://www.promptingguide.ai/


filter node database table creation

The commands that create the tables in
https://github.com/lsst-uk/lasair-deploy/blob/main/roles/filter/tasks/filter.yml
should include the name of the database (ztf)
mysql --user=ztf --password=123password ztf < objects.sql
The username and password here should be parametrised.

Done.


Prevent proxying node APIs completely

Description
I am trying to build a vue app using vite 4.0.4. It will not run in a regular browser, but in nw.js (https://nwjs.io/) - Therefore all node APIs already exist. But vite is creating these __vite-browser-external:os proxies that prevent access to them. I am trying to completely prevent that behavior, or at least exclude all node APIs, but I have not found an option to do so.
Simplest example:
//main.ts
import os from 'os';
console.log(os.platform())

is transformed to:
import os from "/@id/__vite-browser-external:node:os";
console.log(os.platform());

The optimizeDeps.exclude option has no effect;
the resolve.alias happens, but cannot circumvent the problem.
alias: { 'os': 'node:os' } just causes the error to shift to 'node:os' instead.
Suggested solution
Add a config option that stops interception of any specified or all node:* imports
Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Have you tried build.rollupOptions.external? Also turn on ssr as your code is running under node-ish envs.

Vite supports browser by default only. If you're looking for node support, you should use the SSR feature, or follow this discussion: https://github.com/vitejs/vite/issues/7821


The extension dosent work on Opera For Geforce Now

I'm on Linux Ubuntu i'm on opera and i got the extension activated it dosent do anything
https://user-images.githubusercontent.com/75042385/169883425-de663dbf-6cc4-4333-9dd0-050a41f05633.mp4

thanks for the video. could you please reply with the errors (red box on the extensions page) ?

Hi, I'm having the same problem (Opera GX on Windows) this is what my error menu shows:

thank you for that. i will look into it today and hopefully fix it by the end of the day.

You want the extension page?

this issue is due to a chrome update in an effort to protect the users' privacy. i will need more time to look into this and fix it


utils: Remove make_safe_digest wrapper

It’s unclear what was supposed to be “safe” about this wrapper. The hashlib API is fine without it, and we don’t want to encourage further use of SHA-1.

Merged, thanks @andersk! We should probably switch the user_profile-by-email related caches to sha256.


test suite

I have a battery of tests I have been working on to prove that JSON encoders are exactly compatible with Go's standard JSON.  It doesn't pass against json-iterator yet (I filed the first bug just now), but I'd be happy to clean it up and contribute it here, if it is interesting to you to demonstrate that you're exactly compatible (and benchmark).
Before I do that work, I thought I would ask :)

please, much appreciated !

Will do.


redirection and saving the credentials of the users

Hello @07sumit1002
It will be better to validate the sign in credentials with storing them in database and store the registerd user in the database
and validate the user with the information stored with us
Allow only people who have proper credential
If you like this one I will start working  on it

@Madhuri243 Go ahead and work on it

@07sumit1002 please review my pull request


Ubuntu 18.04 VPN Connection fails

I've been attempting to setup a connection using the Linux guides here and I get the following on
initiating IKE_SA azure[1] to <IP_ADDRESS>
generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
sending packet: from <IP_ADDRESS>[500] to <IP_ADDRESS>[500] (800 bytes)
received packet: from <IP_ADDRESS>[500] to <IP_ADDRESS>[500] (38 bytes)
parsed IKE_SA_INIT response 0 [ N(INVAL_KE) ]
peer didn't accept DH group CURVE_25519, it requested MODP_2048
initiating IKE_SA azure[1] to <IP_ADDRESS>
generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
sending packet: from <IP_ADDRESS>[500] to <IP_ADDRESS>[500] (1024 bytes)
received packet: from <IP_ADDRESS>[500] to <IP_ADDRESS>[500] (517 bytes)
parsed IKE_SA_INIT response 0 [ SA KE No N(FRAG_SUP) N(NATD_S_IP) N(NATD_D_IP) V V CERTREQ ]
received MS NT5 ISAKMPOAKLEY v9 vendor ID
received MS-Negotiation Discovery Capable vendor ID
local host is behind NAT, sending keep alives
received 1 cert requests for an unknown ca
sending cert request for "C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA"
establishing CHILD_SA azure{1}
generating IKE_AUTH request 1 [ IDi N(INIT_CONTACT) CERTREQ CPRQ(ADDR DNS) SA TSi TSr N(MOBIKE_SUP) N(ADD_4_ADDR) N(EAP_ONLY) N(MSG_ID_SYN_SUP) ]
sending packet: from <IP_ADDRESS>[4500] to <IP_ADDRESS>[4500] (304 bytes)
received packet: from <IP_ADDRESS>[4500] to <IP_ADDRESS>[4500] (72 bytes)
parsed IKE_AUTH response 1 [ N(MS_STATUS(13806)) ]
received MS_NOTIFY_STATUS notify error
establishing connection 'azure' failed

Searching around this error code seems to relate to: https://support.microsoft.com/en-gb/help/2964556/ikev2-vpn-connection-fails-with-error-13806-when-you-use-an-ecdsa-cert
I've tried it out with both the strongswan GUI and CLI guides.
lawrence@lg-mbp:~/Documents/nhs$ sudo apt list --installed | grep strongswan

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

libstrongswan/bionic-updates,now 5.6.2-1ubuntu2.4 amd64 [installed,automatic]
libstrongswan-extra-plugins/bionic-updates,now 5.6.2-1ubuntu2.4 amd64 [installed]
libstrongswan-standard-plugins/bionic-updates,now 5.6.2-1ubuntu2.4 amd64 [installed]
network-manager-strongswan/bionic,now 1.4.2-2 amd64 [installed]
strongswan/bionic-updates,bionic-updates,now 5.6.2-1ubuntu2.4 all [installed]
strongswan-charon/bionic-updates,now 5.6.2-1ubuntu2.4 amd64 [installed]
strongswan-libcharon/bionic-updates,now 5.6.2-1ubuntu2.4 amd64 [installed]
strongswan-nm/bionic-updates,now 5.6.2-1ubuntu2.4 amd64 [installed,automatic]
strongswan-pki/bionic-updates,now 5.6.2-1ubuntu2.4 amd64 [installed]
strongswan-starter/bionic-updates,now 5.6.2-1ubuntu2.4 amd64 [installed]
strongswan-swanctl/bionic-updates,now 5.6.2-1ubuntu2.4 amd64 [installed,automatic]
strongswan-tnc-base/bionic-updates,now 5.6.2-1ubuntu2.4 amd64 [installed,automatic]

I've attempted to disable additional plugins as recommended here: https://serverfault.com/questions/840920/how-connect-a-linux-box-to-an-azure-point-to-site-gateway but this doesn't seem to have any effect.

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

ID: 0d5150fc-9936-07cf-dce7-44d0ec114cd0
Version Independent ID: 8b627174-56cd-a81e-a687-34ba66d33550
Content: Create and install P2S VPN client configuration files for Azure certificate authentication: Azure
Content Source: articles/vpn-gateway/point-to-site-vpn-client-configuration-azure-cert.md
Service: vpn-gateway
GitHub Login: @cherylmc
Microsoft Alias: cherylmc

To try and rule out anything odd I've recreated a new set of certs following this process and retried but still no joy.

@lawrencegripper , The error description for 13806 is "ERROR_IPSEC_IKE_NO_CERT | IKE failed to find valid machine certificate. Contact your Network Security Administrator about installing a valid certificate in the appropriate Certificate Store."

Select tunnel type as SSTP in the P2S settings
Reinstalled the VPN client

Let me know if this works for you

This is running on a Ubuntu 18.04 install, should I re-install the strongswan packages? I don't believe Ubuntu has support for SSTP in the main set of repositories, I am attempting to connect with IKE2.
My /etc/ipsec.conf file is as follows, certs are placed in the right location (I hope checked this a fair few times but still might have an issue here).
conn azure
  keyexchange=ikev2
  type=tunnel
  leftfirewall=yes
  left=%any
  leftid=%client
  leftauth=eap-tls
  right=azuregateway-GUIDREMOVED.vpn.azure.com # Azure VPN gateway address
  rightid=%azuregateway-GUIDREMOVED.vpn.azure.com
  rightsubnet=<IP_ADDRESS>/0
  leftsourceip=%config
  auto=add

Is that error returned by the server as the certificate presented isn't valid?
After re-checking certs I do see the two certificates (CA for the VPN server and client certificate) mentioned in the logs.
17:41 $ sudo ipsec up azure
initiating IKE_SA azure[20] to <IP_ADDRESS>
generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
sending packet: from <IP_ADDRESS>[500] to <IP_ADDRESS>[500] (656 bytes)
received packet: from <IP_ADDRESS>[500] to <IP_ADDRESS>[500] (38 bytes)
parsed IKE_SA_INIT response 0 [ N(INVAL_KE) ]
peer didn't accept DH group CURVE_25519, it requested MODP_2048
initiating IKE_SA azure[20] to <IP_ADDRESS>
generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
sending packet: from <IP_ADDRESS>[500] to <IP_ADDRESS>[500] (880 bytes)
received packet: from <IP_ADDRESS>[500] to <IP_ADDRESS>[500] (545 bytes)
parsed IKE_SA_INIT response 0 [ SA KE No N(FRAG_SUP) N(NATD_S_IP) N(NATD_D_IP) V V CERTREQ ]
received MS NT5 ISAKMPOAKLEY v9 vendor ID
received MS-Negotiation Discovery Capable vendor ID
local host is behind NAT, sending keep alives
received cert request for "CN=VPN CA"
received 1 cert requests for an unknown ca
sending cert request for "C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA"
sending cert request for "CN=VPN CA"
sending cert request for "CN=VPN CA"
establishing CHILD_SA azure{10}
generating IKE_AUTH request 1 [ IDi N(INIT_CONTACT) CERTREQ CPRQ(ADDR DNS) SA TSi TSr N(MOBIKE_SUP) N(ADD_4_ADDR) N(EAP_ONLY) N(MSG_ID_SYN_SUP) ]
sending packet: from <IP_ADDRESS>[4500] to <IP_ADDRESS>[4500] (360 bytes)
received packet: from <IP_ADDRESS>[4500] to <IP_ADDRESS>[4500] (88 bytes)
parsed IKE_AUTH response 1 [ N(MS_STATUS(13806)) ]
received MS_NOTIFY_STATUS notify error
establishing connection 'azure' failed

It's an interesting line to draw.
At what point is this an problem an issue with the docs? Currently it looks like the setup guide gives incorrect certificate configuration instructions or a least a bit muddled and that's why I see the issue but I'm not able to 100% validate. If I can reproduce this with a brand new Ubuntu 18.04 machine does this then become a docs issue?
Specifically regarding the docs it's not clear how the following relates to the setup.
https://github.com/MicrosoftDocs/azure-docs/blame/master/articles/vpn-gateway/point-to-site-vpn-client-configuration-azure-cert.md#L182
This looks like it requires the certificates to have been created following this guide: https://github.com/MicrosoftDocs/azure-docs/blame/ba035bfe9fab85dd1e6134a98af1ad7cf6891033/includes/vpn-gateway-strongswan-certificates-include.md#L55
If the certs have been generated using one of the other guides then it looks like these will always fail as the CommonName is set as follows New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert. I think this would mean these certs would never work as the %client line in the linux setup looks like it has to match the CommonName set on the self signed certificate. Can the author of the LinuxCLI guide confirm this?
This flow is fairly common as a Windows based Admin might setup a VPN then issue certificates to a Linux user to connect.

@cherylmc, can you add your comment here?

Sure - which article could use a note saying that if you are installing on a Linux client, you must create the certificate using the Linux steps? (Just making sure I understand what is being asked)

Hi- can you confirm that certificates for Linux clients must be generated using a Linux computer? If so, I will update the documentation to reflect that. @msrini-MSFT

Nope I don't think that certs need to be generated with a Linux computer but I do think the CommonName used when generating has to be updated on the %client line of the config when using the CLI path to match the CommonName of the certificate.
I haven't been able to test this further as I went back to using the GUI based setup and managed to get this working.

Were you able to set it up? @cherylmc @lawrencegripper @msrini-MSFT
I seem to have the same issue:
$ sudo ipsec up azure
initiating IKE_SA azure[1] to X.X.X.X
generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
sending packet: from <IP_ADDRESS>[500] to X.X.X.X[500] (726 bytes)
received packet: from X.X.X.X[500] to <IP_ADDRESS>[500] (38 bytes)
parsed IKE_SA_INIT response 0 [ N(INVAL_KE) ]
peer didn't accept DH group ECP_256, it requested MODP_2048
initiating IKE_SA azure[1] to X.X.X.X
generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
sending packet: from <IP_ADDRESS>[500] to X.X.X.X[500] (918 bytes)
received packet: from X.X.X.X[500] to <IP_ADDRESS>[500] (517 bytes)
parsed IKE_SA_INIT response 0 [ SA KE No N(FRAG_SUP) N(NATD_S_IP) N(NATD_D_IP) V V CERTREQ ]
received MS NT5 ISAKMPOAKLEY v9 vendor ID
received MS-Negotiation Discovery Capable vendor ID
local host is behind NAT, sending keep alives
received cert request for "CN=VPN CA"
sending cert request for "CN=VPN CA"
sending cert request for "C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA"
establishing CHILD_SA azure{1}
generating IKE_AUTH request 1 [ IDi N(INIT_CONTACT) CERTREQ CPRQ(ADDR DNS) SA TSi TSr N(MOBIKE_SUP) N(ADD_4_ADDR) N(ADD_4_ADDR) N(EAP_ONLY) N(MSG_ID_SYN_SUP) ]
sending packet: from <IP_ADDRESS>[4500] to X.X.X.X[4500] (339 bytes)
received packet: from X.X.X.X[4500] to <IP_ADDRESS>[4500] (1276 bytes)
parsed IKE_AUTH response 1 [ EF(1/3) ]
received fragment #1 of 3, waiting for complete IKE message
received packet: from X.X.X.X[4500] to <IP_ADDRESS>[4500] (1276 bytes)
parsed IKE_AUTH response 1 [ EF(2/3) ]
received fragment #2 of 3, waiting for complete IKE message
received packet: from X.X.X.X[4500] to <IP_ADDRESS>[4500] (1132 bytes)
parsed IKE_AUTH response 1 [ EF(3/3) ]
received fragment #3 of 3, reassembling fragmented IKE message
parsed IKE_AUTH response 1 [ IDr CERT CERT AUTH EAP/REQ/ID ]
received end entity cert "C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, CN=EDITED.vpn.azure.com"
received issuer cert "C=US, O=DigiCert Inc, CN=DigiCert SHA2 Secure Server CA"
  using certificate "C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, CN=EDITED.vpn.azure.com"
  using untrusted intermediate certificate "C=US, O=DigiCert Inc, CN=DigiCert SHA2 Secure Server CA"
checking certificate status of "C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, CN=EDITED.vpn.azure.com"
  requesting ocsp status from 'http://ocsp.digicert.com' ...
unable to fetch from http://ocsp.digicert.com, no capable fetcher found
ocsp request to http://ocsp.digicert.com failed
ocsp check failed, fallback to crl
  fetching crl from 'http://crl3.digicert.com/ssca-sha2-g6.crl' ...
unable to fetch from http://crl3.digicert.com/ssca-sha2-g6.crl, no capable fetcher found
crl fetching failed
  fetching crl from 'http://crl4.digicert.com/ssca-sha2-g6.crl' ...
unable to fetch from http://crl4.digicert.com/ssca-sha2-g6.crl, no capable fetcher found
crl fetching failed
certificate status is not available
  using trusted ca certificate "C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA"
checking certificate status of "C=US, O=DigiCert Inc, CN=DigiCert SHA2 Secure Server CA"
  requesting ocsp status from 'http://ocsp.digicert.com' ...
unable to fetch from http://ocsp.digicert.com, no capable fetcher found
ocsp request to http://ocsp.digicert.com failed
ocsp check failed, fallback to crl
  fetching crl from 'http://crl3.digicert.com/DigiCertGlobalRootCA.crl' ...
unable to fetch from http://crl3.digicert.com/DigiCertGlobalRootCA.crl, no capable fetcher found
crl fetching failed
  fetching crl from 'http://crl4.digicert.com/DigiCertGlobalRootCA.crl' ...
unable to fetch from http://crl4.digicert.com/DigiCertGlobalRootCA.crl, no capable fetcher found
crl fetching failed
certificate status is not available
certificate policy 2.16.840.1.114412.1.1 for 'C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, CN=EDITED.vpn.azure.com' not allowed by trustchain, ignored
certificate policy <IP_ADDRESS>.2.2 for 'C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, CN=EDITED.vpn.azure.com' not allowed by trustchain, ignored
  reached self-signed root ca with a path length of 1
authentication of 'C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, CN=EDITED.vpn.azure.com' with RSA signature successful
server requested EAP_IDENTITY (id 0x00), sending 'xavier001'
EAP_IDENTITY not supported, sending EAP_NAK
generating IKE_AUTH request 2 [ EAP/RES/NAK ]
sending packet: from <IP_ADDRESS>[4500] to X.X.X.X[4500] (67 bytes)
received packet: from X.X.X.X[4500] to <IP_ADDRESS>[4500] (72 bytes)
parsed IKE_AUTH response 2 [ N(MS_STATUS(1244)) ]
received MS_NOTIFY_STATUS notify error
establishing connection 'azure' failed

$ cat /etc/ipsec.conf

conn azure
	keyexchange=ikev2
	type=tunnel
	leftfirewall=yes
	left=%any
	leftauth=eap-tls
	leftid=%xavier001 # use the DNS alternative name prefixed with the %
	right=azuregateway-EDITED.vpn.azure.com
	rightid=%azuregateway-EDITED.vpn.azure.com
	rightsubnet=<IP_ADDRESS>/0
	leftsourceip=%config
	auto=add

$ sudo cat /etc/ipsec.secrets
: P12 xavier001.p12 'pass' # key filename inside /etc/ipsec.d/private directory

$ ls -la /etc/ipsec.d/private/
-rw-------  1 root   root   3157 Jul 26 03:11 xavier001.p12

$ ls -la /etc/ipsec.d/cacerts/
-rw-rw-r--  1 root root  947 Jul 26 02:51 VpnServerRoot.cer

$ sudo apt list --installed | grep strongswan

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

libstrongswan/bionic-updates,now 5.6.2-1ubuntu2.4 arm64 [installed,automatic]
libstrongswan-standard-plugins/bionic-updates,now 5.6.2-1ubuntu2.4 arm64 [installed]
strongswan/bionic-updates,now 5.6.2-1ubuntu2.4 all [installed,automatic]
strongswan-charon/bionic-updates,now 5.6.2-1ubuntu2.4 arm64 [installed,automatic]
strongswan-libcharon/bionic-updates,now 5.6.2-1ubuntu2.4 arm64 [installed,automatic]
strongswan-pki/bionic-updates,now 5.6.2-1ubuntu2.4 arm64 [installed]
strongswan-starter/bionic-updates,now 5.6.2-1ubuntu2.4 arm64 [installed,automatic]
strongswan-swanctl/bionic-updates,now 5.6.2-1ubuntu2.4 arm64 [installed]

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.2 LTS
Release:	18.04
Codename:	bionic

$ uname -a
Linux nvidia-desktop 4.9.140-tegra #1 SMP PREEMPT Tue Jul 16 17:09:53 PDT 2019 aarch64 aarch64 aarch64 GNU/Linux

Any idea?

Hope I didn't have any luck getting the non-gui instructions working, sorry :(

@anzaman , Can you take a look at this issue?

@cherylmc @lawrencegripper @msrini-MSFT @anzaman
I have found the problem. I noticed the following error:
EAP_IDENTITY not supported, sending EAP_NAK

This happened because I was missing a package. I figured it out after checking this post. In order to have EAP_IDENTITY support, I had to run
sudo apt install -y libcharon-extra-plugins
After that, everything worked.
Thank you

Finally I did it, thanks @lawrencegripper without this comment:
"Nope I don't think that certs need to be generated with a Linux computer but I do think the CommonName used when generating has to be updated on the %client line of the config when using the CLI path to match the CommonName of the certificate. I haven't been able to test this further as I went back to using the GUI based setup and managed to get this working."
I'll explain what I did:
1- I had this problem:
no TLS peer certificate found for 'client', skipping client authentication
2- After reinstall, build strongswan always I had the same error.
3- I noticed that the value of leftid=%client is the value of the CN of P12 certificate to check this I need to
openssl pkcs12 -in MY_PERSONAL_P12.p12 -nodes -passin pass:"SOME_DARK_PASSWORD" | openssl x509 -noout -subject
with that value I changed %cliente to %MY_DARK_CN
it's important this P12 is the same certificate that i configured in ipsec.secrets
: P12 MY_PERSONAL_P12.p12 'SOME_DARK_PASSWORD'
and azure console Point-to-site configuration in your Virtual network gateway
4- after this I restarted the service "ipsec restart" and tried to connect "ipsec up azure" and all fine

@cherylmc @lawrencegripper @msrini-MSFT @anzaman
I have found the problem. I noticed the following error:
EAP_IDENTITY not supported, sending EAP_NAK

This happened because I was missing a package. I figured it out after checking this post. In order to have EAP_IDENTITY support, I had to run
sudo apt install -y libcharon-extra-plugins
After that, everything worked.
Thank you

I was need to install some other libs. My final list is:
apt-get install -y strongswan libcharon-extra-plugins libcharon-standard-plugins libstrongswan-standard-plugins libstrongswan-extra-plugins

@krpovmu so much thanks about that command, i got to realize that no name (in my case a generic 'client') was given in the process due to a bad variable name in the script!

FYI, in some cases you need to use the --legacy parameter: https://github.com/cert-manager/cert-manager/issues/5047#issuecomment-1104179571
openssl pkcs12 --legacy -in MY_PERSONAL_P12.p12 -nodes -passin pass:"MY_PASSWORD" --legacy | openssl x509 -noout -subject

I am still facing this issue on Linux 5.19.0-35-generic #36~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Feb 17 15:17:25 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
Anyone else ?

@cherylmc @lawrencegripper @msrini-MSFT @anzaman
I have found the problem. I noticed the following error:
EAP_IDENTITY not supported, sending EAP_NAK

This happened because I was missing a package. I figured it out after checking this post. In order to have EAP_IDENTITY support, I had to run
sudo apt install -y libcharon-extra-plugins
After that, everything worked.
Thank you

Its works for me in ubuntu 20.04.
thanks @Shaked


Force chart to 100% of Parent's Div?

Tried height: '100%', Is there any way to make the chart height-responsive?

If you do give height: 100%, the chart gets the parent element's height and sets the fixed height - which doesn't change when width changes.
So, setting height: 100% doesn't actually makes it responsive but makes the chart fill the available height which is set by parent div.
To make it responsive, only width: 100% should be set and height should be left out.
Another proposal for different aspect ratios is discussed in this thread and I have already taken into consideration.
Thank you


10.1 link broken

Getting a 404 on 10.1 download link

This project in general has been deprecated per the README, but be on the look out for a commit coming to both DarwinKVM and DarwinFetch which adds full support for PowerPC and Intel releases for 10.0 - 10.6, it's been a big thing coming for a while now, the merge has been declared for months so be on the look out possibly today or tomorrow for that commit. 🙏🏻


feat(linter): eslint/no-constructor-return

This approach is slow, it is preferred to use the control flow graph
https://github.com/eslint/eslint/blob/5c28d9a367e1608e097c491f40b8afd0730a8b9e/lib/rules/no-constructor-return.js#L36-L41

This approach is slow, it is preferred to use the control flow graph
https://github.com/eslint/eslint/blob/5c28d9a367e1608e097c491f40b8afd0730a8b9e/lib/rules/no-constructor-return.js#L36-L41

Ok, Is there a demo related to the control flow graph in oxc? I don't understand how to implement it in oxc.

This approach is slow, it is preferred to use the control flow graph
https://github.com/eslint/eslint/blob/5c28d9a367e1608e097c491f40b8afd0730a8b9e/lib/rules/no-constructor-return.js#L36-L41

Ok, Is there a demo related to the control flow graph in oxc? I don't understand how to implement it in oxc.

CFG is a bit complicated, you may start from https://github.com/oxc-project/oxc/blob/main/crates/oxc_semantic/examples/cfg.rs
and also the linter rules that use it, e.g. eslint/getter_return.rs

This approach is slow, it is preferred to use the control flow graph
https://github.com/eslint/eslint/blob/5c28d9a367e1608e097c491f40b8afd0730a8b9e/lib/rules/no-constructor-return.js#L36-L41

Ok, Is there a demo related to the control flow graph in oxc? I don't understand how to implement it in oxc.

CFG is a bit complicated, you may start from https://github.com/oxc-project/oxc/blob/main/crates/oxc_semantic/examples/cfg.rs
and also the linter rules that use it, e.g. eslint/getter_return.rs

@Boshen @rzvxa Hi, I have been reading the code for require_render_return. While implementing no-constructor-return, I encountered a problem. I need to access the return statement node for two reasons: first, to display the position of the return statement span, and second, to check if the return statement node is in the block statement.
Consider the following example:
class C { constructor(a) { if (!a) { return } else { a() } } }

The code above is correct. The return is used for control flow. Therefore, I would like to know how to access the return statement node using neighbors_filtered_by_edge_weight.

As far as I know, this information is lost in our current control flow implementation. For some other reason - which isn't that far off from what you need here #3238 - I'm working on adding the list of instructions to the basic blocks and reworking some parts of cfg to make it more versatile. So if things go according to the plan soon it should be possible to somehow access our nodes in basic blocks.
If you only need to know whether a return has an expression or not you can use the AssignmentValue - which is what you are already doing in this screenshot - is that not sufficient for this problem? What do you need from the return statement? maybe we can work around it.

As far as I know, this information is lost in our current control flow implementation. For some other reason - which isn't that far off from what you need here #3238 - I'm working on adding the list of instructions to the basic blocks and reworking some parts of cfg to make it more versatile. So if things go according to the plan soon it should be possible to somehow access our nodes in basic blocks.
If you only need to know whether a return has an expression or not you can use the AssignmentValue - which is what you are already doing in this screenshot - is that not sufficient for this problem? What do you need from the return statement? maybe we can work around it.

I need to access the return statement node because the error information related to the span is incorrect.

The second season is that I need to know if the return statement node in a  block statement. consider the following example:
class C { constructor(a) { if (!a) { return } else { a() } } }

The above code should be correct. Because the return is used for flow control.
I'm not sure if there's a way to solve these two problems. Looking forward to your suggestions. Here is my code:
impl Rule for NoConstructorReturn {
    fn run<'a>(&self, node: &AstNode<'a>, ctx: &LintContext<'a>) {
        if !matches!(node.kind(), AstKind::ArrowFunctionExpression(_) | AstKind::Function(_)) {
            return;
        }

        let Some(parent) = ctx.nodes().parent_node(node.id()) else {
            return;
        };

        if contains_return_statement(node, ctx) {
            match parent.kind() {
                AstKind::MethodDefinition(method)
                    if method.kind == MethodDefinitionKind::Constructor =>
                {
                    ctx.diagnostic(no_constructor_return_diagnostic(method.span));
                }
                _ => {}
            };
        }
    }
}

const KEEP_WALKING_ON_THIS_PATH: bool = true;
const STOP_WALKING_ON_THIS_PATH: bool = false;

fn contains_return_statement<'a>(node: &AstNode<'a>, ctx: &LintContext<'a>) -> bool {
    let cfg = ctx.semantic().cfg();
    let state = neighbors_filtered_by_edge_weight(
        &cfg.graph,
        node.cfg_ix(),
        &|edge| match edge {
            // We only care about normal edges having a return statement.
            EdgeType::Normal => None,
            // For these two type, we flag it as not found.
            EdgeType::NewFunction | EdgeType::Backedge => Some(FoundReturn::No),
        },
        &mut |basic_block_id, _state_going_into_this_rule| {
            // If its an arrow function with an expression, marked as founded and stop walking.
            if let AstKind::ArrowFunctionExpression(arrow_expr) = node.kind() {
                if arrow_expr.expression {
                    return (FoundReturn::Yes, STOP_WALKING_ON_THIS_PATH);
                }
            }

            for entry in cfg.basic_block_by_index(*basic_block_id) {
                if let BasicBlockElement::Assignment(to_reg, val) = entry {
                    if matches!(to_reg, Register::Return)
                        && matches!(val, AssignmentValue::NotImplicitUndefined)
                    {
                        return (FoundReturn::Yes, STOP_WALKING_ON_THIS_PATH);
                    }
                }
            }

            (FoundReturn::No, KEEP_WALKING_ON_THIS_PATH)
        },
    );

    state.iter().any(|&state| state == FoundReturn::Yes)
}

#[derive(Clone, Copy, Debug, Default, PartialEq)]
enum FoundReturn {
    #[default]
    No,
    Yes,
}

#[test]
fn test() {
    use crate::tester::Tester;

    let pass = vec![
        "function fn() { return }",
        "function fn(kumiko) { if (kumiko) { return kumiko } }",
        "const fn = function () { return }",
        "const fn = function () { if (kumiko) { return kumiko } }",
        "const fn = () => { return }",
        "const fn = () => { if (kumiko) { return kumiko } }",
        "return 'Kumiko Oumae'",
        "class C {  }",
        "class C { constructor() {} }",
        "class C { constructor() { let v } }",
        "class C { method() { return '' } }",
        "class C { get value() { return '' } }",
        "class C { constructor(a) { if (!a) { return } else { a() } } }",
        "class C { constructor() { function fn() { return true } } }",
        "class C { constructor() { this.fn = function () { return true } } }",
        "class C { constructor() { this.fn = () => { return true } } }",
    ];

    let fail = vec![
        // "class C { constructor() { return } }",
        "class C { constructor() { return '' } }",
        "class C { constructor(a) { if (!a) { return '' } else { a() } } }",
    ];

    Tester::new(NoConstructorReturn::NAME, pass, fail).test_and_snapshot();
}

Can you test this approach and see how it performs?
impl Rule for NoConstructorReturn {
    fn run<'a>(&self, node: &AstNode<'a>, ctx: &LintContext<'a>) {
        let AstKind::ReturnStatement(ret) = node.kind() else { return };
        let Some(is_in_constructor_root) = is_in_constructor_root(ctx, node.id()) else { return };

        if is_in_constructor_root {
            ctx.diagnostic(no_constructor_return_diagnostic(ret.span));
        } else if ret.argument.is_some() && is_definitely_in_constructor(ctx, node.id()) {
            ctx.diagnostic(no_constructor_return_diagnostic(ret.span));
        }
    }
}

fn is_constructor(node: &AstNode<'_>) -> bool {
    matches!(
        node.kind(),
        AstKind::MethodDefinition(MethodDefinition { kind: MethodDefinitionKind::Constructor, .. })
    )
}

/// Checks to see if the given node is in the root of a constructor.
/// Returns `None` if it isn't possible for this node to be in a constructor.
fn is_in_constructor_root(ctx: &LintContext, node_id: AstNodeId) -> Option<bool> {
    ctx.nodes().ancestors(node_id).nth(3).map(|id| ctx.nodes().get_node(id)).map(is_constructor)
}

fn is_definitely_in_constructor(ctx: &LintContext, node_id: AstNodeId) -> bool {
    ctx.nodes()
        .ancestors(node_id)
        .map(|id| ctx.nodes().get_node(id))
        .skip_while(|node| !node.kind().is_function_like())
        .nth(1)
        .is_some_and(is_constructor)
}

Obviously, it isn't as good as what you've been doing here, And we might want to switch back to that when we have the improved control flow, But I suspect that the snippet above should perform OKish at least for now.

The simpler form of this was already present in your cases - although it was commented out - and in the original eslint plugin. However, You are right that case passes in eslint.
But do these 2 have a real difference? Why should one pass and the other one fail? There are other rules that would point out the redundant block and return statement, Is it possible that it is just a dormant bug happening in a stupid edge case that nobody noticed?
class C { constructor() { return } }
class C { constructor() { { { return } } } }

Well in either case you can just ignore the edit and it would pass the test.

@rzvxa I have replaced the code with your suggestion. And the performance is ok. Could you please check if there are other any other issues?

It might actually be a bug, although a different one. So if you don't mind let's wait to see if this behavior is going to change or not. On the bright side, we might get to ship this with the new cfg, It may or may not perform better; Worth a benchmark in my opinion.

ok, I have seen the discussion about the rule. It seems that there are different opinions within the ESLint team.

@woai3c Hello, How are you doing my friend? I hope you've been having an amazing day!
I just wanted to inform you about the recent progress regarding this rule. The ESLint team decided to go with allowing all implicit undefined returns from constructors, There are some changes in passing and failing cases for this rule which you can check out here.
So if you implement the required changes I can approve this PR for merge.
There is also #3381 which is almost ready; It provides AstNodeId appropriate for each CFG instruction so with the help of this you can do what you wanted originally and implement it using CFG alone.
The decision to wait for the new CFG to merge or move on with this rule as is and later on expect it to be refactored to use CFG(either by you or somebody else) is yours.

@woai3c Hello, How are you doing my friend? I hope you've been having an amazing day! I just wanted to inform you about the recent progress regarding this rule. The ESLint team decided to go with allowing all implicit undefined returns from constructors, There are some changes in passing and failing cases for this rule which you can check out here.
So if you implement the required changes I can approve this PR for merge.
There is also #3381 which is almost ready; It provides AstNodeId appropriate for each CFG instruction so with the help of this you can do what you wanted originally and implement it using CFG alone.
The decision to wait for the new CFG to merge or move on with this rule as is and later on expect it to be refactored to use CFG(either by you or somebody else) is yours.

Thank you for the update! That's great news. I will implement the required changes a bit later.

@rzvxa Hi, rzvxa. I have addressed the issue you reviewed. Thank you for your feedback.

@rzvxa Hi, rzvxa. I have solved the issue you reviewed. Thank you for your feedback.

Thank you❤


Error:  attribute width: Expected length, "undefined"

Not sure what's going on here. I used the same lottie file from another project and same code but got these errors.
I am able to render the animation but keeping errors in the console is not acceptable.

<Loader width={330} height={400} />
import React from "react"
import Lottie from "rangel-react-lottie"
import styled from "styled-components"

import animationData from "../../lotties/icons/logo-animation.json"

const Loader = props => {
  const { isLoading, width, height } = props

  const defaultOptions = {
    loop: true,
    autoplay: true,
    animationData,
    rendererSettings: {
      preserveAspectRatio: "xMidYMid slice",
    },
  }

  return (
    <Container>
      <Lottie options={defaultOptions} width={width} height={height} isStopped={!isLoading} />
    </Container>
  )
}

export default Loader

For those of you landing here now, this issue is cause by wrongly importing animationData from the json file.
In the README example, replace:
- import * as animationData from './pinjump.json'

+ import animationData from './pinjump.json'

something really fun here is import * as animationData actually working on my web page but not in storybook. so i had to change to import * as animationData

The above does not help me. This is my full code.
import React, { useEffect } from 'react'
import lottie from 'lottie-web'
import animationData from '../assets/lottie/Icon-heart_green.json'
// import animationData from '../assets/lottie/loading.json'

type LottieProps = {
  readonly source: unknown
  readonly height?: number | string
  readonly width?: number | string
  readonly loop?: boolean
  readonly speed?: number
  readonly onAnimationStart?: () => void | null
  readonly onAnimationFinish?: () => void | null
}

const Lottie = () => {
  useEffect(() => {
    lottie.loadAnimation({
      container: document.querySelector('#lottie-element'),
      renderer: 'svg',
      loop: true,
      autoplay: true,
      animationData,
      rendererSettings: {
        preserveAspectRatio: 'xMidYMid slice',
      },
    })
  }, [])

  return (

  )
}

error is:

when I use the other animation (the one that is currently commented out) it works fine.

I know I'm supposed to talk about other package here . But I got the same  error in Razor Pay Package Node implementation.

hy did you solved it????

verifica se os atributos ou as tags estão certas talvez seja algo do em volta do contexto tive um problema semelhante a esse e o que me ajudou foi analisar os atributos que podem ter vindo sem informações pra vcs


Update Shared.strings

thanks @claudiajarjoura .  i've merged this in, so you should now be able to continue where you left off from https://github.com/skedgo/translations/blob/master/pt/Shared.strings .  i removed the " // TODO" from the ones you've already done.  I'm not sure why they don't all have that.  @nighthawk ?


Add some hotkeys

[ ] Toggle frameless window
[ ] Go to service picker page

@MulverineX Quark Player already has both of these. See the menus, it will show the hotkeys for stuff.

Could these please be documented in the README somewhere? After enabling frameless window there's no way to view the menu.

@MulverineX I could add a Ctrl+Alt+Help thing that will open a little table with all the shortcuts. That way you only have to remember that one.

That'd be great

@MulverineX Here you go!

Added to docs > https://github.com/Alex313031/quark-player/blob/master/docs/keyboard_shortcuts.md

New option in the menu "Shortcut Table", which can be opened by Ctrl + Alt + H (here "H" is meaning Help). This will open the new help.html which has a  element with a copy of the table in keyboard_shortcuts.md

@MulverineX Here you go! > https://github.com/Alex313031/quark-player/releases/tag/v3.1.7
I don't think I'm going to add "Custom themeing" But what I think I will add is four modes:
1.dark (default)
2. light
3. Use system preference (only applicable on MacOS 10.12+, Win 8.1+, or Linux GTK 3.28+
4. Some special wacky theme that I want to mimick Opera GX's "neon" theme

@Alex313031 the point behind custom theming is to apply styles to the services themselves, not to the Quark UI

@MulverineX Ohhhhh. Ok well, idk how to inject CSS into a page :( Maybe I can learn by looking it up

Thanks for the release


After connecting on mobile Safari and then signing with AlphaWallet on iOS, the example.walletconnect.org dapp redirects to Math Wallet #454

https://github.com/WalletConnect/walletconnect-monorepo/issues/454

Need to verify again

@hboon visiting https://example.walletconnect.org triggers aw and shows sign screen for me.

Great. Thanks!


Issue in Android

Hi I'm having this issues in Android. Please help!

please send your code.

What is RN version?