Adding helpers for attachments

Added helpers to access attachments, namely:
image_attachment?, file_attachment?, location_attachment? , audio_attachment?, video_attachment?, fallback_attachment? - to check the type of attachment.
attachment_type - to get the type of attachment present, eg 'file' or 'audio'
attachment_url - to get the url of the attachment present
location_coordinates  - to get the lat and long coordinates if the attachment type is location
@jgorset please advise on how to add tests for location_coordinates method. Do I need to create a new payload in the spec, because and image_attachment and location attachment won't be coming together in response.

Nice, @manojmj92! And yes, I'd create a new dummy payload with each type of attachment to test it.

@jgorset Added specs for different attachment types. Please take a look.

Thanks @manojmj92!


Protects documentation service against potential null pointer exception

Description
In the latest production logs of the application, we could see NPE.
Caused by: java.lang.NullPointerException: null
	at java.base/java.util.Objects.requireNonNull(Unknown Source) ~[na:na]
	at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Unknown Source) ~[na:na]
	at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(Unknown Source) ~[na:na]
	at java.base/java.util.Iterator.forEachRemaining(Unknown Source) ~[na:na]
	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[na:na]
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline.collect(Unknown Source) ~[na:na]
	at io.jenkins.pluginhealth.scoring.service.PluginDocumentationService.fetchPluginDocumentationUrl(PluginDocumentationService.java:57) ~[app/:na]

So closest to the application code was linked to https://github.com/jenkins-infra/plugin-health-scoring/blob/8c59f974ddd1ddd2acacf005b28bb5935a0e6923/war/src/main/java/io/jenkins/pluginhealth/scoring/service/PluginDocumentationService.java#L57
The root problems seemed to be https://github.com/openjdk/jdk/blob/fb4098ff1a7cca5ec42600f9ab753681961bb1ad/src/java.base/share/classes/java/util/stream/Collectors.java#L180.
So, we could believe that in the map, some plugins link is null. Here I'm trying to protect the application against that.
However, this couldn't be reproduced locally so it is all hypothetical.

Testing done
Nothing as I couldn't reproduce the problem locally.

### Submitter checklist
- [ ] If an issue exists, it is well described and linked in the description
- [x] The description of this pull request is detailed and explain why this pull request is needed
- [x] The changeset is on a specific branch. Using `feature/` for new feature, or improvements ; Using `fix/` for bug fixes ; Using `docs/` for any documentation changes.
- [ ] If required, the documentation has been updated
- [x] There is automated tests to cover the code change / addition or an explanation why there is no tests in the description.

I found out that the documentation url for zdevops plugin is null. So, for this plugin, the e.getValue().url() return null, which is not permitted by the uniqKeysMapAccumulator method of Collectors.
I'm adding a test to this pull request.

My concern in the last message will be addressed by #386.


HDDS-10872. Rewrite single key via CLI

What changes were proposed in this pull request?
Allow rewriting a key via CLI:

with new content via ozone sh key put --expectedGeneration ... command.  Generation value needs to be supplied manually.
with existing content via ozone sh key rewrite command.  Generation is used from current version of the key.  Replication can be specified via usual options.  If omitted, replication is toggled between RATIS/3 and EC/3,2 (this is intended as a temporary behavior for easier testing.)

https://issues.apache.org/jira/browse/HDDS-10872
How was this patch tested?
$ ozone sh volume create /vol1
$ ozone sh bucket create --layout OBJECT_STORE /vol1/obs
$ k=/vol1/obs/key
$ ozone sh key put $k share/ozone/lib/rocksdbjni-7.7.3.jar

$ ozone sh key put --expectedGeneration 555 $k share/ozone/lib/rocksdbjni-7.7.3.jar
KEY_NOT_FOUND Generation mismatch during expected rewrite

$ ozone sh key put --expectedGeneration $(ozone sh key info $k | jq -r '.generation') $k /etc/passwd
$ ozone sh key info $k | jq -r '.generation'
15

$ ozone sh key put --expectedGeneration $(ozone sh key info $k | jq -r '.generation') $k share/ozone/lib/rocksdbjni-7.7.3.jar
$ ozone sh key info $k | jq -r '.generation'
21

$ ozone sh key put --expectedGeneration $(ozone sh key info $k | jq -r '.generation') $k /etc/passwd
$ ozone sh key info $k | jq -r '.generation'
25

$ ozone sh key rewrite $k
$ ozone sh key info $k | jq -r '.generation'
29

$ ozone sh key rewrite $k
$ ozone sh key info $k | jq -r '.generation'
33

$ ozone sh key rewrite --type EC --replication rs-3-2-1024k $k
$ ozone sh key rewrite --type EC --replication rs-3-2-1024k $k
Replication unchanged: EC{rs-3-2-1024k}

$ ozone sh key put --expectedGeneration 555 /vol1/obs/no-such-key share/ozone/lib/rocksdbjni-7.7.3.jar
KEY_NOT_FOUND Key not found during expected rewrite

Thanks @sodonnel for the review.


Global normalmaps and shaders kill switches

It would be nice to have an option that's capable of turning off shaders and normalmaps on every node that has those assigned. This would allow for better graphics control in games and let people with older PCs to get a performance boost without much trouble of going through all the objects in GDscript and checking them for normalmaps/shaders by yourself.

The issue opener deleted their account. I'll close this for now. If this feature is still desired we can open it again.


⚠ Samsung has degraded performance

In b3cd042, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2862 ms

Resolved: Samsung performance has improved in 6b1e17b.


implement add_undirected_edges

Implementing the add_undirected_edges to makes all edges of the given graph bi-directional.

@googlebot I signed it!

Hi, @laifi, thanks for the PR.
I'm a bit confused by this change, as the add_undirected_edges() function is already implemented (see here). You can also see a unit test of the function demonstrating that it works here).
Is there something about the current implementation you find lacking or that you were trying to fix?
Thanks,
Allan

@aheydon-google Sorry , I was going through the code source and I found this function I got confused with the inner function all_graph_edges( )  so I thought the undirected graphs still not supported but it seems good with the current implementation.
Actually, I'm really interested in this framework and I would like to be part of it , If you have already defined roadmap or some functionalities still not implemented I could help.
You can close this PR , Thanks :)

Okay, thanks for getting back to me! - Allan


Possibility for pass position in toast.custom()

Hi, There is a possibility to pass the position of toast through toast.custom.
toast.custom(
  (t) => (

Hello world

  ),
  {
      ...
      position: top-center, // top-left, top-center, top-right, bottom-left, bottom-center, bottom-right
  }
);

We won't be suporting multiple positions at once unfortunately.

We won't be suporting multiple positions at once unfortunately.

Can this be considered as a new feature? I think I will find it very useful, especially when I'm using functional calls to display toast messages。like
      if (data?.code === 200) {
        toast.error(`status：${data?.code}`, {
          description: data.message,
          position: "top-center"
        })
        return data.data
      }


Enums that are in an input type are not correctly generated.

If someone has this limitation there is a workaround:
Pretty I sure hadthe same issue. You can work around by specifying the Enum Type directly in a query.
query ForceGeneration($enumType: EnumType) {
  servers(where: { enum: $enumType}) {
     active
  }
}


SHADE and FILL plots wrong when long time axis in units of seconds

Reported by @AnsleyManke on 3 May 2010 22:11 UTC
This bug is present in all available versions of Ferret.
Coordinates are passed to PPLUS 2D plot commands in single-precision arrays. It seems that when the units of the axis is seconds, the numbers can have too many digits and somewhere a loss of precision is causing the colors to be drawn in the wrong location wrt the time axis.
Prompted by this email,
http://www.pmel.noaa.gov/maillists/tmap/ferret_users/fu_2010/msg00272.html
But here is a simple example constructed with axes defined in Ferret.
! Define an axis with timesteps of 1 minute,
! units of seconds, with origin in 1970.
! Define a 2D variable using this axis.

yes? define axis/t=1-feb-2010:3-feb-2010:3600/\\
units=seconds/t0=1-jan-1970 tsec1970
yes? define axis/z=1:100:5/depth zaxis
yes? let ztvar1970 = L[gt=tsec1970] *z[gz=zaxis]

! The color boxes drawn on the plot are shifted over by several hours.
yes? set view upper
yes? shade ztvar1970

! Now define an axis whose time origin is
! in the same year as the data.

yes? define axis/t=1-feb-2010:3-feb-2010:3600/\\
units=seconds/t0=1-jan-2010  tsec2010
yes? let ztvar2010 = L[gt=tsec2010] + 100*z[gz=zaxis]

! The plot is correct.
yes? set view lower
yes? shade ztvar2010

yes? frame/file=time_seconds.gif

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

Comment by ansley.b.manke on 3 May 2010 22:14 UTC
Here is the example script, with formatting...
! Define an axis with timesteps of 1 minute,
! units of seconds, with origin in 1970.
! Define a 2D variable using this axis.

yes? define axis/t=1-feb-2010:3-feb-2010:3600/\\
 units=seconds/t0=1-jan-1970 tsec1970
yes? define axis/z=1:100:5/depth zaxis
yes? let ztvar1970 = L[*z[gz=zaxis](gt=tsec1970])

! The color boxes drawn on the plot are shifted
! over by several hours.
yes? set view upper yes? shade ztvar1970

! Now define an axis whose time origin is
! in the same year as the data.

yes? define axis/t=1-feb-2010:3-feb-2010:3600/\\
units=seconds/t0=1-jan-2010 tsec2010
yes? let ztvar2010 = L[+ 100*z[gz=zaxis](gt=tsec2010])

! The plot is correct.
yes? set view lower
yes? shade ztvar2010

yes? frame/file=time_seconds.gif

Attachment from ansley.b.manke on 3 May 2010 22:11 UTC
REPLACE THIS TEXT WITH UPLOADED FILE ./attachments/TRAC_1737_GIT_1009/time_seconds.gif

This bug was not fully fixed with existing check-ins for this ticket and the additional report in #1888.
Ned Cokelet reported a further instance of this kind of behavior with a 2-D dataset in time vs Z, where the observations are in 2021, and the time axis is in seconds since 1-jan-1970.  This is a time description used in modern observational datasets, but not envisioned in early Ferret development.
The time scaling that was done to fix this bug is correct but was not applied correctly in routines box_centers.F and box_bounds.F . Fixes are made in those routines and there are changes as well as axis_format.F and pltit.F.  This is tested with various time origins for time in seconds, for different plot types, and for plots where time is on the vertical axis.
I will create a pull request for this fix from my fork at https://github.com/ACManke/PyFerret


[RFC] Reworked logging

So far there were 4 logging frameworks in the project. This patch series reworks it to just one with the following feature:

Compile time setting of max log level
Runtime setting of log level via env variable
Setting of log levels per module

I added some fixes. I'd squash this PR before merging, but left it like this for the moment until I get feedback.
I'd really like to see this discussed and hopefully merged soon.


Support nerdctl run --security-opt=XXX

Add the security options to the nerdctl run.

[x] Seccomp security profiles for Docker

[x] AppArmor security profiles for Docker

Seccomp was implemented in #12,  AppArmor was implemented in 3e9a754ea082a5fc8fee8c91b265231348f6e03b .
We also need to support SELinux (--security-opt label)

@AkihiroSuda mentions that apparmor support has been implemented. Unfortunately, deploying my lxkns discovery service using the existing docker-compose.yaml fails, seemingly the security option from the composer file doesn't get applied?
Admittedly, this might have been composed in infosec theory hell 😁:
version: '2.4'
services:
    lxkns:
        image: lxkns:latest
        read_only: true
        build:
            context: ../..
            dockerfile: deployments/lxkns/Dockerfile
        command:
            - "/lxkns"
            - "--initialcgroup"
            - "--docker=unix:///proc/1/root/run/docker.sock"
            - "--containerd=/proc/1/root/run/containerd/containerd.sock"
        ports:
            - "5010:5010"
        user: "65534"
        security_opt:
            # apparmor only accepts a profile name, which must have been loaded
            # by the system admin. You might want to use the lxkns-apparmor
            # profile to be found in this directory.
            - apparmor:unconfined #- apparmor:lxkns
            # Please note that Docker's default container seccomp profile is
            # adaptive: it allows all those syscalls for which the process has
            # matching capabilities. In consequence, this Docker default seccomp
            # profile thus does not interfere with lxkns. However, we still want
            # to slightly curb the unneeded parts of the powers bestowed upon us
            # by especially CRAP_SYS_ADMIN and CAP_SYS_PTRACE...
            - seccomp:deployments/lxkns/lxkns-seccomp.json
        cap_drop:
            - ALL
        cap_add:
            - SYS_ADMIN       # change namespaces
            - SYS_CHROOT      # change mount namespaces
            - SYS_PTRACE      # access nsfs namespace information
            - DAC_READ_SEARCH # for fully discovering bind-mounted namespaces
            - DAC_OVERRIDE    # for accessing the containerd API socket
        # We need the full PID view for correct scanning.
        pid: host

The composer file specifies to unconfine the deployed service w.r.t. AppArmor.
My service triggers this audit message, indicating that nerdctl's default AppArmor profile still gets applied:
[40708.544657] audit: type=1400 audit(1627283465.367:1019): apparmor="DENIED" operation="ptrace" profile="nerdctl-default" pid=1147581 comm="lxkns" requested_mask="read" denied_mask="read" peer="unconfined"

Shouldn't nerdctl compose unconfine my service?

(oh, and SELinux support for setting the context (elements) would be great either!)

Hi guys, any news about SELinux support?

Related to https://github.com/runfinch/finch/issues/192, I think it would be great if nerdctl could support SELinux, but also ignore anything settings on macOS where it would not be applicable.

I'm interested in implementing this @AkihiroSuda, is it free for grabs?

@arnaldo2792 Feel free to have a try.

Ok, I started to work on it :+1:

I'm still going through this, it took me some time to configure a reliable setup and understanding what docker/containerd-cri do when SecurityOpt is set to label:<>. I have a better understanding now, I should have something soon-ish to be reviewed.


Line count for Visual Line Mode

environment

vim: neovim 0.1.6
vim-airline: default master
OS: debian
if you are using terminal:
terminal: xfce4-terminal
$TERM variable: screen-256color
color configuration (:set t_Co?): Nil

actual behavior
Airline doesnt display the number of lines selected in Visual Line mode.
expected behavior
More of a feature request than expecting that behavior if its not supported yet.
Thanks

this is already displayed when showcmd is on, perhaps we can use something similar and display in section z in visual/select mode? Sorry, I am currenty really busy and don't have much time to take care of bugs here. I hope to come to that in a couple of weeks.

I played with that idea a little bit and it doesn't work as well as I want it. Mainly, because the marks are not updated in realtime, making the display rather useless. Also I have the feeling, that this might slow down airline to much. Therefore, closing as won't fix.


Audit ExportGenesis for all modules

Background
Refer from 3001. We are using state exported to check app state does not change after querying.
So we should audit all modules ExportGenesis func to make sure the state is exported without any error.

duplicate of #2940


shunting-yard-rs-fork

Previous implementation assumes '-' is always a binary operator but that assumption is broken for expressions like '-19+20'. This change fixes that by adding 0 as the left operand if '-' only has one (right) operand to work with.
Tested: expressions such as '-19' and '1+(-19+2*20)' now works correctly (but weren't before).

Hey, great to see this is your first contribution!
Good catch on the bug! it does pass your test example. I followed up with a few more tests, and found that your patch does remedy some issues, but doesn't pass all test cases.
# with patch
-1.5 * -2 => -3.5

If you like, we can move this PR into a draft on a separate branch & debug the issue further together.
Please reach back and let me know so that you're included in the triage & restoration.

I've appended a possible fix in: https://github.com/Skarlett/shunting-yard-rs/commit/549481ed47f5fadc9fe2464197c11c0259b0c6f0 which passes all tests.
If you can find any problems with this method, I'd love to hear it.

force all cases to be interpreted as negative numbers, so that the above expression essentially becomes (-1) + (-2) + (-3).

I do like this option as a thought experiment, but it'd require token injection, which may include adding an extra operator to the operator-stack which doesn't exist.
match char {
  '-' => { stack.push(Lexer::Add); /*write a flag to keep state in tokenize(..) */ }
}

I actually find this to be a bit undesirable, it maybe unclear for those who are looking at the code base.
match c {
    '-' => match acc.last() {
        Some(x) => match x.token_type {
          Lexer::Num | Lexer::ParamClose => Some(Lexer::Minus),

          // Negative number.
          _ => Some(Lexer::Num),
        }
        None => Some(Lexer::Num)
    },
    ...
}

https://github.com/Skarlett/shunting-yard-rs/commit/549481ed47f5fadc9fe2464197c11c0259b0c6f0
this fix works by checking if the previous item pushed onto the token's output is a number.
If the previous token was a number, or closing parenthesis then the current - symbol is meant to act an as operator.
If there is no previous token, or the token is an open parenthesis, then we include the current - as a numeric.
What's your thoughts on this? I believe this should work for any valid expression.

Yeah let’s do that.
On Sun, Jul 3, 2022 at 1:42 PM Lunarix @.***> wrote:

Hey, great to see this is your first contribution!
Good catch on the bug! it does pass your test example. I followed up with
a few more tests, and found that your patch does remedy some issues, but
doesn't pass all test cases.
with patch
-1.5 * -2 => -3.5
If you like, we can move this PR into a draft on a separate branch & debug
the issue further together.
Please reach back and let me know so that you're included in the triage &
restoration.
—
Reply to this email directly, view it on GitHub
https://github.com/Skarlett/shunting-yard-rs/pull/1#issuecomment-1173142677,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABNVTXA322MV53FYRYJC2WDVSHGH5ANCNFSM52JZITSQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


can you add any relevant project of other languages?

sorry to bore you. but your idea is so great , just like the origin guys who has made awesome list , and then many language version has been created by people all from the world
i think your project has that potention too, the only problem is scala is not my language, my prefered were python and clojure. i am hoping there're any projects like yours in python or clojure

@yunfan I also expected that people would do similar projects in different languages. But problem is that do something like this requires more than just a collection of things. I have never liked awesome lists because they don't teach you or show you the path.
The project is not only about Scala I have also covered Go and Python. Can you submit one post on Clojure? Would love to add clojure to the mix as well. Thanks for your comment.

@shekhargulati will try to submit when i found awesome python or clojure projects. and yes i agree with you that learning path is very important.
so why not we use a tree like infograph to show viewer such informations?


UPDATION IN README FILE REQUIRED

Describe the feature
Hello @RamakrushnaBiswal
the current readme file lacks proper structure and does not contain alot of things that are imp

Table of content for easy access
back to top button for easy acccess
contributors section
forkers and stargazers section
featured in section

Kindly Assign me the issue under hacktoberfest and gssoc-extd labels so my work is counted for these events
Add ScreenShots
will add for pr
Record

[X] I agree to follow this project's Code of Conduct
[X] I have starred the repository
[X] I'm a gssoc-24-extd contributor
[X] I want to work on this issue

@soham0028 not needed


i can't translate the game tale of immortal

I follow the instructions but when it comes to the part to enter the patch and run it enters but does not create the autotranslator folder
game name is tale of immortal

this game us MelonLoader
put this in game folder
https://mega.nz/file/DVZSzIbJ#uczjLYTwaiJRaIV_daJcefFl3o5eb94gju05SMn2oh8
open this AutoTranslator\Config.ini
modify this
[General]
Language=ru   <- you lang

I follow the instructions but when it comes to the part to enter the patch and run it enters but does not create the autotranslator folder
game name is tale of immortal

https://mega.nz/file/GRYDgC7K#55dCVEHWcclKquwk225JJPdL8YK9gtCFyUZR-D0VI80


Allow stateless use of Air Gap; implement in JSON Protocol v3 executor

overview
The air gap method pipette.air_gap(volume, height) does not allow stateless use. The height is "The number of millimiters to move above the current Well to air-gap aspirate".
The params to air gap are different than the rest of the commands that interact with wells, instead of volume+well+offsetMmFromBottom, it would be volume+height where height is distance from top of the last well.
If we don't allow air_gap to take an arg overriding the height with a Location:

Unlike other JSON commands, air gap would have an implicit "last used Well" stateful property
If you want to control where the air gap happens, you need to interact a separate command
This would be the only command referencing the top of a well, all others use bottom

Acceptance Criteria

Allow air_gap in APIv2 to take an optional Location arg (mutually exclusive w/ height)
Implement the airGap command in the APIv2's JSON protocol v3 executor

┆Issue is synchronized with this Wrike Task by Unito

Air gap removed in favor of vanilla aspirate in JSON Schema v6


Dependabot Implemented for Automated Dependency Updates

Enable Dependabot:

Go to your repository settings on GitHub.
Navigate to the “Security & analysis” section.
Enable Dependabot alerts and security updates.

Addresses Issue #377

@RanitMukherjee I am working on it and almost done. Will raise a PR tommorow. I am bit busy in working on proposal

It isn't good in open-source community to raise a PR that not assigned to you

It is not uncommon for the first person to raise a PR or be assigned to an issue for repositories in open-source communities. However, as RUXAILAB follows the Assignee system, I apologize for any confusion. If you don't mind, we can co-author this PR.

Merge already satisfied by https://github.com/ruxailab/RUXAILAB/pull/412


Master

Sc font fix

Hi, can you provide some description/context around this PR?

Going to close this one for now, please reopen if you can provide more details 👍


[Feature Request]: Enhancement of the Profile Screen

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
The enhancement of the profile screen involves redesigning its layout to create a more intuitive and visually appealing interface. This includes improved navigation and better organization of personal information, preferences, and settings.
Use Case
Users can easily access and update their profiles, making adjustments to their personal information and settings in a centralized location. This streamlined process simplifies user interactions and fosters a more engaging experience.
Benefits
By enhancing the profile screen, users benefit from increased efficiency and satisfaction. The improved design encourages regular use, ultimately leading to higher user retention and a more personalized experience.
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC Ext'24 contributor
[X] I'm a Hacktoberfest 2024 contributor
[X] I have starred the repository

@prajapatihet
I’d like to work on this issue.
I’ll start by redesigning the layout with a focus on intuitive navigation. This will involve creating a visually appealing arrangement that groups personal information, preferences, and settings logically, ensuring a user-friendly experience.
I’ll implement clear, easy-to-use navigation options within the profile screen, making it seamless for users to access and update their information and settings.
I’ve read the Contributing Guidelines, and as a GSSOC Ext’24 and Hacktoberfest 2024 contributor, I’m excited to contribute! Please assign this issue to me, and I’ll get started right away.

@Upendra48 What's your status?
As Last few days are left

status

@Upendra48
As deadline will approching soon....
If you want level up your score on leaderboard or want to make contribution
btw Happy New Year && Happy Diwali

Last 30 mins remaining if you want then raise PR otherwise your contribution won't be count
@Upendra48


Changed the Color Theme of the Website

Author: Nicholas Bear<EMAIL_ADDRESS>Date: Tues April 5, 2022
Condense website color palette to four colors. Change hover color of unordered listed items in the header. Edit .html to explicitly give footer h2 element WhiteSmoke color.

Author: Nicholas Bear<EMAIL_ADDRESS>Date: Tues April 5, 2022
Condense website color palette to four colors. Change hover color of unordered listed items in the header. Edit .html to explicitly give footer h2 element WhiteSmoke color.

in the header section under "ul a:hover " you have given the  same background color as that of the header so it does not make sense , please change it and rest looks good

after changing the background color make another pull request


Typo

This: "The commands use CSOM and can work against both SharePoint Online as SharePoint On-Premises."
Should be: "The commands use CSOM and can work against both SharePoint Online and SharePoint On-Premises."

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

ID: 3b3240d3-6a7d-fc4b-62fd-d3a5375d8a4a
Version Independent ID: 561212df-4dab-92b7-b634-57d53d313c6f
Content: PnP PowerShell overview
Content Source: sharepoint/docs-conceptual/sharepoint-pnp/sharepoint-pnp-cmdlets.md
GitHub Login: @Techwriter40
Microsoft Alias: kirks

@dmvtech I have created a pull request to fix this typo. Thank you for pointing this out to us. I am waiting for the review checks to complete then I will merge it to the live environment.

This typo is back (as at today 25 July 2019)!

@e0i Would you please investigate this?


Is it more appropriate to use full match than partial match in some positions?

Using partial matches in some items of the config file may cause problems.
For example, when I make the following settings:
method: 余额
methodAccount: Assets:Alipay:Balance

It will also match this record, which means you use two payment accounts:
...
method: "招商银行储蓄卡(8888)&余额"
...

This will result in only one payment account being generated and will not be marked with FIXME, so you may have difficulty finding errors.
So should we consider using full matches instead of partial matches in some items?

SGTM

I would like to make a PR about this if you guys are busy.
@Triple-Z @gaocegege

@z2z23n0 That will be great! Look forward to your PR~


Add OsConfig.V1 dependency to Asset.V1

Fixes #5585.
Note that this won't build until the OsConfig.V1 version 1.2.0
release has actually happened.

OsConfig.V1 version 1.2.0 has now been published, so we should be able to get green lights when rerunning... will then merge, and rerun autosynth


Include winsock.h to define htonl on Windows

htonl is defined in winsock.h.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Beautiful, including winsock.h also includes wingdi.h which defines a macro called ERROR, which screws up https://github.com/awslabs/aws-c-common/blob/2f8f0825b5c9d3190c1a29f7182958648ae886e1/source/uri.c#L19-L26 I have no clue who thought calling a macro in a system header file ERROR was a sensible idea, but you may want to rename that enum.

Why was this PR closed, and without any explanation?  Was the issue resolved elsewhere?


Phase incompatibility detected error but code runs correctly

I am currently running...

SpongeForge version: 1.10.2-2281-5.2.0-BETA-2597
Java version: 1.8
Operating System: windows 10

[x] Windows

Plugins/Mods:

Pixelmon Dark 1.7
EconomyLite-6.0.0-2.12-23
Nucleus-1.1.0-S7.0-MC1.12.1-plugin
PixelmonEconomyBridge-1.10.2-1.3.0
spongeforge-1.10.2-2281-5.2.0-BETA-2597

I also use a separate mod called NBTHandler, which I've compiled, and is being used to provide access NBTTag/NMS methods. I run the server outside of a dev environment as an attempt to a 'live' environment before pushing the plugin to the real server.
What is the expected result?
What is the current result?
The expected result and the current result are the same. The methods seem to run correctly, the code doesn't break and everything works as expected.
The only issue is that the game server/client seems to freeze while it's printing this huge error to the console/log file.

https://gist.github.com/SparkVGX/60769cb395dd06829871b8fd19c5931b

log is gone and 1.10 with no reproduction


Feature/npsp stored xss stg panel err

Critical Changes
Changes
Issues Closed
New Metadata
Deleted Metadata

**lurch:attach W-026035

Tracking W-026035

I know I'm late to the party here as we've already merged, but I could not get this to work properly for me.  I could not get the decode function to return the "decoded" string.  Looked like the RexEx /&|"|'|'<|>/ wasn't matching.  The expression /[^&]|[^"]|[^']|[^<]|[^>]/ seemed to work better.  This is a really minor change in the user experience, but we may want to revisit this.

@davisagli Can we revert this without causing too much heartache, or would it be better to create a new PR for an incremental improvement?

@lmeerkatz It should be okay to either open a PR which makes the inverse change to this one or a PR with an incremental improvement. I would avoid using the "git revert" command to undo the change because that will make it harder to merge it in the future.

I'll open a new PR for this change.  That is probably the simplest approach


How to get in touch regarding a security concern

Hey there!
I belong to an open source security research community, and a member (@srikanthprathi) has found an issue, but doesn’t know the best way to disclose it.
If not a hassle, might you kindly add a SECURITY.md file with an email, or another contact method? GitHub recommends this best practice to ensure security issues are responsibly disclosed, and it would serve as a simple instruction for security researchers in the future.
Thank you for your consideration, and I look forward to hearing from you!
(cc @huntr-helper)

@nemerle - thanks for your response and apologies for not getting back to you on this.
You can find the report directly here:
https://huntr.dev/bounties/3bce38cd-235e-4f29-b3cc-d13684800311/
It is publicly visible, so you will be able to see the contents of the report 👍


Tournament doesnt end if time losses happen

It seems that tournaments doesnt end when a time loss happened. i noticed it when i tested for 8 games, two of those games ended with time losses and when the tournament finished the 8th game, it just gets stuck there still calculating something (i know cuz my laptop fan doesnt wind down) and it doesnt finish the tournament and save to the config file as it usually does.
this is the command i inputted: fast-chess.exe -engine cmd=berserk-13.exe name=Engine1 -engine cmd=Stockfish-dev-20240411-249eec67.exe name=Engine2 -each tc=10+0.1 -rounds 4 -concurrency 4 -report penta=false

introduced by https://github.com/Disservin/fast-chess/commit/57d2d64b9557a9f322afaea438cb7b30adad5d68


Distributed optimization example?

Dear all,
Is there a distributed optimization example using GPyOpt?
Thank you for the great work you've put into this.

Hi! Can you please elaborate a bit more about what use case do you have in mind? Just to make sure everyone understands same thing under "distributed optimization".

Hi @apaleyes , thank you very much for your reply.
I am using GPyOpt for hyperparameter optimization of a deep learning (convNet NN) framework. For example two of these hyperparameters are the learning rate and weight decay of the loss function during training. Currently, I have a "serial" (with respect to the GPyOpt params) solution to the problem: I've created a DL_optimizer class in which I encapsulate (as members/methods) both the NN as well as the optimization process. For each proposed parameter point of the  GPyOpt.methods.BayesianOptimization (say x = {x0, x1}) I can use 4 GPUs (in parallel, for increasing batch size) to evolve the network. Therefore, the DL training is in parallel, but the evaluation of the cost function in GPyOpt is serial.  I have access to an HPC cluster (each node has 4 GPUs), and what I hope for is to be able to run, in different nodes, a function evaluation for different values of the proposed hyperparameters. This will divide my computation time for each evaluation as many times as the number of available nodes (approximately). The DL framework I am using is mxnet. I understand that in the Bayesian framework we need to complete the evaluation of the first point, before we propose the (conditioned on the first) second parameter point, but distributed evaluation will allow me to find better solutions in the same time: instead of evaluating a single proposed point, say x2 ~P(x2|x1) I can have a set of points x2_1, x2_2, ... , x2_nodes that will more accurately describe the underlying distribution of parameters.
Now, it is my understanding that distributed evaluation can take place in two ways: a) from within the GPyOpt library (perhaps? I haven't seen an example but this would be my preferred method because each proposed point would be conditioned to previously evaluated points - the Bayesian way), or b) by manually distributing the DL_optimizer class in various nodes, running DL_optimizer in parallel (so the proposed points of node1, will not have any information of the proposed points of node2), and select the best parameter from both nodes (not ideal). For (b) I am going to try to use the ray library and I will try and find if possible some way of combining - information from all nodes before proposing new points for all nodes (i.e. before GPyOpt run is complete). I do not know how to do so yet.
(a) is what I am mostly interested in if such a functionality exists within GPyOpt. Any pointers for the (b) solution (how I can do so manually - in terms of mathematics -, papers? links?) will also be extremely appreciated.
Thank you very much for your time - by the way I am new in Bayesian optimization so I hope everything I describe makes sense.

update: I guess this is one way of doing this (b), by using external_objective_evaluation

Well, you pretty much answered the question yourself, external evaluation example is exactly what we have for such use cases. Note that you can use "ignored" points to make sure that you are not revisiting points are are already being evaluated in other nodes.
Admittedly this requries some overhead of controlling the evaluations on different nodes, collecting the results and keeping track of what points are evaluated.

Thank you very much @apaleyes , closing this issue.


Question : What is the best practice to create "n" topics ( n>=100) in terraform

This is more of seeking for input/guidance/best practices for creating a large number of topics in a given environment.
Current, I am using one file per topic to declare the respective resource blocks

Topic Name
Producers and Producer ACL's
Consumers and Consumer ACL's.

Most of the code is very similar and repetitive and follows the same pattern except for the names.
What is the suggested best practice to create topics and respective producer and consumers?

Declare each of them seperately
Use like a module and inject the names for each topic.

If this approach is possible, will be okay to create resources inside a dynamic block and use for-each and reach the input that contains the list of topics and respective producer and consumer names?

Thanks

Update
I was able to use "modules" to provision
(1) topics
(2) service accounts (with and without RBAC)
At this point, I am not sure if having dynamic block to iterate over inputs makes more sense than to have modules (which require the variables to be passed).  Either way, the amount of code in lines (config vs modules) tends to remain close.
I feel having modules is better tradeoff when it comes to understanding the code and the intent.

👋 thanks for creating an issue!
I don't have a strong opinion about it, I'll keep this open to see if any of the users have any interesting ideas.

This is a very good question that I would also like to get some diverse opinions and suggestions for.
What comes to mind is: one can use modules that encapsulate repetitive terraform code for the topic resource, as well as organise the references to the module to create multiple topics into any number of files (each file groups related resources together, purely for human readability, and control). terraform merges together any number of valid configuration files in a given folder when considering the configuration


BUG: Fix new strides when array is both C and F-contiguous

In this case, NumPy will prefer the C contiguous strides, not the F contiguous ones.
I will note that I do not think users should reuly on strides if they rely on contiguity, and the old strides could be considered just as valid as the new one.
Just as NumPy the strides of an F- and C-contiguous array created as an F-contiguous one will have strides mutate on copy after this. Currently, this happens for C contiguous ones.
Closes gh-5897

Ah, I missed that you already made a PR. Looks like we have exactly the same solution just with different test cases. I can close the one I opened as duplicate.

/test mini

@seberg LGTM! Thanks!


cert-manager: fast-forward to upstream 90742f35

This PR updates the Helm chart for the latest release of cert-manager, containing a critical bugfix.

Bump Helm chart for v0.3.2 (jetstack/cert-manager#702)

cert-manager users are currently broken without this patch, so merging swiftly
/lgtm


Which version of .NET Core?

I have tried 2.0.0 and 2.2.0 and they both give me many errors.  I'm using VS2017 Community Edition.
One of the many errors:
1>Controllers\ModelDerivativeController.cs(23,28,23,31): error CS0234: The type or namespace name 'Mvc' does not exist in the namespace 'Microsoft.AspNetCore' (are you missing an assembly reference?)
Thanks,
Joe

this sample should run with .NET Core 2.1+


Add support for repeating integration tests

TEST_REPEAT=n runs the test suite again n times or
until the first failure without doing building and
daemon setup. Useful for debugging flaky tests.
Example: TEST_REPEAT=100 TESTFLAGS="-check.vv -check.f TestDockerNetworkHostModeUngracefulDaemonRestart" hack/make.sh binary test-integration-cli
Signed-off-by: Tonis Tiigi<EMAIL_ADDRESS>

SGTM 🐶

LGTM


Get rid of warnings about redefining BOOST_TEST_MODULE

This gets rid of the warning and starts cleaning up the tests.


Declarative Tours?

This is a very useful feature! I miss having something like this from classic, when bootstrap-tour was always right there.
I'd love to see the DX of building a tour extended into a more declarative format. While joyride has a lot of features that only make sense with the full JS API, there's a lot of stuff one could build declaratively without having to learn any React/JSX... or, more importantly, recompile Lab to see a small change. Draft 7 JSON Schema seems like a good choice, as ajv is already hanging around.
I guess the simplest form of this would be a lumino command, e.g. jupyterlab-tour:start-tour with an args of {steps: [{target: '#main', content: 'hello world!'}]}. This would allow an extension to not even have to know about the ITourManager.
Document: Putting a conforming schema instance into a file e.g. my-feature.tour.json would also make it possible to have a default "Start Tour" from the file browser. This would play very nicely with existing features like the router commands, e.g. lab/tree/my-feature.tour.json, and would feel great with nbgitpuller, etc. It could be JSON5, again, because it's already lying around and slightly improve the end user experience, but JSON is probably a more portable solution, while YAML/TOML would be more humane.
Editing: An Open With... ▶ Tour Editor with  something like react-jsonschema-form could then do round-trip editing of a tour, with a one-click "preview". I've wrapped rjsf up in lumino/lab stuff, with a few goodies like a codemirror widget, in jupyterlab-rjsf so it could be relatively straightforward to drop into a MainAreaWidget without a lot of effort.
Cosmetics: A few key props, llke step.content and .title, which are expecting a react component, could also be markdown, perhaps with a flag or alternate prop, e.g. markdownContent. Or, an even more jupyter-like way to do it would be a mimembundle... i don't know why you'd want to have a CSV, but you could!
Commands: Having access to calling JupyterLab/lumino commands at different stages would further reduce the amount of coding required to put together a really interesting tour. Perhaps being able to match and dispatch commands from the argument to callback would be sufficient, e.g.
steps: ...
callback:
- on:
    step: 0
    type: step:after
  command:
    id: some-ext:some-command
    args:
      some: arg

Anyhow, food for thought!

Thanks @bollwyvl for all the nice suggestions.

Here's a rough automated cut of the top-level schema:
https://gist.github.com/bollwyvl/625e6c0473bbf058cf4c6fa8dfb1ec46
That JSON can be posted right into the [playground](this can be posted into https://rjsf-team.github.io/react-jsonschema-form/)
Doing it "right" would take a fair amount of work, but this at least demonstrates the rough shape of what it might look like.

Awesome, thanks @bollwyvl for the gist (and the tip on ts-json-schema-generator :wink: ).

f98a0746006cd981bec08d582c0cdd671ba805a8 introduced a command jupyterlab-tour:add to easily add a tour. The arguments accepted is quite restricted for now but enough for simple tour.

Very cool!

Looks great on binder! Have some other, unrelated thoughts: will raise more issues!

I just released a new version of jupyter_conda using that new feature :wink:
And the binder image is available for testing: https://mybinder.org/v2/gh/fcollonval/jupyter_conda/master?urlpath=lab

Will check it out!
An aside: that's awesome you're using mamba in jupyter_conda... it's way closer to interactive speed, and has some pretty nice additional features. I mean, you still need threadpoolexecutors, etc. as it didn't magically solve some of conda's larger one-at-a-time issues, but it comes back so much faster, it's not even funny.  And it might be coming soon, natively, to a binder near you!
Bringing it back on-topic for this issue: I hope some machine-readable specs come out of some of the community work... I worked on some more formalized file specs for env.yml, meta.yml, construct.yml, anaconda-project.yml etc. but haven't released them. They would make some of these things way better to write alternate tooling that overcomes some of the persistent first-party UI fails. For example, such specs could be used to deliver conda language server support: eventually getting to know the text format (with autocomplete, introspection, and linting) vastly exceeds the power and accessibility that a pointy-clicky GUI can deliver, no matter how pretty. But keep up the good work!


Update README for OSS Best Practices

Signed-off-by: dheerajd-msys<EMAIL_ADDRESS>Description

Update README for OSS Best Practices
No need to update Github PR template

Check List

[ ] New functionality includes tests
[ ] All tests pass
[ ] All commits have been signed-off for the Developer Certificate of Origin. See https://github.com/chef/chef/blob/master/CONTRIBUTING.md#developer-certification-of-origin-dco
[ ] PR title is a worthy inclusion in the CHANGELOG

@btm @tas50 Please take a look. Travis failures are out of the update.


Gracefully handle invalid characters in tool output

This PR addresses issue #1073, which reported SC crashing when displaying output or parsing the logs of tools that send invalid characters to stdout or stderr.
The details of the issue were slightly misstated: I originally thought non-ASCII characters were the problem, but it turns out SC can handle non-ASCII output from tools fine. The issue came up because an old version of Surelog had a bug that would cause it to output bytes that were not even valid UTF-8 (which is the default encoding for most Python installations).
Although this is an error in the tool, it should be handled gracefully and not cause SC to crash. Python's open() function lets you pass in an error handler to specify what it does when invalid characters are encountered. There are a handful of built-in handlers, but they all handle the issue silently. Since an invalid character indicates an issue with the tool, I implemented custom handlers that log a warning.
One of the handlers, used for displaying tool output, passes through to the builtin "replace" handler that replaces the invalid character with "�". The other, used for processing the logfile, simply ignores the invalid character. This seemed like a reasonable set of behaviors to me.
This might seem a little funky since it uses some less well-known Python features, but I think this is the best approach to handling this edge case. I tested it with the old version of Surelog that had the relevant bug, and it fixed the crash and output warnings in the correct places.
Closes #1073.

Are you sure this warrants a custom handler? If we have only ever seen it with surelog, and there seems to be a fix already, is it worth the implementation and package dependency cost?


Remove record :/

Hope you don't mind. I needa remove the record, it's causing me some problems

Your record has been removed. We welcome you back anytime.


ConvertFrom-String is missing

FlashExtact is MSR project.
@LeeHolmes originally took code of the project instead of nuget dependencies, because of the Windows build requirements.
We should replace FlashExtract sources by Nuget packages and bring the code for ConvertFrom-String.

Home page: https://microsoft.github.io/prose/
Nuget packages: https://www.nuget.org/packages/Microsoft.ProgramSynthesis/
It seems this project for a long time had no updates. Is it frozen?

I see now ProgramSynthesis lives! Current version is 4.0.0.
Can we get any progress with the Issue?

Don't think we'll get to this for 6.0.0, putting it in 6.1.0 for now

This is a really important feature, I am sad to see it moved to 6.2

@AceHack we need an OSS implementation of the FlashExtract engine before we can port this to PSCore6

Looks like https://www.nuget.org/packages/Microsoft.ProgramSynthesis/ has been getting regular updates, so this is viable.

@SteveL-MSFT Can MSFT share again the code of Convert-String and Convert-From-String that was removed from the repo?

@iSazonov Let me see if I can add it back, the problem is making sure to remove any use of private APIs...

@iSazonov I took a look at this.  The Windows PowerShell code for ConvertFrom-String and Convert-String is 90% proprietary code with 10% being the cmdlet code that calls a wrapper class to do the actual work.  It may be easier to just create a new set of cmdlets for similar functionality.

I'm not sure that's really worth the effort. In every case where I've tried to use that cmdlet for anything more than the simplest tasks, I've ended up giving up after a good hour or so and just using regex instead.
A simple cmdlet to generate PSCustomObjects from strings via a regex pattern and match groups would be far more useful (if pretty straightforward) in my opinion.

@SteveL-MSFT Please clarify - can we re-implement the cmdlets (with same names) or we need create new cmdlets (with new names)? For first case we need you share Pester tests to ensure compatibility.

@iSazonov It's not clear to me how many people actually used those cmdlets that we would need to retain syntax.  I've always found them difficult to use with inconsistent results, so I didn't use them much myself.  My suggestion would be to start with understanding the use cases and optimizing for that rather than focusing on compatibility.  Looking in the old code base, there isn't much tests besides some basic ones:
Describe "DelimitedText" -tags 'DRT' {

    It "verifies automatic property generation" {

        $result = "Hello 9", "Hello 10", "Hello 90" | ConvertFrom-String

        ## Verify first properties got extracted
        $result[0].P1 | Should be 'Hello'
        $result[1].P1 | Should be 'Hello'
        $result[2].P1 | Should be 'Hello'

        ## Verify second properties got extracted
        $result[0].P2 | Should be 9
        $result[1].P2 | Should be 10
        $result[2].P2 | Should be 90
	}

    It "verifies property overflow generation" {

        $result = "Hello 9" | ConvertFrom-String -PropertyNames A

        $result.A | Should be 'Hello'
        $result.P2 | Should be 9
	}

    It "verifies property renaming" {

        $result = "Hello 9" | ConvertFrom-String -PN B,C

        $result.B | Should be 'Hello'
        $result.C | Should be '9'
	}

    It "verifies property typing of numbers" {

        $result = "Hello 9" | ConvertFrom-String -Property B,C
        $result.C.GetType().FullName | Should be 'System.Byte'
	}

    It "verifies property typing of TimeSpan" {

        $result = "Hello 1:00" | ConvertFrom-String -Property B,C
        $result.C.GetType().FullName | Should be 'System.TimeSpan'
	}

    It "verifies property typing of DateTime" {

        $result = "Hello 1/1/2012" | ConvertFrom-String -Property B,C
        $result.C.GetType().FullName | Should be 'System.DateTime'
	}

    It "verifies property typing of Char" {

        $result = "Hello A" | ConvertFrom-String -Property B,C
        $result.C.GetType().FullName | Should be 'System.Char'
	}

    It "verifies empty strings don't turn into INTs" {

        $result = "Hello" | ConvertFrom-String -Delimiter 'l'
        $result.P2.GetType().FullName | Should be 'System.String'
	}

    It "verifies property typing of String" {

        $result = "Hello World" | ConvertFrom-String -Property B,C
        $result.C.GetType().FullName | Should be 'System.String'
	}

    It "verifies the ability to change the delimiter" {

        $result = "Hello-World" | ConvertFrom-String -Delimiter '-'
        $result.P1 | Should be 'Hello'
        $result.P2 | Should be 'World'
	}

    It "verifies that only matching text gets parsed" {

        $result = "Foo1","Hello1 World1","Hello-World" | ConvertFrom-String -Delimiter '-'
        $result.P1 | Should be 'Hello'
        $result.P2 | Should be 'World'
        @($result).Count | Should be 1
	}

    It "verifies that a good error message is returned from an invalid regular expression" {

        try
        {
            $result = "Hello World" | ConvertFrom-String -Delimiter '['
        }
        catch
        {
            $errorRecord = $_
        }

        $errorRecord.FullyQualifiedErrorId | Should be "InvalidRegularExpression,Microsoft.PowerShell.Commands.StringManipulation.ConvertFromStringCommand"
	}
}

$here = Split-Path -Parent $MyInvocation.MyCommand.Path
$data = Join-Path $here "StringManipulationData\ConvertString"

Describe "Convert-String test cases" -tags 'DRT' {

	It "Changes first and last name with one Example" {

        $result = "Gustavo Soares" | Convert-String -Example "camilla araujo=araujo, c."
        $result | Should be "Soares, G."
    }

	It "Changes first and last name with one Example, and three inputs" {

        $result = "Lee Holmes", "Gustavo Soares", "Sumit Gulwani", "Vu Le" |
            Convert-String -Example "camilla araujo=araujo, c."

        $result[0] | Should be "Holmes, L."
        $result[1] | Should be "Soares, G."
		$result[2] | Should be "Gulwani, S."
		$result[3] | Should be "Le, V."
    }

    It "Changes first and last name with two Examples" {

        $examples = [PSCustomObject] @{ Before = 'camilla araujo'; After = 'araujo, c.' },
            [PSCustomObject] @{ Before = 'lee holmes'; After = 'holmes, l.' }
        $result = "Gustavo Soares" | Convert-String -Example $examples

        $result | Should be "Soares, G."
    }

	It "Changes first and last name with one dictionary example" {
		$result = "Gustavo Soares" | Convert-String -Example @{ Before = "camilla araujo"; After = "araujo, c." }
	}

	It "Changes first and last name with two dictionary example" {
		$result = "Gustavo Soares" | Convert-String -Example @(@{ Before = "camilla araujo"; After = "araujo, c." },@{ Before = "vu le"; After = "le, v." })
	}

	It "Check invalid text example" {
		{ "Gustavo Soares" | Convert-String -Example "camilla araujo" } | Should Throw
    }

	It "Check invalid psobject examples" {
        $examples = Import-Csv $data\incorrect-examples.csv
        { "Gustavo Soares" | Convert-String -Example $examples } | Should Throw
    }

	It "Replace by empty" {
        $examples = Import-Csv $data\replace-name-by-empty.csv
		$result = "Gustavo Soares" | Convert-String -Example $examples
        $result.length -eq 0 | Should be true
    }
}

@SteveL-MSFT Thanks!

My suggestion would be to start with understanding the use cases

I agree.  PROSE home site has more samples. Parsing log, trace, tabular files, JSON, YAML.
PROSE implements still many great APIs.

I've always found them difficult to use with inconsistent results

Unfortunately, that has been my experience as well.

What do you have in mind? Remove or improve?

I would really like to see this or similar functionality in core.

The question is how to do it more conveniently.

Am I missing something or don't ConvertTo and ConvertFrom essentially solve the same problem?
e.g.
$csv = ConvertFrom-String $stringValue -Format CSV
or
$csv = ConvertTo-CSV $stringValue
I'm also not really that keen about a "ConvertFrom-String" given how common a string input can be as it ends up being a swiss-army-knife function .. it has to support a potentially massive number of potential output formats / types.
My initial thoughts (although I really haven't analysed this in detail) from a code management/quality perspective to have separate parsing functions from each object.. so it is clear which objects support parsing from a string (and other formats), and which ones do not.
Just my $0.02 - but would be genuinely interested why it is thought "ConvertFrom" is a better approach?

As a proxy solves this problem, but only for Windows. I just came looking for this because I wanted to look at the source code, since it could use some improvements.
I agree that this cmdlet can be difficult to use; however, it is also of significant value when you are parsing string data, which you end up doing a lot with native executables, of which there are plenty these days on Windows, Linux, and macOS. It is much easier than using regex to do the same.
Anyhow, I wanted to voice my opinion that I think this functionality should be brought forward in an open source command so that we can enhance it without reinventing the wheel.

I wanted to look at the source code

It is in source-deport git branch.

I agree that this cmdlet can be difficult to use

Perhaps we could design some helper cmdlets.

It is in source-deport git branch.

Link? I browsed to that branch, the only thing a search for ConvertFromStringCommand turns up is this issue.

:-) You could look history before https://github.com/PowerShell/PowerShell/commit/0db07f84354ef661f2c1a33676e6346248a40e16
I should say that this will help little because the PROSE engine has been completely rewritten.

Besides the purposed #16257 String >>>Regex>>> PSCustomObject, I just created a new request #16677 Add table support to ConvertFrom-String for a possible additional ConvertFrom-String feature.

It may be easier to just create a new set of cmdlets for similar functionality.

If it comes to a new set/cmdlet, ConvertFrom-Text might be a proper name.

Under review by the Cmdlet Working Group.

It is not possible to release an open-source version of this command in PowerShell 7

This brings me to two legal questions:

Is it allowed to use the same cmdlet name (ConvertFrom-String) for a new cmdlet?
Is it allowed to build a wrapper around the ConvertFrom-String cmdlet (without changing the actual cmdlet)?

I guess that there aren't any restrictions in reusing the cmdlet name (otherwise cmdlet names should be registered somewhere and command spoofing shouldn't be that easy)  and making use of the existing code as-is (by using a proxy command) shouldn't illegal either.
In other words, why not building a new open source version of  ConvertFrom-String with new features that calls legacy Microsoft Microsoft.PowerShell.Utility\ConvertFrom-String cmdlet version for downwards compatibility (and legal reasons.) of the current features.

In other words, why not building a new open source version of ConvertFrom-String with new features that calls legacy Microsoft Microsoft.PowerShell.Utility\ConvertFrom-String cmdlet version for downwards compatibility (and legal reasons.) of the current features.

This already works with WinCompat feature.

@vexx32

I'm not sure that's really worth the effort. In every case where I've tried to use that cmdlet for anything more than the simplest tasks, I've ended up giving up after a good hour or so and just using regex instead.
A simple cmdlet to generate PSCustomObjects from strings via a regex pattern and match groups would be far more useful (if pretty straightforward) in my opinion.

I strongly disagree with this sentiment. ConvertFrom-String was precisely the most straightforward solution to convert unstructured legacy CLI output in order to use powershell cmdlets on it.
A very simple output is to simulate the equivalent of the column -t command in Unix.
With it in order to replace
my_whitespace_separated_command_output | column -t

we simply had to do
my_whitespace_separated_command_output | ConvertFrom-String | Format-Table -AutoSize

And for any delimiter:
to replace
my_tab_separated_command_output | column -t -s $'\t'

we simply had to do
my_tab_separated_command_output | ConvertFrom-String -Delimiter "`t" | Format-Table -AutoSize

Curently, even 7 years later in 2023, it's not possible anymore to have such a simple solution for this as the closest Powershell thing to this cmdlet would be ConvertFrom-StringData which only converts to a dicitionary, hence effectively allowing only two columns. With more than 2 columns, there seems to be simply no solution besides implementing the logic ourselves.
It's really unfortunate that such a simple and classic operation has to be so complicated as to need to make the calculations for the column sizes ourselves by iterating over all the fields of all the rows. We have to acknowledge that there will always be unstructured CLI output in our workflow like the CLI tools for any third party services like cloud services, package managers, password managers, web servers, etc..
ConvertFrom-String or an equivalent is one of the most important tools of a OOP shell as it servers as the bridge between the wild west and its own environment.


Can you add touch control for IOS and android?

I like this rulesets so much, but, i only can play it on my PC, like you know, pc is not portable and i cant Take it out from my House.
can you make touch control like this?
https://youtube.com/watch?v=-YtmlAqfY4U%3Fsi%3DsUx6fO0Lei5L7A-j

Oh yeah i forgot, this is how the tap mode was work
https://youtube.com/watch?si=rD0WRLGAORJ5xqee&v=06NSWJbCEhk&feature=youtu.be
At minute 1:29

It is still in the process of being created, but I have brought Taiko's control once I have it.
https://github.com/Artemis-chan/osu-DIVA/assets/75152752/023490cd-7202-4bca-b9e8-47f5c25af56d


Uncaught Error: The specified module could not be found./?\C:\Program Files (x86)\Atom\app-1.5...

[Enter steps to reproduce:]

...
...

Atom: 1.56.0 x64
Electron: 9.4.4
OS: Microsoft Windows 10 Home Single Language
Thrown From: Atom Core
Stack Trace
Uncaught Error: The specified module could not be found.
\?\C:\Program Files (x86)\Atom\app-1.56.0\resources\app.asar.unpacked\node_modules\keyboard-layout\build\Release\keyboard-layout-manager.node
At electron/js2c/asar.js:140

Error: The specified module could not be found.
\\?\C:\Program Files (x86)\Atom\app-1.56.0\resources\app.asar.unpacked\node_modules\keyboard-layout\build\Release\keyboard-layout-manager.node
    at process.func [as dlopen] (electron/js2c/asar.js:140:31)
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:1034:18)
    at Object.func [as .node] (electron/js2c/asar.js:149:18)
    at Module.load (internal/modules/cjs/loader.js:815:32)
    at Module._load (internal/modules/cjs/loader.js:727:14)
    at Function.Module._load (electron/js2c/asar.js:769:28)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (internal/modules/cjs/helpers.js:74:18)
    at customRequire (C:/Program Files (x86)/Atom/app-1.56.0/resources/app/static/<embedded>:1:802769)
    at get_KeyboardLayoutManager (C:/Program Files (x86)/Atom/app-1.56.0/resources/app/static/<embedded>:14:2796891)
    at get_manager (C:/Program Files (x86)/Atom/app-1.56.0/resources/app/static/<embedded>:14:2796993)
    at Object.getCurrentKeyboardLayout (C:/Program Files (x86)/Atom/app-1.56.0/resources/app/static/<embedded>:14:2797119)
    at e.keystrokeForKeyboardEvent (C:/Program Files (x86)/Atom/app-1.56.0/resources/app/static/<embedded>:14:1061934)
    at KeymapManager.keystrokeForKeyboardEvent (C:/Program Files (x86)/Atom/app-1.56.0/resources/app/static/<embedded>:11:1220608)
    at KeymapManager.handleKeyboardEvent (C:/Program Files (x86)/Atom/app-1.56.0/resources/app/static/<embedded>:11:1218593)
    at WindowEventHandler.handleDocumentKeyEvent (C:/Program Files (x86)/Atom/app-1.56.0/resources/app/static/<embedded>:11:286076)

Commands

Non-Core Packages
atom-clock 0.1.18
teletype 0.13.4

Thanks for taking the time to contribute!
We noticed that this is a duplicate of https://github.com/atom/atom/issues/21285. You may want to subscribe there for updates.
Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.


Redirect with Delay

Add 1 Template with a Redirect with a Delay page that also shows a Result text, for plugin developers and better UX than a vanilla redirect.
You can pass a delaySeconds from 0 to 255 with a message for the user, if things going Ok or not or whats happening.
Page is kinda Generic enought to be used everywhere, and the message should provide better UX than just redirect "/" when successful.
This is useful for Plugins developers, but also on /settings we can improve the UX, on some places we are using just redirect "/" when successful.
Default delay is 5 Seconds, so the user can see the Results message, our Backend is fast to do most things on less than 5 Seconds anyway.

Before:
get "/someurl":
  createTFD()
  if sucessful:
    redirect "/settings"

get "/reallySlowOperation":
  createTFD()
  if sucessful:
    redirect "/"

After:
get "/someurl":
  createTFD()
  if sucessful:
    resp genMain(c, genDelayRedirect("/settings", "**Nim world domination succesfull:** Returning to Settings page."))

get "/reallySlowOperation":
  createTFD()
  if sucessful:
    resp genMain(c, genDelayRedirect("/", "**Please Wait:** *Solving the squaring of the circle.*", 30))  # We know operation takes less than 30 seconds to complete.

Code to Test it, add on routes.nim:
  get "/delayredirect":
    createTFD()
    resp genMain(c, genDelayRedirect("/settings", message="**Your Message** *here*", 2))

Easy to Merge, since not touching any pre-existent code. :slightly_smiling_face:

Really good solution! I have been trying to solve this multiple times, specially using Jester's after "/": to avoid websockets, but without success. We should only use it for actions, where we know a delay time could occur, not just for a notification like Settings has been updated.  I'm looking forward to using it on the enable/disable plugins.
I can first test it on one of the next days, but the code looks fine to me, so if you need it, you can merge!


Centralize Data Caches (probably a singleton)

We want to reduce access points so we can control their existence in memory better.

No longer necessary. Closing.


thread_safe 0.3.5 warnings ruby 2.4

Hi,
I know thread_safe is now part of concurrent_ruby but with rails 4 depending on it and having 4.2.8 ready for ruby 2.4, there's still some warnings. Any plans for fixing them ?
Here's the thread in rails : https://github.com/rails/rails/issues/28099#issuecomment-281769865
Thanks

PR #29, merged last month, fixes those warnings. I believe @pitr-ch is planning a new release soon.

0.3.6 is out, closing. Thx!


added mit license badge

Added the MIT license badge to the end of the badge list.
Badge from https://shields.io/

@alexweininger can you link to other repos that have this badge? The License is already linked in other places on both GitHub and the VS Code marketplace so it seems unnecessary to me, but I'm open to adding it if you have other examples of people using it.
Github:

Marketplace in the browser:

Marketplace inside VS Code:

Here is is on the Vue repo.

React repo

I realize it might seem redundant, but I don't think having the license badge hurts anything.
Thanks!


Add ability to customize the DetalView layout

Fix for #194

It depends of issue #240

:-1:

I also made some work on this in the readonly_form branch
And i'm also not  quite happy with the result

It's far away from the existing material design detail views samples.
So. anyway, I'm not going to work on this shortly anyway. For the particular project, it's much simple to do the custom HTML to format detail view than developing a universal solution here.


db.sqlite schould not be in git

Please don't store the sqlite database file in the git repo.

I need your help :(

@AnkitMItraOfficial how can I help you?

Finally solved!


Calling set_follow_target_offset breaks Phantom Camera initial properties

Issue description
Disclaimer that I'm a software engineer who's pretty new to Godot & gamedev in general so this could be user error, but I'm trying to create a simple "look ahead" type behaviour with a PhantomCamera2D, and calling set_follow_target_offset from a signal that's called when the player's direction changes seems to reset all initial properties on my phantom camera (eg: damping, framed follow dead zone, etc).
Steps to reproduce

Setup a PhantomCamera2D with Framed follow mode on a player object and camera damping
Call set_follow_target_offset
See initial camera behaviour be broken

Code:
@export var camera_offset = 100
@onready var camera: PhantomCamera2D = $PhantomCamera

func _on_player_direction_changed(direction: Vector2) -> void:
  camera.set_follow_target_offset(direction * camera_offset)

Behaviour:
https://github.com/ramokz/phantom-camera/assets/6374876/3149a47c-a5b4-4981-a2b1-c732a6737337
(Optional) Minimal reproduction project
No response

That sounds odd! Nothing should be resetting any of the initial properties by changing the follow_target_offset.
Does this also happen when using the Simple Follow mode, or if you greatly reduce the camera_offset amount?
My best guess would be that it's related to the Framed Follow logic specifically. Where the target position that is being tracked, and in your case offset, exceeds the bounds of the Dead Zones, which can cause its follow logic to effectively break. This is not an uncommon issue, and is likely what you're seeing, though it's hard to say exactly without debugging it. The Framed Follow does need a proper makeover, as it has been running into various issues, among this (assuming that is the cause behind it).
Funnily enough, the day after this was posted, a PR was set up to support Look Ahead (#160), so there is at least a plan for getting built-in support for it. Though I very much doubt it would be a silver bullet for Framed Follow if, again, that is indeed the root cause here.

My best guess would be that it's related to the Framed Follow logic specifically. Where the target position that is being tracked, and in your case offset, exceeds the bounds of the Dead Zones, which can cause its follow logic to effectively break.

Yep! Looks like this is the issue. Both reducing camera_offset to a small value (which doesn't move the camera offset at all, I assume because of the same edge case?) and changing to simple follow seems to fix the issue
For now the framed follow is more important for my use case, but I'll keep an eye on the PR for look ahead and see if it gets support for framed follow

I'll try and shift priorities around and do a proper refactor for Framed Follow in the not too distant future.
Been seeing more issues popping up for it lately.

Thank you! I’m not deep enough in Godot yet to offer help on a PR but happy to test and debug if needed

Would be great to have additional eyes on it to make sure it works correctly!
Will make a draft PR at some point and link back to it here, and in the other issues, once I get around to it.


MapIgnoreAttribute for source

This is great work.
You have an [MapperIgnoreAttribute] which works great for the target, but what about the source?
The scenario is that I have fields in my entity that I do not want to map to the destination (in my case the view model). I get RMG020 warnings I do not want to appear.
For example:
     public class Car
     {
        public string FullName { get; set; } = string.Empty;
        public int NumberOfSeats { get; set; }
        public string InCarOnly { get; set; } = string.Empty;
     }

    public class CarInfoVm
    {
        public string FullName { get; set; } = string.Empty;
        public int NumberOfSeats { get; set; }
        public string InCarinfoVmOnly { get; set; } = string.Empty;
     }

Mapping from 'Car to CarInfoVm', and using MapperIgnoreAttribute, I can ignore InCarInfoVmOnly, but I still get the RMG020 warning for InCarOnly, as it is in the Car but not in the CarInfoVm.
How do I eliminate this warning but keep the InCarOnly field, as that, for example, is a field I am mapping in a different view model?
Thanks.

Thank you for your feature request. I think this would be a nice enhancement and we plan to implement this. Would also be happy to accept a PR.

Thanks for resolving this issue.

Just tested it, worked for me without issue. Thanks again.


some of feature

Which @ngneat/effects-* package(s) are relevant/releated to the feature request?
effects
Description

export Action from @ngneat/effects not @ngneat/effects/lib/actions.types
support update list with entities
a simple example for reducer feature

Proposed solution
  export class ReducerEffect {
    reducerEffect = createEffect((actions: Actions) => {
      return actions.pipe(
        tap((action) => {
          switch (action.type) {
            case NsActions.ActionTypes.Add:
              return nsStore.update(addEntities(action.dataList));
           case NsActions.ActionTypes.Update:
              return fromPagesStore.update(updateEntities(action.data.id, action.data)); <---- direct to use `action.data`

export Action then can create class Action
Alternatives considered
no more
Do you want to create a pull request?
No

@yackinn

I'm not sure what the issue is about.
Are you reporting a bug or is this a feature request?
Can you setup a minimal reproduction if this is a bug?

ngrx have
const adapter: EntityAdapter<Data> = createEntityAdapter<Data>();
adapter.updateOne(action.page, state);
adapter.updateMany(action.list, state);

but ngneat updateEntities ( updateOne and updateMany ) must provide ids.
should provide Partial<Entity> will be fine
SomeStore.update(updateEntities(action.data.id, action.data));

https://ngneat.github.io/elf/docs/features/entities/entities
You can do partial updates.


use tesseract info to assist table structure

Summary
The table structure post processing code can use OCR software detected block, line, and span order to assist structure detection (by sorting the tokens detected by OCR, and this order may not correspond to the order returned by OCR). tesseract does provide those information in the table return so this PR adds those data into the tokens so they can be utilized in table post processing.
test
Doesn't seem to change anything yet... this is a small part in the process chain (sorting tokens) so hard to detect if it makes a difference at the moment. More testing might show some difference?

The changes should now affect the output except but it seems that outputs are different. It could be due to a change in the model used for table detection (Detectron2, YoloX) or the OCR being used. Should the fixtures be updated if we consider that the output is correct?

thanks for checking! yeah I think we should replace the fixture; I am just checking them right now to confirm they are improvements

The changes should now affect the output except but it seems that outputs are different. It could be due to a change in the model used for table detection (Detectron2, YoloX) or the OCR being used. Should the fixtures be updated if we consider that the output is correct?

unfortunately the new information actually makes results worse... it seems that it is best to not let OCR provide order information and just trust the table structure model to put them in the right place.
More interestingly in this case throw the whole page into the model (the test itself) works better than going through separated table detection then crop table portion for structure detection (i.e., use partition_pdf_or_image from unstructured) because yolox and detectron can only detect partial tables.


added table data to sync. upgraded to latest version of sdk.

Added an incremental sync of all tables available in Bamboo.
Updating to the latest SDK and running black caused a lot of changes. Sorry.

Really appreciate the PR.
Map fields PR
added table PR

I have lots of comments / ideas about this I'd rather focus the talk a bit more. This was our first tap as well so it's a bit messy it is time for some cleanup :)
Glad to see you using the tap. Happy to hop on a phone call to chat about this I've been actively updating this tap this week actually meeting link


chore(master): release 0.44.0

:robot: I have created a release beep boop
0.44.0 (2024-10-18)
Features

remove read report function and add tests (f120e3a)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.44.0
:sunflower:


Cursor position not being preserved

Hi there,
I've found a bug that's very annoying and bad for UX.
If you start to type into a mask, for example a CPF mask, then manually back the cursor to
another position to fix something, after type or delete some character, the cursor goes to the end
of the input value.
For example
> Imagine that "|" is the cursor
123.456.789-12|

> If I misspelled and want to replace "123" by "321", I will set the cursor after the 3
123|.456.789-12

> Then will press backspace
124.567.891-2|

> Note that now the cursor is at the end, not where it was.
> If I press backspace more two times (in order to delete the 123), I'll get this, instead of the expected
124.567.89

This causes a very, very annoying user experience. Imagine you at a mobile. You will be forced to delete everything to type again, or position the cursor after every typing.

Any news?

to speak the truth, never even seen xD

having the same issue. @amarkes  please look into it.


Feature request: Don't add 'Cache-Control' request header by configuration.

Feature description
Use case
I would like to create requests without the Cache-Control headers.
Workarounds
I see no work-a-round, because requests_cache.policy.directives.set_request_headers() will be always called and will always the Cache-Control header :( (except ugly monkey-patch)
Plan to implement
Yes
EDIT: Discovered that sending DO_NOT_CACHE cause my real problem, because 0x0D0E0200020704 results in a very high max-age and the M$ server doesn't like it ;(

I see. I can probably fix this without adding another configuration option. DO_NOT_CACHE was intended more as an internal sentinel value than something to send in request headers. I'll try to get that fixed soon.

Sorry for the delay! I got a bit stuck on this one for awhile. Fixes are now in main, though.


User forgot password

User should be able reset their password through the app.
Related issues:

[x] #22
[x] #21

When the user presses the forgot password button it opens a link in the browser to the signapp django instance. Where it uses the reset password website from the django auth app.


In Chrome time is not correctly measure, a few seconds more are added

Expected behaviour
Time is correctly measured.
Actual behaviour
Time is not correctly measure, a few more seconds are added
Client configuration
Browser: Chrome

@luciamaestro Closing old issues. If you'd like to reopen this, let us know. Thanks!


Add Bob exercise

@kytrinyx And then I realized that config.json was going to cause a merge conflict doing it this way :fearful:  I'll rebase and merge.


Extended relationship entities treated as nodes instead of relationships

See http://stackoverflow.com/questions/32694961/equivalent-of-template-createrelationbetween-in-sdn4
HasBooleanValue is treated as a node instead of a relationship with type HAS_ATT_VALUE and a boolean property.

Duplicate of #45


Issue with Bot Response

5/5/2017 10:09:44 AM	AdamAmith	SmithB	No. Atlantic City
5/5/2017 10:10:03 AM	AdamAmith	SmithB	It started last wednesday
5/5/2017 10:11:28 AM	SmithB	AdamAmith	Ok.Let me see what i can do.

I have a chat history as part of 1 conversation which was trained , now the in the statements collection it was established as below in the mongodb collection
No. Atlantic City -->in reponse to -->"are you in texas"
It started last wednesday -->in reponse to -->"No. Atlantic City"
"Ok.Let me see what i can do." --> in response to --> "It started last wednesday"

i tested this scenario in the terminal example. when typed
"No. atlantic City" , Bot Responded with "It Started Last Wednesday"
Ideally it should be"Ok. Let me see what i can do", as the same user has typed "it started last wednesday" as well and logically the next message to the user is "Ok, let me see what i can do"
Any pointers on how to resolve this ?

as far as i know. If you implement chatbot.set_trainer(ListTrainer)  it will look for sequential way. Even i have doubt how th AI is actually working in this chatterbot. Still i couldnt find any answer related to that. I have checked chatterbot docs too.

From my understanding, when you ask a specific question, it takes all distinct, replies_to and tried to find the nearest or similar using , by default, Levenshtein_distance. So in my case, since i said , "No.Atlantic City" it found the match and it then returned "It started last wednesday" , however i feel that , logic should ignore sequence of conversations from same user.  When finding the replies_to, the sequence of chats from the same user should be ignored or handled differently.

No. Atlantic City -->in reponse to -->"are you in texas"
It started last wednesday -->in reponse to -->"No. Atlantic City"   (IGNORE) flag set in database as from the same user
"Ok.Let me see what i can do." --> in response to --> "It started last wednesday"

@telkomops I closed this issue off because I thought it had been resolved. My apologies if this was a mistake. Are you still encountering this issue?

@gunthercox , how do i handle such scenarios?your guidance in this is much appreciated. my bot is repeating what the user a said in sequence to a question asked by another user.
All my conversations are 1 on 1 conversations.


Add new zones avnss.is-cool.dev, *.avnss.is-cool.dev

Add new zones avnss.is-cool.dev, *.avnss.is-cool.dev
Requirements

[x] You have completed your website.
[x] The website is reachable.
[x] The CNAME record doesn't contain https:// or /.
[x] There is sufficient information at the owner field.

Description
Add new zones avnss.is-cool.dev, *.avnss.is-cool.dev.json
Link to Website
https://github.com/avengermsoft
I have read the CLA Document and I hereby sign the CLA

Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.
I have read the CLA Document and I hereby sign the CLA
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

recheck

Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.
I have read the CLA Document and I hereby sign the CLA
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

I have read the CLA Document and I hereby sign the CLA
recheck


Allow to add comment to gist

Can you help me see where the problem is?
gist cannot run,,click save then doesn't work


Explorer doesn't remember folder expansion states

As is in the tittle.
OutlineGroup in SwiftUI, which we currently use in the explorer, does not provide a way to save its expansion states like DisclosureGroup do. As a result, I am unable to find a way to implement this without building a custom OutlineGroup like  UI component for displaying recursive data. Alternatively, we could wait for an update from SwiftUI.

Fix released.


Multiple entry points

Hi, it seems this plugin only accepts a single options object, but I need to pass a different set of options (fields) to different templates, as I have multiple entry points (html files) that need to be processed. How would I do that, if possible at all?

这个功能目前我也有需求，不知道 @anncwb 那边有木有时间做这一块的内容呢？如果没有的话，我可以贡献一下PR

3.0.0 has made major changes and can be upgraded to 3.0.0, which already supports multi-page applications


Subtract time

I want time to be subtracted from the timer for an incorrect answer to a question.

Incorrect answers subtract time from the timer.


Check potentially missing pages

Some of. the content might have been deleted while merging docs sites. Here is a list of sites thatwere possibly affected.
We should check and add them again in case they are gone. Original commit is here
D       content/academy/anti_scraping/mitigation.md
D       content/docs/actors.md
D       content/docs/proxy/residential_proxy/tips_and_tricks.md
D       content/docs/storage/key_value_store.md
D       content/docs/tutorials.md
D       content/docs/tutorials/analyze_pages_and_fix_errors.md
D       content/docs/tutorials/apify_scrapers/cheerio_scraper.md
D       content/docs/tutorials/apify_scrapers/getting_started.md
D       content/docs/tutorials/apify_scrapers/puppeteer_scraper.md
D       content/docs/tutorials/apify_scrapers/web_scraper.md
D       content/docs/tutorials/cache_data_to_improve_performance.md
D       content/docs/tutorials/crawl_urls_from_a_google_sheet.md
D       content/docs/tutorials/log_in_by_transferring_cookies.md
D       content/docs/tutorials/log_into_a_website_using_puppeteer.md
D       content/docs/tutorials/scrape_data_using_python.md
D       content/docs/tutorials/scrape_paginated_sites.md
D       content/docs/tutorials/scrape_websites_using_the_sitemap.md
D       content/docs/tutorials/scraping_dynamic_content.md
D       content/docs/tutorials/use_apify_from_php.md
D       content/docs/web_scraping_101.md
D       content/docs/web_scraping_101/anti_scraping_techniques.md
D       content/docs/web_scraping_101/web_scraping_techniques.md

Reported here

@HonzaKirchner @valekjo  Isn't this a duplicate of https://github.com/apify/apify-docs/issues/612

Oh, yeah, it is, closing the newer one.

Went through the list and it looks good to me (except one missing redirect):

content/academy/anti_scraping/mitigation.md -> https://docs.apify.com/academy/anti-scraping/mitigation
content/docs/actors.md -> https://docs.apify.com/platform/actors
content/docs/proxy/residential_proxy/tips_and_tricks.md -> removed by #575, so expected but we were missing a redirect (added)
content/docs/storage/key_value_store.md -> https://docs.apify.com/platform/storage/key-value-store
content/docs/tutorials.md -> https://docs.apify.com/academy/tutorials (we have redirects for all the tutorials)
content/docs/tutorials/use_apify_from_php.md -> https://docs.apify.com/academy/php/use-apify-from-php (we have redirects)
content/docs/web_scraping_101.md -> https://docs.apify.com/academy/web-scraping-for-beginners (we have redirects)
content/docs/web_scraping_101/anti_scraping_techniques.md -> https://docs.apify.com/academy/anti-scraping/techniques (we have redirects)
content/docs/web_scraping_101/web_scraping_techniques.md -> https://docs.apify.com/academy/concepts (we have redirects)


Keep method running when app is terminated

Most of mobile apps should be able to keep some methods running even if app is killed. In our case we have a setup process which is going to take about 40-50 seconds, it will start when user launched the app for first time. Or in another case, users can download some data, they will start to download it in app but app should finish downloading even if app is not in foreground. So, the method starts to run when app is on foreground, not in background. But we need at keep it running even if user terminated the app.
I've tried workmanager, flutter_background_service and background_fetch. None of these packages provides this. Do you have any advices?

Hi @mirsaiddev
This issue doesn't seem to describe a bug or a feature request. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


new-rule: no-static-only-classes

PR checklist

[x] Addresses an existing rule suggestion: #3111
[x] New feature, bugfix, or enhancement

[x] Includes tests

[ ] Documentation update

Overview of change:
Adds the "no-static-only-classes" rule as outlined in the suggestion post.
This rule ignores a class which:

extends an existing class
implements an interface
has anything other than whitespace in its constructor

Is there anything you'd like reviewers to focus on?

Does this rule need to take constructor parameters into account?
Still learning the different APIs--is there a better way to detect empty block scopes (see isEmptyConstructor function)?
Help w/ description/rationale

Thanks for all the feedback! I'll get started later today.

Thanks @ajafff! I'll try to get to these changes later today.

Hey @ajafff, I think I've addressed all change requests besides the additional logic-wrapping function for readability. I'm happy to fix that, but wanted to make sure the rule was implementing the functionality you imagined first.

@ajafff I think the description/rationale still needs to be updated. Do you have ideas?

The rationale is still correct.
The description needs to be amended. I'm not the best advisor for such texts. Maybe: "Disallows classes that are not strictly necessary."

thanks @aervin!


Makefile: fix the all target 🎪

Changes

Running make should now succeed (and build all cmd/* 🙃)
Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>/cc @afrittoli @chmouel @sbwsg
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[ ] Includes tests (if functionality changed/added)
[ ] Includes docs (if user facing)
[x] Commit messages follow commit message best practices
[x] Release notes block has been filled in or deleted (only if no user facing changes)

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
/kind misc

/releease-note-none

/lgtm

/release-note-none

/kind misc

/lgtm
Looking Good! 🤙🏽


Exponential bound search

Was completely unsuccessful in my original goal of finding bounds... Will have to try something else.