Fix Krunker API change

Just required some snooping and decoding of the websockets that my browser was sending to Krunker, and seeing that the data was no longer "nested" in arrays
This Pull Request fixes #9
P.S: I'm new to contributing to projects like these on Github, am I doing it right with the pull requests?

I'm really not sure what that failed check is, I've tested the PR and there are no syntax errors or other errors it works just fine now


Rework Proxy&Resource user_data mechanism

cc #196
This changes the user data mechanism to be the following:

the user data of a wayland object is set once an for all at implementation time
it can be accessed from any handle via a type user_data<UD>(&self) -> Option<&UD> method which is a thin wrapper around Box<Any>::downcast_ref()
the user is responsible for integrating interior mutability to the type if they want

In particular, the previous behavior can be reached by using an AtomicPtr as the UD type, but it makes the default behavior much more safe.
What do you think of this, @Drakulix ?

Overall this is very good, but this basically requires using a Mutex/RwLock for anything Non-Send/Sync, right?
What about making UD not require Sync+Send, but for implement (not for implement_non_send though). Then make get_user_data take a QueueToken to verify, that it is accessed from the correct thread. For implementations initialized using implement, that satisfy the Send+Sync requirement the Token is not checked or might be None.
I am not entirely sure, but I think I had several use cases for Non-Send userdata in fireplace (as well for interior mutability, but this abstractions seems fine in that case).
At lease we should provide an unsafe function get_userdata_unchecked that lifts the Send+Sync requirement.

I think it's not possible to make non-Send user data work without exposing an unsafe function.
The main issue is that, at least with the native_lib backend, it is not possible given a QueueToken to check if a Proxy is associated to this event queue. The issue is the same server-side, I have no reliable way to check if a LoopToken does actually match the Resource.
Though, given implement_nonsend is already unsafe, it's not a big deal to add an unsafe user_data_nonsend method.

Is this a limitation we should bring up on the wayland mailing list? This appears to be an issue even in C, when one would try to implement a multi-queue compositor.

There is no notion of event queues server-side, all objects are on the same event loop. But this can technically be fooled by providing a loop token from an other event loop (not hosting wayland objects).
So, this may arguably fall under the "you're doing C you're supposed to know what you are doing" side of things.. ?

So, this may arguably fall under the "you're doing C you're supposed to know what you are doing" side of things.. ?

Yeah, probably..
Is there a way to do better for your pure-rust-implementation? Maybe we should provide another safe userdata_nonsend variant, that takes a loop token for the rust-impl only?

It might be possible to do better with it, but I'm reluctant to go this direction. Given how cargo features work, activating the native_lib feature should be purely additive in terms of functionalities, and should not break any code.

It might be possible to do better with it, but I'm reluctant to go this direction. Given how cargo features work, activating the native_lib feature should be purely additive in terms of functionalities, and should not break any code.

Then just add another userdata-function instead of replacing the unsafe variant?

The issue is that this new method would have to become unavailable when the native_lib feature is activated, making code using it fail to compile. This is not the expected behavior of cargo features, as cargo is free to activate more features than you requested, to match other dependencies of the build process.

The issue is that this new method would have to become unavailable when the native_lib feature is activated, making code using it fail to compile.

I am taking about an additional function only if native_lib is activated:
    pub fn user_data<UD: Send + Sync + 'static>(&self) -> Option<&UD> {
        unsafe { self.inner.get_user_data() }
    }

    pub unsafe fn user_data_nonsend<UD: 'static>(&self) -> Option<&UD> {
        self.inner.get_user_data()
    }

    #[cfg(feature = "native_lib")]
    pub fn user_data_token<UD: 'static>(&self, token: &LoopToken) -> Option<&UD> {
        if token.does_not_match() { panic!(); }
        unsafe { self.inner.get_user_data() }
    }

I do not see how this might make code not compile if the native_lib feature is used.

That's the opposite, the safe function can only be done if we do not* use the native_lib. When native_lib is activated, we are using the system C libs, which do not allow to check if the queue/loop match.

I somehow assumed the feature would enable the rust implementation. :man_facepalming:
I get the decision, why you wanted to make the c-library the feature (to remove it from the default list in the future), but given our goal of an ergonomic rust api, I am not sure if it was the best approach.

The reason is actually because of how cargo features work : enabling a feature cannot be a breaking change.
A client using the rust implementation can also work with the system lib, but a client requiring the system lib cannot use the rust impl (as it uses the APIs exposing C pointers), so using the system libs must be the optional feature.
Le 15 août 2018 13:43:06 GMT+02:00, Victor Brekenfeld<EMAIL_ADDRESS>a écrit :

I somehow assumed the feature would enable the rust implementation.
:man_facepalming:
I get the decision, why you wanted to make the c-library the feature
(to remove it from the default list in the future), but given our goal
of an ergonomic rust api, I am not sure if it was the best approach.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/Smithay/wayland-rs/pull/198#issuecomment-413173587

Other approach, I introduce a small UserData wrapper in wayland-commons. It can be created in two variants, threadsafe requiring the data to be Send+Sync, and non-threadsafe with no constraints.
If created in the threadsafe variant, its contents can be accessed from any thread, if not, the ThreadId is checked and access is only possible from the creation thread.
I think this makes a better API, what do you think @Drakulix ?

I think this makes a better API, what do you think @Drakulix ?

Sounds good to me!


feat: Release 0.0.6

#55  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @tazarov and the rest of your teammates on  Graphite


[Question] PiGallery on Raspberry PI OS 64bit issues

Not sure if it's a bug, but maybe somebody has already some experience about it. And, maybe, it's related to #467.
I download v. 1.9.3 on Kubuntu 22.04 with NodeJS 14, create a release version there, test it and it works. All fine.
I copy it on a Raspberry 4 with the newly released Raspberry Pi OS 64 bit (with NodeJS 14, too).
I get a "Video support error", in that ffmpeg-probe can't find the executable. As a matter of fact, it requires the arm64 version, which is not available. Other than this issue, I have been using Pigallery without problems on older Raspberry OS version (32 bit however)!
Any idea how to solve it? Any workarounds?
Thanks to anybody who may have suggestions! :-)

afaik need to npm install again, as it will fetch binary for arm64, or try install ffmpeg and ffprobe from repo

Thanks for the reply.
Yes, of course I did npm install again, but no binaries for arm64 were fetched. this seems to be the problem from what I can understand.

In the meanwhile, I found this simple workaround: on the Raspberry (64bit) machine, after npm install, simply delete/comment out folder ffmpeg-static in the node_modules folder. If ffmpeg is already installed (apt-get ...), nothing else is needed.
Other than this little installation glitch, version 1.9.3 rocks!! ;-)

If I remember correctly fluent-ffmpeg should try getting ffmpeg/probe from the environment or -if available- from npm. I also do not install ffmpeg static on docker.
relevant code is  here: https://github.com/bpatrik/pigallery2/blob/master/src/backend/model/FFmpegFactory.ts

Probably just me not knowing how this works. But that code looks for ffmpeg-static not ffmpeg, does that make any difference and perhaps a difference between the 32bit and 64bit os as the latter is more Debian that Raspberry Pi OS now?

fluent ffmpeg uses ffmpeg from environment and the code then tries to overwride it with ffmpeg-static (since if you installed the static npm package, you probably want to use that one, not the system ffmpeg)


Problem when adding models

Hi,
i have two models:
@Table
export default class User extends Model<User> {
    @Column
    name: string;

    @HasMany(() => Address)
    addresses: Address[];
}

and:
@Table
export default class Address extends Model<Address> {
    @Column
    street: string;

    @ForeignKey(() => User)
    @Column
    userId: number;

    @BelongsTo(() => User)
    user: User;

}

But when I start the app, it fails at sequelize.addModels([/** models */]) with:
Error: User.hasMany called with something that's not a subclass of Sequelize.Model
    at Function.hasMany (/node_modules/sequelize/lib/associations/mixin.js:19:13)

So I tracked it down to this inside of mixins.js hasMany() function:
target.prototype instanceof this.sequelize.Model

which is unfortunately false somehow.
Removing it inside of hasMany() and singleLinked() in mixins.js lets the application start normally without errors and the database tables are created correctly too, but thats pretty dirty and i assume future errors will pop up.
I would appreciate any help on how to solve this, thank you!

Update:
Used versions:
    "sequelize": "^4.39.0",
    "sequelize-typescript": "^0.6.6"

Hey @eBuccaneer, can you provide an example repo, which reproduces the issue? From what I can see , your model setup looks good.

Hey, thanks for the quick reply @RobinBuschmann!
I have figured out my problem by now, it was that I have a shared module with own dependencies and node_modules that includes the sequelize model classes, and a server module, where I create the sequelize instance, add models (from the shared module), and sync the database.
After forcing the shared module and the server module to use the same sequelize-typescript package(from same node_modules directory), it worked again.
This problem only occurs when dealing with multiple related models, if there is only model class (without @HasMany etc.), everything is fine.
If you still need the repo to reproduce the error, just drop a message.

No, thanks, thats not necessary anymore. Good to here that you figured it out!

I ended up with the same problem: I'm building a shared module that initializes the Sequelize connection, whereas models are defined per-application in their respective app modules (that consume the shared module as a dependency).
As soon as I try adding associations between models (even though all models are defined in the same app module), I end up with the same error:
xxx.yyy called with something that's not a subclass of Sequelize.Model

From what the node_modules structure looks like, there are two different locations where the sequelize-typescript (and sequelize peer) modules are installed:
node_modules/
  sharedModule/
    node_modules/
      sequelize/
      sequelize-typescript/    // sharedModule uses this to setup the connection
  ...
  // Those are hoisted from the dependency on sharedModule:
  sequelize/
  sequelize-typescript/        // app-level models use this

This is what I had to do in order for associations in models to work:
- import { Model } from 'sequelize-typescript'
+ import { Model } from 'sharedModule/node_modules/sequelize-typescript'

@eBuccaneer is it how you solved it in your case ? It seems hackish, since some package managers might use a different layout for node_modules, but for app-level modules (which aren't usually depended upon and where the primary user controls the PM used), it seems to work.

@franky47 I ended up installing the sequelize-typescript dependency only once in the project root and not in the specific module directories, so every module that depends on it uses the same.
And yes it feels hackish, but it suits our needs.

Hi guys,
I am facing the same error here! When I use the sync method, it creates all the database with all the dependencies, normally and correct. But now I am using the cli-typescript to run migrations and seeders, which works, but when I try to instantiate the Sequelize get the same error.
Already tried the @canary, the @next version from sequelize-typescript, and nothing works.
The error:

throw new Error(this.name + '.' + Utils.lowercaseFirst(Type.toString()) + ' called with something that's not a subclass of Sequelize.Model');
^
Error: Access.class BelongsTo extends Association

My package.json:

"sequelize": "^4.44.0",
"sequelize-cli-typescript": "^3.2.0-c",
"sequelize-typescript": "^0.6.11"

How it is being instantiate
const sequelizeconnection = new Sequelize({       operatorsAliases: Sequelize.Op as any,       name: env.database,       username: env.username,       password: env.password,       dialect: env.dialect,       host: env.host,       modelPaths: [path.join(__dirname, '../../src/models/!(index).ts')]     });
The code:
Access.ts
`import {
Table,
Column,
Model,
CreatedAt,
UpdatedAt,
DeletedAt,
BelongsTo,
ForeignKey
} from "sequelize-typescript";
import { Action } from "./Action";
import { Resource } from "./Resource";
@Table
export class Access extends Model {
@BelongsTo(() => Action, "actionId")
public action: Action;
@ForeignKey(() => Action)
@Column({
allowNull: false
})
public actionId: number;
@BelongsTo(() => Resource, "resourceId")
public resource: Resource;
@ForeignKey(() => Resource)
@Column({
allowNull: false
})
public resourceId: number;
}
**Action.ts: Has references to another models**import {
Table,
Column,
Model,
HasMany,
CreatedAt,
UpdatedAt,
DeletedAt
} from "sequelize-typescript";
import { Grant } from "./Grant";
@Table
export class Action extends Model {}`
Resource.ts: Has references to another models
`import {
Table,
Column,
Model,
HasMany,
CreatedAt,
UpdatedAt,
DeletedAt
} from "sequelize-typescript";
import { Grant } from "./Grant";
@Table
export class Resource extends Model {}`

Hey @rvalim, can you provide an example repo which reproduces the issue please?

Hi @RobinBuschmann I copy from the original branch to here
you can do as bellow

can create a new postgres database
get the IP address, and substitute on DATABASE_URL from ./services/gama-auth/env/node.env
run node_modules/.bin/sequelize db:migrate
run npm run watch

Sorry but it is a little bit verbose.

Hey @rvalim I didn't get any errors. Can you provide a simpler example?

When I run my application returns the mentioned error.
Just tried to use the sequelize-cli instead of sequelize-cli-typescript, everything worked just fine.
Bellow my package.json config, do you see any problem of doing like this? When I run sequelize model:generation it creates the js version, but I can create the models by myself.
    "sequelize": "^4.44.0",
    "sequelize-cli": "^5.5.0",
    "sequelize-typescript": "^0.6.11"

Tks

Since sequelize-cli-typescript doesn't seem to be maintained anymore, its definitely better to use sequelize-cli instead. In general I cannot recommend the one or the other, because I never used these tools. Sry

thank you @RobinBuschmann


unique ID _uid not supporting - How to generate unique ID for components

_uid not working anymore, any default method for unique ID

Hey 👋,
I'm going to close this issue, because it either lacks sufficient explanation regarding your exact problem, how to reproduce said problem, or how the problem relates to a bug or feature with the Inertia library itself.

If you're not sure how or where to get started with Inertia, I can highly recommend Laracasts's incredible (free!) video series: https://laracasts.com/series/build-modern-laravel-apps-using-inertia-js

If you're simply not sure on how to do a certain thing or are running into a problem specific to your application, I recommend you to ask your question in our Discord, as a GitHub Discussions topic, or perhaps even over at the Laracasts forums, as we have a very active community in those places that would be more than happy to help.

If you feel absolutely certain that your issue still points out a bug in the library, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.
Thanks!


Adding New course & remove trailing slash

What does this PR do?
Add resource(s) | Remove resource(s) | Add info | Improve repo
For resources
Description
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[x] Read our contributing guidelines
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction)

Followup

Check the output of Travis-CI for linter errors!

Duplicated at #5588
Maybe the right link

maybe the righ link is: https://buildwithangga.com/kelas/flutter-for-designer-design-to-code

Duplicated at #5599


guzzle 6.3.3

Any idea how to resolve this issue of Guzzle 6.*
guzzlehttp/guzzle 6.3.3
guzzlehttp/guzzle 6.3.3

bump


Field Variable Dropdowns are shadows

Expected Behavior
Variable dropdown should be a field of the main block, it should not be a shadow.
Actual Behavior
When I drag a block into the variable dropdown, it replaces the variable dropdown.
This is a problem because when I try to delete the variable in this state, the variable is recreated when the operator is removed because the main block recreates the shadow and its variable described in the ShadowDom.
Steps to Reproduce
Create a Variable.

Cover the field variable dropdown with an operator block.

Operating System and Browser
Ubuntu Chrome Version  59.0.3071.86

Related: Shadow blocks confuse users.
https://scratch.mit.edu/discuss/topic/199574/?page=135#post-2674522

@rschamp


Update for frozen string literal

Pushed https://github.com/DataDog/datadog-api-client-ruby/pull/1971 into this PR so that the CI jobs have permission to fetch the GitHub token and run the tests.

Merged in other PR.


feat: Add servicemonitor switch for metrics acquisition

The servicemonitor switch is added to collect indicators

could your provide a document regarding this feature?

could your provide a document regarding this feature?

OK, I will add some document content and open some other parameter settings for servicemonitor.

干得好，但我认为引入serviceMonitor会强制安装相应的 CRD 资源。
因此，我强烈建议使用以下方法来公开指标。 在 上公开相应的指标annotations。
    prometheus.io/scrape: "true"
    prometheus.io/port: {{ .Values.device-plugin.prometheus.port | quote }}

The advantage of using servicemonitor is that users can use servicemonitor to do some processing on metrics, such as replacing label, etc., but I'm not sure if I have this ability in this way of annotation.

such as replacing label,

Got you.
https://github.com/cilium/cilium/blob/main/install/kubernetes/cilium/values.yaml#L1024-L1054
Perhaps we can refer to some mature projects to see how they are done.


Test Forcing TLSv1.2 for REST Transport

Stephen Nesman is asking for our review on PR#9515 to force TLSv1.3 with fallback to 1.2 (only) for REST transport. We currently have three REST receivers OK, NY & WA. We need to validate that each can use TLS1.3 or 1.2 and test sending a message to their environment
https://github.com/CDCgov/prime-reportstream/pull/9515

I ran the following command to test whether TLS1.2 was supported by NY
openssl s_client -connect api2.health.ny.gov:443 -tls1_2

Although the session was not opened because NY requires a client certificate, it does appear that TLS 1.2 version is supported by NY.


NET 6.0

Hello and thanx for your beautiful work. I'm still using it, because WPF still not have a D3D solution. As the years go by, I now need to port MediacaputreWPF on NET 6.0. I tried to get it working: everything is compiling, but I get and exception (invalid cast exception in WINRT) that i do not understand when I try to start the preview. The NET 6.0 version is here: https://github.com/puckkk/MediaCaptureWPF-master-mmaitre-net-6.0
Do you have any ideas?

net6.0-windows10.0.19041.0
10.0.17763.0
enable
true
WinExe

<Project Sdk="Microsoft.NET.Sdk">  <PropertyGroup>     <TargetFramework>net6.0-windows10.0.19041.0</TargetFramework>     <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>     <Nullable>enable</Nullable>     <UseWPF>true</UseWPF>     <OutputType>WinExe</OutputType>  </PropertyGroup> </Project>


Add X-Atmosphere-Transport=long-polling to ignored URLs

Added X-Atmosphere-Transport=long-polling to ignored URLs.
Note: I did not build or test these changes since I don't have a working build environment.

Since this is a community submitted pull request, a Jenkins build has not been kicked off automatically. Can an Elastic organization member please verify the contents of this patch and then kick off a build manually?

Hi and thanks for your PR :)
I'm not sure if this is better suited for being in your custom configuration. The defaults should not grow to be too big, as the more matchers it contains, the higher the overhead - even if you don't use one of the frameworks where the matchers would apply.

@felixbarny That's what I was thinking as well.
BTW: Documentation was not quite clear if I can add a URL to be ignored or if I need to also copy the defaults to the configuration.

I tried adding that in the configuration but it seems that elastic APM agent is still reporting that.
2018-11-06 12:05:27.070 [main] DEBUG co.elastic.apm.configuration.StartupInfo - ignore_urls: '/VAA
DIN/*,(?i)/heartbeat/*,/favicon.ico,*.js,*.css,*.jpg,*.jpeg,*.png,*.webp,*.svg,*.woff,*.woff2,*X-A
tmosphere-Transport=long-polling*' (source: /srv/glassfish/<domain>/elasticapm.properties)

reported full url in APM: http://<hostname>:4880/<context_root>/PUSH?v-uiId=0&v-csrfToken=c577bc7d-88de-43b8-ab84-05949b61c7eb&X-Atmosphere-tracking-id=f2231fcb-2ab0-44c6-9327-d9a3d6fa3619&X-Atmosphere-Framework=2.2.13.vaadin5-javascript&X-Atmosphere-Transport=long-polling&X-Atmosphere-TrackMessageSize=true&Content-Type=application%2Fjson%3B%20charset%3DUTF-8&X-atmo-protocol=true&_=1541498833158
Can you check if the format is correct or maybe the equal sign is causing some issue?

Hmm, a tricky one. The agent does not consider the query parameters for the exclude check.

And doing that would break existing excludes like *.jpg

Ok. Then this is clear. I will ignore PUSH in the configurations and close this.
Thanks for your help.


CHEBI:131704, the reference is wrong

Hi Gareth and Steve,
I have just discovered that I submitted a completely wrong reference for this entry. pmid:26663356 has nothing to do with 4-[(2-hydroxyethoxy)carbonyl]benzoate. It is about onocerin (just submitted).
Please replace with pmid:26965627
Cheers,
Kristian

Hi Kristian,
Now sorted.
Cheers,
Gareth


Adds README.md for twa-multi-domain

Documents  how to add more origins when validating a TWA.

It won't. I wonder if this is actually desirable in all cases.


Not working on CentOS 8

Hello jfut,
Thanks for your support.
I have installed in my CentOS 8.1 machine
https://github.com/mind04/mod-ruid2
Restarted Apache with no error.
But as soon as any request dropped to apache it is giving ERR_EMPTY_RESPONSE.
and in the log, it is giving
[Sun Jun 07 10:13:20.810130 2020] [core:notice] [pid 8939:tid<PHONE_NUMBER>53216] AH00052: child pid 10564 exit signal Aborted (6)
As you prescribed I have installed this jfut/mod_process_security-rpm using following commands
wget https://github.com/jfut/mod_process_security-rpm/releases/download/v1.1.4-2/mod_process_security-1.1.4-2.el8.x86_64.rpm
rpm -i mod_process_security-1.1.4-2.el8.x86_64.rpm
but still the same error.
Can you tell me what I am not doing correctly.
Thanks in advance.

I have installed in my CentOS 8.1 machine
https://github.com/mind04/mod-ruid2

mod-ruid2 and mod_process_security are unrelated and separate modules.
Please uninstall mod-ruid2 as it may have some conflicts.

As you prescribed I have installed this jfut/mod_process_security-rpm using following commands
wget https://github.com/jfut/mod_process_security-rpm/releases/download/v1.1.4-2/mod_process_security-1.1.4-2.el8.x86_64.rpm
rpm -i mod_process_security-1.1.4-2.el8.x86_64.rpm

This RPM doesn't work by simply installing it.
You need to edit /etc/httpd/conf.d/mod_process_security.conf.
As it is written in the file, some Apache Modules must be disabled in order to work.
https://github.com/jfut/mod_process_security-rpm/blob/e13d3d46f56f712e052b555b5960f08ca1399495/rpmbuild/SOURCES/mod_process_security.conf#L8-L30

I have changed conf as I needed (attached). I want my virtualhost apache head to run under a specific user "endurance".
The Apache is restarted gracefully. But still Apache is not running under endurance.

endurance_vhosts.txt
mod_process_security.txt

I have checked that PHP script run with user privileges in the following environments:

CentOS Linux release 8.1.1911 (Core)
httpd-2.4.37-16.module_el8.1.0+256+ae790463.x86_64
php-7.2.11-2.module_el8.1.0+209+03b9a8ff.x86_64
mod_process_security-1.1.4-2.el8.x86_64

Did you disable multi-thread modules?
Please check the loaded modules as shown below:
# Not working:
# httpd -M 2>&1 | egrep "prefork|event|dav|hcheck|^ http2|process_security|php"
 dav_module (shared)
 dav_fs_module (shared)
 dav_lock_module (shared)
 mpm_event_module (shared)
 proxy_hcheck_module (shared)
 http2_module (shared)
 process_security_module (shared)

# It works:
# httpd -M 2>&1 | egrep "prefork|event|dav|hcheck|^ http2|process_security|php"
 mpm_prefork_module (shared)
 php7_module (shared)
 process_security_module (shared)

Is it PHP and cgi-script handlers that you want to run with user privileges?

SuexecUserGroup endurance endurance

This is not required by mod_process_security. You will need to change the ownership of the file instead:
chown endurance:endurance /home/endurance/public_html/path/to/some.php

<FilesMatch ".php$">
SetHandler "proxy:unix:/etc/endurance/configs/php/php72/endurance.sock|fcgi://localhost/"

mod_process_security supports the PHP DSO module.
(PHP DSO module is much faster than PHP CGI mode.)
So you can just use the default /etc/httpd/conf.d/php.conf file without editing.
It works with the PHP DSO module and the following mod_process_security settings:
# Uncomment this to enable, after setting MPM prefork and single thread mode
LoadModule process_security_module modules/mod_process_security.so

# Uncomment this to enable, after setting MPM prefork and single thread mode
# Enable All Extensions On. (default: Off)
PSExAll On

or
# Uncomment this to enable, after setting MPM prefork and single thread mode
LoadModule process_security_module modules/mod_process_security.so

# Enable Custom Handlers only.
#PSExAll Off
PSExtensions .cgi .php .pl .py .rb .sh

or
# Uncomment this to enable, after setting MPM prefork and single thread mode
LoadModule process_security_module modules/mod_process_security.so

# Enable Custom Handlers only.
#PSExAll Off
#PSExCGI On
PSHandlers application/x-httpd-php cgi-script

If the problem persists, could you create a Dockerfile for the reproduction?

Also, it's not an RPM issue, so it's better to discuss it in the mod_process_security issue.😄

I am kinda noob in this field. Can you help me out for the best for my scenario.
I am using PHP-FPM for executing PHP scripts using this:
<FilesMatch ".php$">           SetHandler "proxy:unix:/etc/endurance/configs/php/php72/endurance.sock|fcgi://localhost/"           </FilesMatch>
This gives me the ability to control PHP execution per user per virtualhost.
Now the problem in case, as the apache is running under apache:apache, it could not access the virtualhost directory at /home/endurance/public_html.
I am wondering, if apache can run under per user per virtualhost basis, this may solve this permission issue.
So, can you tell me if my problem can be solved using mod_process_security and php-fpm running simultaneously.
with that my current apache  is as follows

PHP-FPM is a server process that is completely independent of Apache, and not an Apache module.
PHP-FPM will only work with the configured user privileges. In the example below, it would be apache:apache.
# e.g. /etc/php-fpm.d/www.conf
user = apache
group = apache

Since mod_process_security is an Apache module, it will never affect the behavior of PHP-FPM.
If you are using mod_process_security, you don't need to use PHP-FPM.

with that my current apache is as follows

You need the following settings to disable the multi-threaded modules.
Because mod_process_security does not work in multi-threaded mode.

Reset /etc/httpd/conf.modules.d/15-php.conf to the default

Reset /etc/httpd/conf.d/php.conf to the default

Edit /etc/httpd/conf.modules.d/00-mpm.conf

# Use prefork module
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#LoadModule mpm_event_module modules/mod_mpm_event.so

Edit /etc/httpd/conf.modules.d/00-dav.conf

# Disable all WebDAV modules
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_lock_module modules/mod_dav_lock.so

Edit /etc/httpd/conf.modules.d/00-proxy.conf

# Disable mod_proxy_hcheck module
#LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so

Edit /etc/httpd/conf.modules.d/10-h2.conf

# Disable http2 module
#LoadModule http2_module modules/mod_http2.so

Hello @AdnanHussainTurki
mod_process_security v1.2.0 has been released! (also v1.2.0-1 RPM)
I used the following Dockerfile.centos8 (Perl + PHP( DSO)) to make sure that Perl and PHP(DSO) work correctly. You may find this example helpful.
https://github.com/matsumotory/mod_process_security/pull/20#issuecomment-648790074


Support for arrays

I tried putting an array rather than a string in, but it still treated it like a joined string. Is there any way in which n-grams of words rather than characters can be supported?
Thanks!

@MaffooBristol Ping!

Hey, yes I will formulate a PR. Thanks for your response; sorry, been super busy!


bind missing 'get_peer_id_from_steam64' function

Since the pr was old, I cherry-picked its commits and rejected it here. Thanks for the contribution!


[Static Shock] - I want to include partial content within a page

I'm building the "Guides" page for the Docs website. That page has a menu of topics to the left, and a primary content area to the right. When pressing one of the menu buttons, the primary content should change to display the content associated with that menu item.
I'd like to define the content for each menu item in isolation, in a convenient way.
The only mechanism that's currently available to define partial content is "components", but those are intended to be generally useful pieces of content.

Upon revisiting this goal, it's already possible.
I was thinking about this goal as a single page with changing content. But, of course, in a static site, this isn't how things work. There must be independent pages, at unique URLs, even when it looks like only part of the page's content is changing.
The answer here was to create the following files:
/guides
  add-a-page.md
  compile-sass.md
  copy-assets.md
  create-rss-feed.md
  display-directory-of-pages.md
  use-remote-css-and-js.md

Each of those Markdown files uses the same page layout, called guides.jinja. The Markdown content is then used to fill the primary content area of guides.jinja.


TYP: adopt based{mypy, pyright}

@jorenham could you review :) ?

Any thoughts on this @KotlinIsland ?

thanks Joren!


Release 0.43.1

Target date is end of August 2021.

Release date is now once https://github.com/ponylang/ponyc/pull/3813 is merged.

Underway.

Done


profile.name is public.talk.google.com user id instead of a real name

This started happening today, it only happens for some accounts.
also profile I receive for myself, when I'm logged in with these accounts is email address not a real name.
It looks like xmpp bug to me.

@dborkan Does this cause our XMPP google social provider integration tests to fail?

I'm having problems running "grunt jasmine_chromeapp" right now, and get this error before Chrome is even started:
Running "jasmine_chromeapp:all" (jasmine_chromeapp) task
Building...Done.
Starting Reporter...Done.
Starting Chrome...Fatal error: spawn ENOENT

But if this affects the test accounts, we should see this test case fail: https://github.com/freedomjs/freedom-social-xmpp/blob/dborkan-test/spec/chrome_integration/gtalk.spec.js#L144
If you can reproduce this, feel free to try out that test case by replacing the credentials in https://github.com/freedomjs/freedom-social-xmpp/blob/dborkan-test/spec/chrome_integration/gtalk_credentials.js with credentials for the bad accounts.
Also we should reach out to our contacts on the GTalk XMPP team about this to see if they've changed anything.

Just created https://github.com/freedomjs/freedom-social-xmpp/issues/102 for the jasmine_chromeapp issues

I am seeing this issue too . it's interesting it's happening only for bob in my case sam is ok

attaching the full log on the link .
https://docs.google.com/document/d/1gYNg_WiXUkpoU67DI2zrUrsChb-7lg7XBkQcg3Ixu_Y/edit?usp=sharing
errors are followings
 [XMPPSocialProvider] received end event, status: offline null Logger_console.print
 [Module uProxy] Incoming message claimed to be an RPC returning for unregistered call 0 Logger_console.print

BTW, if for some reason this is the new reality of GTalk XMPP that we can't change, we can still always get the logged in user's name (via Google APIs), and send that as part of our instance message.  We were considering doing this anyways just last week when we thought it would be needed to fix a bug for users who didn't have a G+ account.

Turned out to be a glitch in XMPP/Hangouts.

2 things we can do to debug if we see this again:

add trace to socialprovider.js's onMessage callback: https://github.com/freedomjs/freedom-social-xmpp/blob/master/src/core/socialprovider.js#L329 - this will print every message we get from the XMPP server.  Immediately after login we typically see 1 roster message with all user names and ids.  If we see the bug again it would be good to verify that we are getting the ...public.talk.google.com ids instead of names (to verify that it is a GTalk server issue and not some problem with our code)
Check if undo-ing https://github.com/freedomjs/freedom-social-xmpp/pull/98 (only request a VCard for ONLINE users) has any effect on this behavior


Updated Instructions and Screenshots

Module: 00
Lab/Demo: 00
Fixes # .
Changes proposed in this pull request:

done


Add matplotlib requirement

Propagation method does not work starting with matplotlib 3.3.3...

Pull Request Test Coverage Report for Build 533

10 of 12 (83.33%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.07%) to 97.501%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pymcmcstat/propagation.py
10
12
83.33%

Totals

Change from base Build 518:
-0.07%

Covered Lines:
2614

Relevant Lines:
2681

💛  - Coveralls


<EMAIL_ADDRESS>decompress error

PS C:\Users\benny> scoop install avidemux WARN  Purging previous failed installation of avidemux. ERROR 'avidemux' isn't installed correctly. Removing older version (2.8.1). 'avidemux' was uninstalled. Installing 'avidemux' (2.8.1) [64bit] from extras bucket Loading Avidemux_2.8.1.VC++.64bits.exe from cache Checking hash of Avidemux_2.8.1.VC++.64bits.exe ... ok. Extracting dl.7z ... ERROR Exit code was 2! Failed to extract files from C:\Users\benny\scoop\apps\avidemux\2.8.1\dl.7z. Log file:   ~\scoop\apps\avidemux\2.8.1\7zip.log
7zip.log

#3691

https://github.com/ScoopInstaller/Extras/issues/9689#issuecomment-1308564396


[Event Request] - OnBeforeFindItemLedgEntry in Codeunit 90 "Purch.-Post"

Hello, please consider adding the following event to Codeunit 90 "Purch.-Post"
    [IntegrationEvent(false, false)]
    local procedure OnBeforeFindItemLedgEntry(var ItemLedgEntry: Record "Item Ledger Entry"; var PurchLine: Record "Purchase Line"; var ItemJournalLine: Record "Item Journal Line")
    begin
    end;

and call it accordingly inside the "PostItemJnlLineJobConsumption" procedure:
...
...
        with PurchLine do
            if "Job No." <> '' then begin
                ItemJournalLine."Entry Type" := ItemJournalLine."Entry Type"::"Negative Adjmt.";
                Job.Get("Job No.");
                ItemJournalLine."Source No." := Job."Bill-to Customer No.";
                if PurchHeader.Invoice then begin
                    ItemLedgEntry.Reset();
                    ItemLedgEntry.SetRange("Document Type", ItemLedgEntry."Document Type"::"Purchase Return Shipment");
                    if "Return Shipment No." <> '' then
                        ItemLedgEntry.SetRange("Document No.", "Return Shipment No.")
                    else
                        ItemLedgEntry.SetRange("Document No.", PurchHeader."Last Return Shipment No.");
                    ItemLedgEntry.SetRange("Item No.", "No.");
                    ItemLedgEntry.SetRange("Entry Type", ItemLedgEntry."Entry Type"::"Negative Adjmt.");
                    ItemLedgEntry.SetRange("Completely Invoiced", false);

                    **OnBeforeFindItemLedgEntry(ItemLedgEntry, PurchLine, ItemJournalLine);**

                    if ItemLedgEntry.FindFirst() then
                        ItemJournalLine."Item Shpt. Entry No." := ItemLedgEntry."Entry No.";
                end;
                ItemJournalLine."Source Type" := ItemJournalLine."Source Type"::Customer;
                ItemJournalLine."Discount Amount" := 0;
...
...

Thank you !

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: 51150.


Suitable for sandboxed live coding?

Thanks for your work on curryrs.
My use case (procedural music composition / live scripting) requires a fast edit->compile->run cycle (low latency) (which is why I abandoned my previous approach of using Rust for scripting via auto-recompilation & DLL auto-reloading).
I'm interested in using Haskell for this use case, but it depends on the latency that can be achieved.
Also it depends on whether sandboxing is possible: Disabling file/network access. The only way to interface with the outside world should be through the FFI that the host provides.
Could you please shed some light on this? :)

What kind of latency can be expected?
Related to this: Is incremental compilation/linking possible? In other words, if the main module imports some modules from std, and another user module foo, which imports bar, then when the user edits only the main module, only that one should be recompiled, the other ones should only be linked. And if the user edits foo, only foo and main should be recompiled.

Is sandboxing possible?

In short, do you think it's a good idea to use Haskell with curryrs for my use case? :)
(The only alternative I see is gluon, but most potential users already know Haskell but not gluon, so I'd prefer to use Haskell because it's more "mainstream".)

Hey @Boscop I really should have archived this repo as I haven't worked on it in quite some time. 2 years it seems and even then in the 6 years this has been around I haven't worked on it much.
It might be worth taking a look at yvan-sraka/cabal-pack as the author contacted me about curryrs and has started to work on haskell bindings and what not. They might be able to help you out more and seem to be actively maintaining their code. I think they do stuff with Nix.
Now another solution might be to use wasm (but I don't know all your constraints). You get to have sandboxing and what not and the wasmtime runtime is great and it turns out there's a haskell compiler for this -> tweag/asterius.
Hopefully this helps!

Thanks for the quick reply :)
Compiling Haskell to Wasm would increase the latency by a lot..
Do you know another project similar to curryrs which allows interfacing Rust and Haskell (or PureScript)?

No not that I know of, just what I had posted before


Fix bugs in artifact add and improve UX

Description

Fix bug related the giving the RSTUF API Server (--api-server)
Makes the user experience with --path and filepaht simpler and the output, see the cases below

Using a rstuf.yaml
> rstuf -c rstuf.yaml artifact add ~/tuf_metadata.tar
Artifact Addition status: ACCEPTED (94c234877b124bc5a747a9c4e0cb4761)
Successfully submitted task with a payload of:
{
  "targets": [
    {
      "info": {
        "length": 106956800,
        "hashes": {
          "blake2b-256": "597b97e43e445ecd06dfb8436b19e2ae6cfa137dd66523b9a022989355bde3dc"
        },
        "custom": null
      },
      "path": "tuf_metadata.tar"
    }
  ],
  "add_task_id_to_custom": false,
  "publish_targets": true
}

RSTUF task ID (use to check its status) is: 94c234877b124bc5a747a9c4e0cb4761

Using the --path and --api-server
> rstuf artifact add ~/tuf_metadata.tar --path tuf/files/ --api-server http://localhost
Artifact Addition status: ACCEPTED (1402d4b980794de98c0f7f99d0787cad)
Successfully submitted task with a payload of:
{
  "targets": [
    {
      "info": {
        "length": 106956800,
        "hashes": {
          "blake2b-256": "597b97e43e445ecd06dfb8436b19e2ae6cfa137dd66523b9a022989355bde3dc"
        },
        "custom": null
      },
      "path": "tuf/files/tuf_metadata.tar"
    }
  ],
  "add_task_id_to_custom": false,
  "publish_targets": true
}

RSTUF task ID (use to check its status) is: 1402d4b980794de98c0f7f99d0787cad

Fixes #(issue)
Types of changes

[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 not to work as expected)

Additional requirements

[ ] Tests have been added for the bug fix or new feature
[ ] Docs have been added for the bug fix or new feature

Code of Conduct
By submitting this PR, you agree to follow our Code of Conduct.

[x] I agree to follow this project's Code of Conduct

I am little confused with this behavior:
rstuf -c rstuf.yaml artifact add ~/tuf_metadata.tar
will equal to a path "path": "tuf_metadata.tar"
I will think it will equal to the home directory and then tuf_metadata.tar like mvrachev/tuf_metadata.tar.
And then I am not sure what should happen here rstuf artifact add ~/tuf_metadata.tar --path tuf/files/ --api-server http://localhost.
Shouldn't the required argument for rstuf artifact add be only the name of the file without any slashes and ~ signgs?

I am little confused with this behavior: rstuf -c rstuf.yaml artifact add ~/tuf_metadata.tar will equal to a path "path": "tuf_metadata.tar" I will think it will equal to the home directory and then tuf_metadata.tar like mvrachev/tuf_metadata.tar. And then I am not sure what should happen here rstuf artifact add ~/tuf_metadata.tar --path tuf/files/ --api-server http://localhost. Shouldn't the required argument for rstuf artifact add be only the name of the file without any slashes and ~ signgs?

Please check the examples above
Without a --path, it just uses the file. It ignores the directories/subdirectories.
The flag --path is intended to add a path to the file you want to add.

I am little confused with this behavior: rstuf -c rstuf.yaml artifact add ~/tuf_metadata.tar will equal to a path "path": "tuf_metadata.tar" I will think it will equal to the home directory and then tuf_metadata.tar like mvrachev/tuf_metadata.tar. And then I am not sure what should happen here rstuf artifact add ~/tuf_metadata.tar --path tuf/files/ --api-server http://localhost. Shouldn't the required argument for rstuf artifact add be only the name of the file without any slashes and ~ signgs?

Please check the examples above
Without a --path, it just uses the file. It ignores the directories/subdirectories. The flag --path is intended to add a path to the file you want to add.

It was a bit confusing for me why we have two arguments filepath required and path optional.
I would suggest improving this pr by renaming the filepath argument to localpath for example and add a short description. Those two names filepath and path are just too familiar without explaining much.

It was a bit confusing for me why we have two arguments filepath required and path optional. I would suggest improving this pr by renaming the filepath argument to localpath for example and add a short description. Those two names filepath and path are just too familiar without explaining much.

Why it is confusing: it is not a parameter but an argument.
❯ rstuf artifact add -h

 Usage: rstuf artifact add [OPTIONS] FILEPATH

 Add artifacts to the TUF metadata.
 A POST /api/v1/artifacts/ request to the RSTUF API service is carried out, where: - file info is discovered
 and added to the request payload. The blake2b-256 cryptographic hash function is used to hash the file. -
 `custom` key of the payload is an empty object - `path` key of the payload is defined by the user

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ *  --path  -p  TEXT  A custom path (`TARGETPATH`) for the file, defined in the metadata. [required]          │
│    --help  -h        Show this message and exit.                                                             │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
`


Remove extern from function prototypes

Is your feature request related to a problem? Please describe.
Inconsistently applying extern to function prototypes
Describe the solution you'd like
Remove, it makes no difference.
Describe alternatives you've considered
None
Additional context
None
Requester Info
Jacob Hageman - NASA/GSFC

I would like to work on this issue. Please guide me further

@skliper
I have removed all extern from all function prototypes in the project. Could this cause unforeseen problems (in conjunction with the cFS)?

Not for the function prototypes, declaring as extern has no impact since it's the default. https://stackoverflow.com/questions/27447285/extern-on-function-prototypes.  Thanks for the contribution!

Ok, great to know.


Is it possible to download the models manually from my browser instead of automatically?

Buzz is such excellent work. I'd like to run it on a workstation that is unfortunately completely offline. So, can I download the models manually from another computer and copy the necessary files to the offline workstation? Where shall I place the files for buzz to detect?

Buzz is such excellent work. I'd like to run it on a workstation that is unfortunately completely offline. So, can I download the models manually from another computer and copy the necessary files to the offline workstation? Where shall I place the files for buzz to detect?

I wholeheartedly agree. Such great work and that's a great question also.

Thanks a lot. The Whisper models should be placed in $HOME/.cache/whisper (Mac and Windows), while the Whisper.cpp models should be placed in $HOME/Library/Caches/Buzz (Mac) or $HOME\AppData\Local\Buzz\Buzz\Cache (Windows):
/Users/chidiwilliams/.cache/whisper
├── base.en.pt
├── base.pt
├── large-v2.pt
├── medium.pt
├── small.pt
├── tiny.en.pt
└── tiny.pt

/Users/chidiwilliams/Library/Caches/Buzz
├── ggml-model-whisper-medium.bin
├── ggml-model-whisper-tiny.bin
└── tasks

This is also stated in the FAQ.

@chidiwilliams Thanks a lot. I'll try it.

Just curious why the large model is named with large-V2? Is that if I download the large model manually, I have to rename to large-V2, so as to be recognized by Buzz?


React command vision api updated with new features

Q
A

Bug fix?
no

New feature?
yes

New sample?
no

What's in this Pull Request?
This PR updates the sample with new functionality:

Now the Vision API Key is stored and retrieve using the new Tenant Properties
Image data has been modeled with some Interfaces, so code is more typed
Image analysis results are now shown with a custom Dialog component
uses some Office Fabric UI React components to improve the UI

Thx Luis, cool example and great that you are evolving this as well.


Issue

Random crashes+Can't find FPS limiter file

How come you can't find a FPS limiter file? There is only one INI file (which may be without extension for you) shipped with SPBully, so unless you grabbed correct files you should have no trouble locating it, since you just dropped it to the game's directory.


[OSCI] Adding props for shrink and basis for OuiFlexItem

Description
Props shrink and basis have been added for OuiFlexItem. Behaviour similar to grow prop. Accepted values:

shrink: true, false, null, 1..10
basis: true, false, null, 'auto', 'max-content', 'min-content', 'fit-content',

Issues Resolved
Fixes issue #776
Check List

[x] New functionality includes testing.
[x] New functionality has been documented.
[x] All tests pass

[x] yarn lint
[x] yarn test-unit

[x] Update CHANGELOG.md
[x] Commits are signed per the DCO using --signoff

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

@BSFishy @joshuarrrr,
Final updates in PR are ready, with documentation added for props shrink and basis. I would appreciate your feedback on the entire PR.
Just one thing from my side. I think it is a bit cumbersome to consider OuiFlexItem to have the properties flex-grow: 1 and flex-basis: 0%, by default. I feel that we should follow an approach like the one here in W3School, where we can explain the props grow, shrink and basis altogether in one section and also not considering a default behaviour of growing.
Not sure. Maybe the UX team have something to say here.
Regards,
Samuel

Hi @BSFishy,
I already replied to your comments for your code review. Looking forward your reply to see how I proceed.
Regards,
Samuel

@BSFishy,
Changes added as requested. My only issue would be where we should describe the default behaviours for grow, shrink and basis in the documentation.
So for grow and shrink props we will have:

if null/undefined/false/0: deactivate default behaviour for flex-grow and/or flex-shrink of ouiFlexItem -> apply class ouiFlexItem--flexGrowZero and/or ouiFlexItem--flexShrinkZero which are equivalent to flex-shrink:0 and flex-basis:auto and/or flex-shrink:0 and flex-basis:auto, respectivetely.
if true: use default component behaviour -> flex-grow: 1 and/or flex-shrink:1 and flex-basis:0%  -> inherited from styles defined in _flex_group.scss for class .ouiFlexItem (previous from my work ion this issue)
if 1-9: grow and/or shrink the component using a ratio, keeping flex-basis: 0%. For example, if two flex items with grow = 2 and grow = 3, respectively, the expected growing ratio would be proportional to those values. Sames apply when shrinking.

For basis we will have:

if null/undefined/false/0: deactivate default behaviour for flex-basis-> apply class ouiFlexItem--flexBasisAuto equivalent to flex-basis:auto.
if true: use default component behaviour -> flex-basis: 0%  -> inherited from styles defined in _flex_group.scss for class .ouiFlexItem (previous from my work ion this issue)
if auto, max-content, min-content or fit-content: apply one of those properties that will equate to flex-basis: auto, flex-basis: max-content, flex-basis: min-content or flex-basis: fit-content.

Hope this explanation above is clear.
Regards,
Samuel

@BSFishy,
Updates are ready with the last code review done from your side! Any comments, please let me know.
Regards,
Samuel

Looks great!

Hi @BSFishy,
Are we good to go with this PR? Branch recently updated with main.

Are we good to go with this PR? The branch was recently updated with main bracnh.

Just need another approval

@AMoo-Miki, @kolchfa-aws,
Sorry bothering again with this PR, but I would appreciate your feedback on the reviews Mikki sent to see what other changes you need from my side.
Regards,
Samuel

@BigSamu I made suggestions where Miki flagged the doc team. Let me know if you need any other help from me.

@BigSamu, I made suggestions where Miki flagged the doc team. Let me know if you need any other help from me.

Thanks @kolchfa-aws,
I will review this week.
@AMoo-Miki,
Any feedback from the suggestions from @kolchfa-aws  and also the questions I post on your comments?
Regards,
Samuel

@AMoo-Miki,
Have you had the chance to review the comments from @kolchfa-aws? I would appreciate your feedback for moving forward on this PR.
Regards,
Samuel


Add counter pwm input mode

[x] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?
Adds support for Counter PWM input mode.
Why should this Pull Request be merged?
To create modules which support this mode of input
What testing has been done?
Ran the vi tests locally, although those don't cover this new mode yet. I modified the 9422 locally to use the new CPI mode and that passed tests.

[ ] I'm a bit confused by naming. The existing PWM output mode is called PWM Mode, and this one is called Counter PWM Input Mode. Should the existing class be named Counter PWM Output Mode, or am I missing something?

[ ] The nested acronyms in CPI bug me a bit; I would not immediately assume that CPI was related to PWM, and it looks like it would conflict with the acronym for period measurements on specialty digital modules. I'm wondering if there's a clearer short-hand we can use.

[ ] In Convert CPI Module to Slot Configuration.vi, I'd prefer if we used the ring types rather than numeric literals. Unfortunately they aren't typedef'd, so you need to copy it, but IMO it makes the code much clearer.

@rtzoeller I named it this way because this is "Counter" mode with "PWM" measurement mode. I don't think we had a convention for this before.

@rtzoeller Updated the naming and acronyms, updated to use typedefs (controls copied from the SD Modules class).

@rdecarreau it looks like CPI is still used in the icon for Read Counter Input PWM Module.vi.

Removed CPI, good catch
Sorted Get Slot cases (@oscarfonloz take note of this)
Added controls.


Want To get embedded src url of NFT Drop Contract Programmatically.

I am using third web for deploying NFT smart contract for different users.
I want to give this embed src url to user to redirect to this nft minting page, Where any collector can come.
Is there any way to get the src url Programmatically, Have not found any function which helps to do so.
very welcome for recommendation and answers.

need third web support ->
cc - @atbe @jakeloo @joaquim-verges  @jnsdls


Getting an indexed column as a Series - doesnt work in pandas

In [5]: # Get data
   ...: data = {'a{}'.format(i): [1,2,3,4] for i in range(2)}
   ...: data.update({'b{}'.format(i): ['a', 'b ', ' c', ' d '] for i in range(2)})
   ...: df = pd.DataFrame(data)
   ...: sdf = spark.createDataFrame(df)
   ...:

In [6]: import databricks.koala

In [7]: df = df.set_index('a0')
   ...: sdf = sdf.set_index('a0')
   ...:

In [8]: sdf['a0']

a0
1    1
2    2
3    3
4    4
Name: a0, dtype: int64

In [9]: df['a0']

Getting the index as a column seems to work in spark, but fails in pandas.
I guess I'm again coming from the question - What should be expected behavior in koala ?
Is an index considered a column ? (I know internally it is a column ... but i meant from a usability perspective.) Pandas does not think so

Seems now it's pretty consistent:
>>> import pandas as pd
>>> import databricks.koalas as ks
>>> data = {'a{}'.format(i): [1,2,3,4] for i in range(2)}
>>> data.update({'b{}'.format(i): ['a', 'b ', ' c', ' d '] for i in range(2)})
>>> df = pd.DataFrame(data)
>>> kdf = ks.DataFrame(df)

>>> df = df.set_index('a0')
>>> kdf = kdf.set_index('a0')

>>> kdf['a0']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/hyukjin.kwon/workspace/forked/koalas/databricks/koalas/frame.py", line 6530, in __getitem__
    return self._pd_getitem(key)
  File "/Users/hyukjin.kwon/workspace/forked/koalas/databricks/koalas/frame.py", line 6466, in _pd_getitem
    return self._get_from_multiindex_column((key,))
  File "/Users/hyukjin.kwon/workspace/forked/koalas/databricks/koalas/frame.py", line 6424, in _get_from_multiindex_column
    raise KeyError(k)
KeyError: 'a0'

>>> df['a0']
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/pandas/core/indexes/base.py", line 2657, in get_loc
    return self._engine.get_loc(key)
  File "pandas/_libs/index.pyx", line 108, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/index.pyx", line 132, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/hashtable_class_helper.pxi", line 1601, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas/_libs/hashtable_class_helper.pxi", line 1608, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'a0'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.7/site-packages/pandas/core/frame.py", line 2927, in __getitem__
    indexer = self.columns.get_loc(key)
  File "/usr/local/lib/python3.7/site-packages/pandas/core/indexes/base.py", line 2659, in get_loc
    return self._engine.get_loc(self._maybe_cast_indexer(key))
  File "pandas/_libs/index.pyx", line 108, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/index.pyx", line 132, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/hashtable_class_helper.pxi", line 1601, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas/_libs/hashtable_class_helper.pxi", line 1608, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'a0'


Enable select to be cleared.

Thanks for a great component.
This PR allows it to be "cleared".
I'm not sure how to handle the nullable, maybe better handled by validation?
(I left the js in "dev" mode)
Cheers,
Lindsay

Thanks, that's a good idea. I'll add more functionality and docs in a second.

Hey. I improved on your PR and added some changes, the field should now work as expected when nullable. You should call ->nullable() or ->nullable(true) on the field to make it return null, as is default with Nova fields. Thanks!


Create desktop shortcuts for manually installed software

Create desktop icons in /usr/share/applications so that users/template administrators can copy them to the desktop if needed/wanted, or atleast to make them show up in the application menu.

for Cutter and Burp Suite, we can just use the .desktop files that they provide.
for Ghidra, we'll have to generate it and probably download the icon


OnTextChanged raised with empty args.Value

Please check all of the platforms you are having the issue on (if platform is not listed, it is not supported)

[x] iOS
[x] Android
[] UWP
[] PCL

Version of OS(s) listed above with issue
iOS 10.2 and Android 6.0
Version of ACR UserDialogs Library
6.3.7
Actual Behavior
Launching a PromptDialog raise a OnTextChanged
event with an empty args.Value even if Text property has been set, causing the disabling of the ok button if the empty string desn't fit the OnTextChanged validation
Expected Behaviour
OnTextChanged event is raised with the value set in the Text proerty.
Sample code
var saveDialog = new PromptConfig
            {
                Title = "Save",
                Message = "Enter filename",
                Text = "MyConfigName",
                OnTextChanged = args => args.IsValid = IsValidFileName(args.Value),
                OkText = "Save"
            };

            var result = await UserDialogs.Instance.PromptAsync(saveDialog);

private bool IsValidFileName(string filename)
        {
            bool result = true;

            if (String.IsNullOrWhiteSpace(filename))
            {
                result = false;
            }
            else if (filename.IndexOfAny(Path.GetInvalidFileNameChars()) != -1)
            {
                result = false;
            }
            return result;
        }

If you need any more information, please let me know

This is actually by design.  I fire it to see if you want to disable the ok button from the start

Thanks for your quick response.
But shouldn't it be fired with the current value in the "Text" property instead of an empty string?
In my opinion if it is supposed  to be like that, it makes more sense that also another event is raised with the default value set in the property.


Error: Command failed: powershell.exe

root> npx expose-wsl@latest
Need to install the following packages:
<EMAIL_ADDRESS>Ok to proceed? (y) y
                                                   _
   _____  ___ __   ___  ___  ___     __      _____| |
  / _ \ \/ / '_ \ / _ \/ __|/ _ \____\ \ /\ / / __| |
 |  __/>  <| |_) | (_) \__ \  __/_____\ V  V /\__ \ |
  \___/_/\_\ .__/ \___/|___/\___|      \_/\_/ |___/_|
           |_|

⏳ Downloading WSLHostPatcher... extracting... running... done ✔
🎉 WSL should be accessible at: 'Select-Object' is not recognized as an internal or external command,
operable program or batch file.
failed to run ❌
🔥 Please report this issue at https://github.com/icflorescu/expose-wsl/issues
Error: Command failed: powershell.exe 'Get-NetIPAddress -AddressFamily IPv4 -InterfaceIndex $(Get-NetConnectionProfile | Select-Object -ExpandProperty InterfaceIndex) | Select-Object -ExpandProperty IPAddress'
    at checkExecSyncError (node:child_process:887:11)
    at execSync (node:child_process:959:15)
    at file:///C:/Users/ahmetcetinkaya/AppData/Local/npm-cache/_npx/0e95d415fb20f5d8/node_modules/expose-wsl/run.js:43:3 {
  status: 255,
  signal: null,
  output: [ null, null, null ],
  pid: 11448,
  stdout: null,
  stderr: null
}

But the command works when in terminal.
root> powershell.exe 'Get-NetIPAddress -AddressFamily IPv4 -InterfaceIndex $(Get-NetConnectionProfile | Select-Object -ExpandProperty InterfaceIndex) | Select-Object -ExpandProperty IPAddress'
<IP_ADDRESS>

Simply put.

No installation required. Simply run the following command in your WSL terminal before starting your applications:

It seems you are doing that in windows rather than wsl.

I also tried it in WSL terminal:
root@ahmetcetinkaya-wsl:~# neofetch
       _,met$$$$$gg.          root@ahmetcetinkaya-wsl
    ,g$$$$$$$$$$$$$$$P.       -----------------------
  ,g$$P"     """Y$$.".        OS: Debian GNU/Linux 11 (bullseye) on Windows 10 x86_64
 ,$$P'              `$$$.     Kernel: <IP_ADDRESS>-microsoft-standard-WSL2
',$$P       ,ggs.     `$$b:   Uptime: 2 mins
`d$$'     ,$P"'   .    $$$    Packages: 889 (dpkg)
 $$P      d$'     ,    $$P    Shell: sh
 $$:      $$.   -    ,d$$'    CPU: Intel i7-1065G7 (8) @ 1.497GHz
 $$;      Y$b._   _,d$P'      Memory: 968MiB / 18995MiB
 Y$$.    `.`"Y$$$$P"'
 `$$b      "-.__
  `Y$$
   `Y$$.
     `$$b.
       `Y$$b.
          `"Y$b._
              `"""

root@ahmetcetinkaya-wsl:~# node -v
v20.8.1
root@ahmetcetinkaya-wsl:~# npm -v
10.2.1
root@ahmetcetinkaya-wsl:~# npx expose-wsl@latest
Need to install the following packages:
<EMAIL_ADDRESS>Ok to proceed? (y) y
                                                   _
   _____  ___ __   ___  ___  ___     __      _____| |
  / _ \ \/ / '_ \ / _ \/ __|/ _ \____\ \ /\ / / __| |
 |  __/>  <| |_) | (_) \__ \  __/_____\ V  V /\__ \ |
  \___/_/\_\ .__/ \___/|___/\___|      \_/\_/ |___/_|
           |_|

⏳ Downloading WSLHostPatcher... extracting... running... done ✔
🎉 WSL should be accessible at: /bin/sh: 1: powershell.exe: not found
failed to run ❌
🔥 Please report this issue at https://github.com/icflorescu/expose-wsl/issues
Error: Command failed: powershell.exe 'Get-NetIPAddress -AddressFamily IPv4 -InterfaceIndex $(Get-NetConnectionProfile | Select-Object -ExpandProperty InterfaceIndex) | Select-Object -ExpandProperty IPAddress'
    at checkExecSyncError (node:child_process:890:11)
    at execSync (node:child_process:962:15)
    at file:///root/.npm/_npx/0e95d415fb20f5d8/node_modules/expose-wsl/run.js:43:3 {
  status: 127,
  signal: null,
  output: [ null, null, null ],
  pid: 1425,
  stdout: null,
  stderr: null
}
root@ahmetcetinkaya-wsl:~#

Since it was trying to use Powershell, I give an example from Windows while preparing the issue.

Oh, I see. In this case, the wsl host patcher actually worked, but the powershell.exe windows executable couldn't be called to determine the external IP address, so you'll have to find it yourself...

so you'll have to find it yourself...

Can I find it with the following command?
ip addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'

root@ahmetcetinkaya-wsl:~# npx expose-wsl@latest
Need to install the following packages:
<EMAIL_ADDRESS>Ok to proceed? (y) y
                                                   _
   _____  ___ __   ___  ___  ___     __      _____| |
  / _ \ \/ / '_ \ / _ \/ __|/ _ \____\ \ /\ / / __| |
 |  __/>  <| |_) | (_) \__ \  __/_____\ V  V /\__ \ |
  \___/_/\_\ .__/ \___/|___/\___|      \_/\_/ |___/_|
           |_|

⏳ Downloading WSLHostPatcher... extracting... running... done ✔
🎉 WSL should be accessible at: /bin/sh: 1: powershell.exe: not found
💡 The patcher worked, but powershell.exe could not be called to determine the IP address of the WSL interface; you'll have to figure it out yourself.
💡 Make sure to restart your server application(s) before trying to access them!
root@ahmetcetinkaya-wsl:~# ip addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'
<IP_ADDRESS>

After running the above command, the output shows the IP address as <IP_ADDRESS>.
I can access the application using the <IP_ADDRESS> address on the same device. However, I am unable to access the application using the same address on my mobile phone, even though it is on the same network.
I have also tried adding a netsh interface and using the <IP_ADDRESS> address, but the issue remains:
netsh interface portproxy add v4tov4 listenport=80 listenaddress=<IP_ADDRESS> connectport=80 connectaddress=<IP_ADDRESS>

Mine works well at installation stage.
Yet it did not work to expose my wsl service listening at <IP_ADDRESS> et idk why...
🤔
After some research, I make it through running a frp C/S on linux/win after a simple configuration.

FWIW:
In frpc.ini on Linux
[common]
server_addr = "{{ .Envs.HOSTIP_WIN }}"
server_port = 7000

; [fxxk_nat]
; type = https
; custom_domains = "localhost"

; plugin = https2https
; plugin_local_addr = https://<IP_ADDRESS>:5173

[range:fuck_nat]
type = tcp
local_ip = <IP_ADDRESS>
local_port = 5173-5175
remote_port = 5173-5175
It's fine to run a frp service, but managing frpc config manually could be messy.
Maybe this script can be leveraged with frp? :-|


Not finding eny pokestops

it says "we are not finding eny pokestops near"
what to do

See #2540

as @ji3g4m6zo6 said #2540 should clearify the situation please close the issue so we can get #2540 to the top as it is the only relevant issue


Fix Free Workspace transitions, add Admin badge to all admins

Fixed Issues
$ https://github.com/Expensify/Expensify/issues/233026
PROPOSAL: N/A
Tests
Must be tested with https://github.com/Expensify/Web-Expensify/pull/35133

On OldDot, set up an approved accountant and 121 https://stackoverflow.com/c/expensify/questions/337 https://stackoverflow.com/c/expensify/questions/14339

As the Approved accountant, navigate to Policies -> Group -> New Policy

Enable Create for another account and fill out the form

Select the free plan

Verify you are brought in a new tab to the new workspace in newdot

Verify the members are a guide, the account you selected, and yourself, and all 3 are admins

For each platform, sign into the new account, and verify you see the admin badge next to all three members

[x] Verify that no new errors appear in the JS console (The 'isRequired' is required is an existing error in main)

PR Review Checklist
PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

PR Reviewer Checklist
The reviewer will copy/paste it into a new comment and complete it after the author checklist is completed

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

QA Steps

On a new account on the gmail domain, create a new Workspace

Verify you are given an assigned guide in the Workspace

Verify the guide is shown as an admin

On each platform, sign in as the same user, and verify the guide is shown as an admin on each

[ ] Verify that no new errors appear in the JS console (The 'isRequired' is required is an existing error in main)

Screenshots
Web

Mobile Web - Chrome

#### Mobile Web - Safari

Desktop

iOS

Android

Hm so the step 5 of the test worked at first, but then after a few seconds the I got a "It's not here" error....

Trying to reproduce with a new workspace now to see why it happens.

Trying again now, it works in that I have access to the workspace chat, but the right hand panel automatically switches to "it's not there" after ~1 second (I imagine an onyx update pushed from the backend, but I can't tell which one from the logs)
https://user-images.githubusercontent.com/2229301/195446804-6dc376a9-5602-4f8c-80eb-f1b6b915fdfe.mov

Just to confirm @francoisl you have the latest version of the linked Web PR running locally? https://github.com/Expensify/Web-Expensify/pull/35133

Yes

Discussed in slack, but it works after making a new guide account. I guess something was messed up with the existing one I had?

Yeah, thats very strange. Are you sure there wasnt a typo in the email that would make it the wrong domain before? Not sure what else that could be

This was passing travis 😅
Merged with self approval https://expensify.slack.com/archives/C042KQL7963/p1665610912585159?thread_ts=1665596202.592759&cid=C042KQL7963

🚀 Cherry-picked to staging by @alex-mechler in version: 1.2.13-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @yuwenmemon in version: 1.2.13-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Cherry-picked to staging by https://github.com/AndrewGable in version: 1.3.28-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Attributions list view doesn't show unapproved unless pi

If I add a funding source, and add a PI that isn't myself, the attribution doesn't show up in my list of attributions, but does show up in the attributions available in the project creation form.
I think attributions pending approval should probably be shown in the attribution list view, labelled as pending.

I'm sure we've already discussed this? I'm sure I remember backburnering the "pending approval" idea.

I think you might be right.


feat: add redis adapter

Adding this for review. I've tested this locally and it seems to work just fine. Ultimately I'd like to add some integration tests here, as it has none, similar to the nodefs storage adapter.
For that to work, I was considering leveraging a test container but that would require an update to our test github action (to install docker).
I meant to open this PR earlier but thought I'd get a conversation started :)

This looks good to me, but the only reason we know the existing adapters work is because we are using them in production!
As you mention, there aren't any specific tests for any of the Storage Adapters, and it would in indeed be good to have a standard set for all of them.
Without being in a position to test it myself, I am loathe to merge just yet. I imagine this will be something people are looking for though.

I think as the system matures we ought to start putting the storage & network adapters in their own repos (though then we lose automated test integration... hmm) but this is definitely something I've wanted to see for a while so thanks for sharing it!

@pvh hello,
Your phrase: "though then we lose automated test integration... hmm" reminded me the Promises/A+ Compliance Test Suite. What do you think of the idea of developing a set of tests that could be used to test any implementation of the StorageAdapterInterface?

Sounds great if it can be kept simple. I think the tricky part here is operational complexity -- for things like nodefs & indexeddb there are easily available implementations but for Redis, Postgres, or other backends, we'll need to have the ability to spin up the service at runtime. For SaaS-only backends (say, S3) there's yet more complexity.
That said, I'm quite interested in a solution. I think @HerbCaudill was the one who designed the system we use to test the network adapters and as we grow beyond a monorepo, I think something along the lines you propose could be valuable.

@kid-i

@kid-icarus How do you feel about hosting this as a standalone package at /automerge/automerge-repo-storage-redis/?
I think my intuition is that adapters which rely on things not found in most browsers / OS should have their own repo and then whatever CI we set up can be independent.

@pvh
I'd like to share that I created an SQLite storage adapter for JS/TS projects: https://github.com/bijela-gora/automerge-repo-storage-better-sqlite3
I created it because I'm going to use it in my pet project.
Thank you for the awesome Automerge project!

@kid-icarus How do you feel about hosting this as a standalone package at /automerge/automerge-repo-storage-redis/?
I think my intuition is that adapters which rely on things not found in most browsers / OS should have their own repo and then whatever CI we set up can be independent.

That makes sense from a principled perspective 👍🏻
One pro of a separate repo is more control over CI, being able to throw whatever external dependencies into a Dockerfile, etc. Another pro is that if there are breaking changes in automerge(-repo), namely the types in this specific case, the burden isn't placed on the core team to update the adapter in the monorepo.
One con would be extra care to specify automerge and automerge-repo as a combination of dev and peer dependencies, so that adapter consumers aren't using duplicate, potentially incompatible versions of them. This also means that as newer versions of automerge(-repo) are released, we'll need to bump those dev dependencies. Dependabot can help with that, but it's just the general con of something living in a monorepo vs an external repo.


Is there any way to use"split" parameter in function "Conv2D" in parallel?

Usage Questions:
I wanna use the "split" parameter in function "Conv2D" to split channels and make a multi-branch process. In my view processing it in parallel should be viable and time-efficient. However I found that source code of this part in fact use a "for" circulation, i.e. a serial way. Is there any way to process it in parallel ?

It won't necessarily run in serial. It's allowed to run in parallel and tensorflow runtime engine will decide what to do.
You can write whatever model implementation with tensorflow. Conv2D is just a simple wrapper over a common layer, you can and should write your own layer if you need more than what's commonly used.

Thanks for your reply. I think I really need further looking into the framework of tensorflow and make better use of it to meet my requests.


Prime snowex v2

@micahjohnson150 let's run through this next week. This is a lot of the work around column mapping, but also getting the ProfileCollection working on a full file. There are a couple pieces I'm not sure are as clear as they could be, but it works well!
There are decent tests so we can walk through what is happening to the data

Okay @micahjohnson150 these changes are tested and working and all the other good stuff code can do/be


Check size of /data1 during WMA deployment

Just to avoid the annoying question even when /data1 is quite small.

Already tested, so I'm merging it.


Doc update for CDINotReady runbook

Changed the runbook to comply with the updated guidelines for script conversion.
Signed-off-by: davozeni<EMAIL_ADDRESS>

@sradco LGTM

@sradco LGTM


Any solution for mapping model to React interface

I think you has already though about this.
Have you any concept or solution yet , I am thinking some kinds likes generate React form component from Django model

Yes, that would be the ultimate goal. It would require a lot more work though, and there will be scores of corner-case components: I just used a modal-view for uploading files for example, which would be very difficult to write a generator for.

Sound would take time to implement.
At my urgent case, I think the light way is building separate UI for customize form then send via django rest API. What do you think ?

Sure. Feel free to go ahead :)

would good ref https://github.com/jrief/django-angular


Lick sensor LED is triggering during the session

We recently noticed that the LED was lighting up while the session is running. IT is possible something changed with the latest firmware update, it wasn't noticed before.

@Poofjunior Is the OPLEDEN flag implemented? Is it just a matter of sending the correct command via R_OPERATION_CTRL?

Importantly, the  VISUALEN is the one that we need to set at start logging time

Fixed via b6065c0ab545bca4600e2aeb232b0348265b249a


pkg/certsigner/signer: Add "client" usage to server profile

Avoid issues like:
WARNING: 2018/05/29 11:17:10 Failed to dial <IP_ADDRESS>:2379: connection error: desc = "transport: authentication handshake failed: remote error: tls: bad certificate"; please retry.

In the discussion there, the issue seems to be that etcd 3.2 started requiring the client usage for the server cert, which is (for some reason) used when connecting to the gRPC gateway (although I haven't been able to find the etcd code backing that up).
CC @praveenkumar, who saw this issue here.

I tested this PR and I can't now see the bad: certificate error during the stop => start of the cluster.
Current state
[root@test1-master-0 core]# crictl logs c6ad91a6e6b2d
2018-12-05 05:26:24.658772 I | pkg/flags: recognized and used environment variable ETCD_DATA_DIR=/var/lib/etcd
2018-12-05 05:26:24.659785 I | pkg/flags: recognized and used environment variable ETCD_NAME=etcd-member-test1-master-0
2018-12-05 05:26:24.659841 I | etcdmain: etcd Version: 3.2.14
2018-12-05 05:26:24.659846 I | etcdmain: Git SHA: fb5cd6f1c
2018-12-05 05:26:24.659850 I | etcdmain: Go Version: go1.8.5
2018-12-05 05:26:24.659853 I | etcdmain: Go OS/Arch: linux/amd64
2018-12-05 05:26:24.659857 I | etcdmain: setting maximum number of CPUs to 2, total number of available CPUs is 2
2018-12-05 05:26:24.660055 N | etcdmain: the server is already initialized as member before, starting as etcd member...
2018-12-05 05:26:24.660091 I | embed: peerTLS: cert = /etc/ssl/etcd/system:etcd-peer:test1-etcd-0.tt.testing.crt, key = /etc/ssl/etcd/system:etcd-peer:test1-etcd-0.tt.testing.key, ca = , trusted-ca = /etc/ssl/etcd/ca.crt, client-cert-auth = true
2018-12-05 05:26:24.662353 I | embed: listening for peers on https://<IP_ADDRESS>:2380
2018-12-05 05:26:24.662470 I | embed: listening for client requests on <IP_ADDRESS>:2379
2018-12-05 05:26:24.801427 I | etcdserver: name = etcd-member-test1-master-0
2018-12-05 05:26:24.801458 I | etcdserver: data dir = /var/lib/etcd
2018-12-05 05:26:24.801465 I | etcdserver: member dir = /var/lib/etcd/member
2018-12-05 05:26:24.801469 I | etcdserver: heartbeat = 100ms
2018-12-05 05:26:24.801472 I | etcdserver: election = 1000ms
2018-12-05 05:26:24.801476 I | etcdserver: snapshot count = 100000
2018-12-05 05:26:24.801487 I | etcdserver: advertise client URLs = https://<IP_ADDRESS>:2379
2018-12-05 05:26:25.044835 I | etcdserver: restarting member 7d3fdaaceb134d3d in cluster d98ef57fc5131193 at commit index 15764
2018-12-05 05:26:25.048030 I | raft: 7d3fdaaceb134d3d became follower at term 2
2018-12-05 05:26:25.048142 I | raft: newRaft 7d3fdaaceb134d3d [peers: [], term: 2, commit: 15764, applied: 0, lastindex: 15764, lastterm: 2]
2018-12-05 05:26:25.095331 W | auth: simple token is not cryptographically signed
2018-12-05 05:26:25.102974 I | etcdserver: starting server... [version: 3.2.14, cluster version: to_be_decided]
2018-12-05 05:26:25.114419 I | etcdserver/membership: added member 7d3fdaaceb134d3d [https://test1-etcd-0.tt.testing:2380] to cluster d98ef57fc5131193
2018-12-05 05:26:25.114542 N | etcdserver/membership: set the initial cluster version to 3.2
2018-12-05 05:26:25.114619 I | etcdserver/api: enabled capabilities for version 3.2
2018-12-05 05:26:25.115735 I | embed: ClientTLS: cert = /etc/ssl/etcd/system:etcd-server:test1-etcd-0.tt.testing.crt, key = /etc/ssl/etcd/system:etcd-server:test1-etcd-0.tt.testing.key, ca = , trusted-ca = /etc/ssl/etcd/ca.crt, client-cert-auth = true
2018-12-05 05:26:25.649011 I | raft: 7d3fdaaceb134d3d is starting a new election at term 2
2018-12-05 05:26:25.649294 I | raft: 7d3fdaaceb134d3d became candidate at term 3
2018-12-05 05:26:25.649453 I | raft: 7d3fdaaceb134d3d received MsgVoteResp from 7d3fdaaceb134d3d at term 3
2018-12-05 05:26:25.649690 I | raft: 7d3fdaaceb134d3d became leader at term 3
2018-12-05 05:26:25.649856 I | raft: raft.node: 7d3fdaaceb134d3d elected leader 7d3fdaaceb134d3d at term 3
2018-12-05 05:26:25.653658 I | etcdserver: published {Name:etcd-member-test1-master-0 ClientURLs:[https://<IP_ADDRESS>:2379]} to cluster d98ef57fc5131193
2018-12-05 05:26:25.654254 I | embed: ready to serve client requests
2018-12-05 05:26:25.662969 I | embed: serving client requests on [::]:2379
WARNING: 2018/12/05 05:26:25 Failed to dial <IP_ADDRESS>:2379: connection error: desc = "transport: authentication handshake failed: remote error: tls: bad certificate"; please retry.

After this PR
[root@test1-master-0 core]# crictl logs a57da8e6404b8 => etcd-member container
2018-12-07 05:10:13.016237 I | pkg/flags: recognized and used environment variable ETCD_DATA_DIR=/var/lib/etcd
2018-12-07 05:10:13.016972 I | pkg/flags: recognized and used environment variable ETCD_NAME=etcd-member-test1-master-0
2018-12-07 05:10:13.017089 I | etcdmain: etcd Version: 3.2.14
2018-12-07 05:10:13.017135 I | etcdmain: Git SHA: fb5cd6f1c
2018-12-07 05:10:13.017174 I | etcdmain: Go Version: go1.8.5
2018-12-07 05:10:13.017211 I | etcdmain: Go OS/Arch: linux/amd64
2018-12-07 05:10:13.017248 I | etcdmain: setting maximum number of CPUs to 4, total number of available CPUs is 4
2018-12-07 05:10:13.017467 N | etcdmain: the server is already initialized as member before, starting as etcd member...
2018-12-07 05:10:13.017537 I | embed: peerTLS: cert = /etc/ssl/etcd/system:etcd-peer:test1-etcd-0.tt.testing.crt, key = /etc/ssl/etcd/system:etcd-peer:test1-etcd-0.tt.testing.key, ca = , trusted-ca = /etc/ssl/etcd/ca.crt, client-cert-auth = true
2018-12-07 05:10:13.019754 I | embed: listening for peers on https://<IP_ADDRESS>:2380
2018-12-07 05:10:13.020004 I | embed: listening for client requests on <IP_ADDRESS>:2379
2018-12-07 05:10:13.184095 I | etcdserver: name = etcd-member-test1-master-0
2018-12-07 05:10:13.184199 I | etcdserver: data dir = /var/lib/etcd
2018-12-07 05:10:13.184244 I | etcdserver: member dir = /var/lib/etcd/member
2018-12-07 05:10:13.184291 I | etcdserver: heartbeat = 100ms
2018-12-07 05:10:13.184322 I | etcdserver: election = 1000ms
2018-12-07 05:10:13.184353 I | etcdserver: snapshot count = 100000
2018-12-07 05:10:13.184401 I | etcdserver: advertise client URLs = https://<IP_ADDRESS>:2379
2018-12-07 05:10:13.550212 I | etcdserver: restarting member 7d3fdaaceb134d3d in cluster d98ef57fc5131193 at commit index 27829
2018-12-07 05:10:13.559404 I | raft: 7d3fdaaceb134d3d became follower at term 2
2018-12-07 05:10:13.559446 I | raft: newRaft 7d3fdaaceb134d3d [peers: [], term: 2, commit: 27829, applied: 0, lastindex: 27829, lastterm: 2]
2018-12-07 05:10:13.568038 I | mvcc: restore compact to 21992
2018-12-07 05:10:13.591724 W | auth: simple token is not cryptographically signed
2018-12-07 05:10:13.600503 I | etcdserver: starting server... [version: 3.2.14, cluster version: to_be_decided]
2018-12-07 05:10:13.611537 I | etcdserver/membership: added member 7d3fdaaceb134d3d [https://test1-etcd-0.tt.testing:2380] to cluster d98ef57fc5131193
2018-12-07 05:10:13.611907 N | etcdserver/membership: set the initial cluster version to 3.2
2018-12-07 05:10:13.611950 I | embed: ClientTLS: cert = /etc/ssl/etcd/system:etcd-server:test1-etcd-0.tt.testing.crt, key = /etc/ssl/etcd/system:etcd-server:test1-etcd-0.tt.testing.key, ca = , trusted-ca = /etc/ssl/etcd/ca.crt, client-cert-auth = true
2018-12-07 05:10:13.611984 I | etcdserver/api: enabled capabilities for version 3.2
2018-12-07 05:10:13.760873 I | raft: 7d3fdaaceb134d3d is starting a new election at term 2
2018-12-07 05:10:13.761034 I | raft: 7d3fdaaceb134d3d became candidate at term 3
2018-12-07 05:10:13.761223 I | raft: 7d3fdaaceb134d3d received MsgVoteResp from 7d3fdaaceb134d3d at term 3
2018-12-07 05:10:13.761340 I | raft: 7d3fdaaceb134d3d became leader at term 3
2018-12-07 05:10:13.761462 I | raft: raft.node: 7d3fdaaceb134d3d elected leader 7d3fdaaceb134d3d at term 3
2018-12-07 05:10:13.762732 I | etcdserver: published {Name:etcd-member-test1-master-0 ClientURLs:[https://<IP_ADDRESS>:2379]} to cluster d98ef57fc5131193
2018-12-07 05:10:13.763099 I | embed: ready to serve client requests
2018-12-07 05:10:13.772033 I | embed: serving client requests on [::]:2379

@wking Wondering why this PR is not getting merged? IMO it should be merged asap as it fixes the crucial cert issue in libvirt.


SEO

[ ] Canonicalization (see https://datacamp.slack.com/archives/product-rdocs/p1468931635000055)
[ ] Add meta tags
[ ] Add structured data tags (https://schema.org/SoftwareApplication)
[ ] Use 301 instead of 302 redirect in /link/

@ludov04 I would coordinate this with @martijnsublime

@martijnsublime do you see anything else that can be improved for SEO ?

@ludov04 no not at the moment


feat: LEAP-355: Make relations work with TimeTraveler monorepo

Hi @Gondragos!
This PR was created in a response to PRs in upstream repos:

https://github.com/HumanSignal/label-studio-frontend/pull/1636

closing this as monorepo was merged to develop branch


I can't use ConvLayers in deepqlearn.js

There is a problem with this line: https://github.com/karpathy/convnetjs/blob/4c3358a315b4d71f31a0d532eb5d1700e9e592ee/build/deepqlearn.js#L142
the shape of the input vector is basically hardcoded here when given to the network's forward function. Which  makes it all break apart in line https://github.com/karpathy/convnetjs/blob/4c3358a315b4d71f31a0d532eb5d1700e9e592ee/src/convnet_layers_dotproducts.js#L67
Where we try to check for existence of those dimensions.

My current workaround is to do this:
const width = 5;
deepqlearn.Brain.prototype.policy = function(s) {
  var svol = new convnetjs.Vol(width, brain.net_inputs / width, 1);
  svol.w = s;
  var action_values = this.value_net.forward(svol);
  var maxk = 0;
  var maxval = action_values.w[0];
  for(var k=1;k<this.num_actions;k++) {
    if(action_values.w[k] > maxval) { maxk = k; maxval = action_values.w[k]; }
  }
  return {action:maxk, value:maxval};
};


add nth3

Codecov Report

Merging #142 (943f1db) into main (92077a5) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #142   +/-   ##
=======================================
  Coverage   92.19%   92.19%
=======================================
  Files          18       18
  Lines        5126     5126
=======================================
  Hits         4726     4726
  Misses        349      349
  Partials       51       51

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 92077a5...943f1db. Read the comment docs.


Allow taxon photos to be locked

Closes #2396. Also improves and ahem lightly censors some Wikimedia Commons search results to filter out some content that would not comply with our Community Guidelines.

Though with the current logic in the controller, this isn't strictly necessary, it would provide some defense since Taxa accepts_nested_attributes_for :taxon_photos.
What about a validation something like:
def cannot_edit_locked_photos
  return unless taxon_photos_changed?
  return unless photos_locked?
  return if current_user.is_admin?
  errors.add(:taxon_photos, t('Message'))
end

(I didn't test any of this, so it may be off, just a thought)

Re: the cannot_edit_locked_photos  validation, I thought about a model-level validation, but ultimately decided against it because, on the whole, models aren't aware of the current_user, and I'm not sure they should be. Generally I feel like the current_user is a part of the session, and that's the controller's responsibility. Maybe if we stored the person who made the last edit in the db (e.g. an updater relationship or something) then it would be the model's concern, but that seemed like overkill for this minor feature.
We've certainly done things like attr_accessor :current_user in the Taxon model and elsewhere, but I've never felt great about it.


Parse5 converts html entities in attributes

The current parse5 html parser converts html entity codes &#xxx inside attributes with the Utf8 equivalent. This is indeed compliant with the specs but we should avoid it.
[icon]="'&#333'"

We have to modify our fork in order to skip this behavior with a flag.

Fixed in https://github.com/StarpTech/prettyhtml/releases/tag/v0.0.37