text:
[Issue]: build is not working due to devtoolset-7-gcc-gfortran

Problem Description
/install.sh -cd
Creating project build directory in: ./build
Installing cmake3 from distro package manager
Last metadata expiration check: 1:23:38 ago on Sun Nov 17 21:43:19 2024.
Package cmake-3.26.5-2.el9.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Installing devtoolset-7-gcc-gfortran from distro package manager
Last metadata expiration check: 1:23:41 ago on Sun Nov 17 21:43:19 2024.
No match for argument: devtoolset-7-gcc-gfortran
Error: Unable to find a match: devtoolset-7-gcc-gfortran

sudo yum install devtoolset-7-gcc-gfortran
Last metadata expiration check: 1:24:29 ago on Sun 17 Nov 2024 09:43:19 PM PST.
No match for argument: devtoolset-7-gcc-gfortran
Error: Unable to find a match: devtoolset-7-gcc-gfortran

Operating System
rhel9
CPU
epyc
GPU
mi210
ROCm Version
ROCm 6.2.3
ROCm Component
No response
Steps to Reproduce
No response
(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support
No response
Additional Information
No response

Hi @jdgh000. Internal ticket has been created to investigate your issue. Thanks!

Hi @jdgh000, thanks for pointing this out. It looks like that install script has not been updated to support RHEL 9, although the install docs say it should be supported, and the script is trying to install requirements for CentOS 7 instead. As a quick workaround, you can try changing https://github.com/ROCm/hipSPARSE/blob/362bca4fd52b89c55e84378dffbdd57061e8da10/install.sh#L145 to local client_dependencies_centos_7=( "gcc-gfortran" ) . I'll check with the internal team to see if anything else needs to be updated here.

It looks like the dependencies should be the same as RHEL 8; as a quick workaround for now, you can change https://github.com/ROCm/hipSPARSE/blob/9e21155befa05bc476c95034b072a144df19be34/install.sh#L182 from == 8  to == 9.

Looks like install.sh i have in rocsparse is completely different, i can't find a place to fit in the L128 change.
Will this change be made into future rocm release?
git branch -r ; git log | head -1
m/roc-6.2.x -> rocm-6.2.4
commit 2d0f575b93394e2ef407336bc09b0d65d6c58dc6

actually i found it in 6.2.4, so I think it can be closed.

source: gharchive/issue

authors: jdgh000 ppanchad-amd schung-amd

repo: ROCm/hipSPARSE

license: MIT

license_type: permissive

license_source: github-api


text:
persistent kernel version of the flash attention forward + FLOP calculation fix when seqlen_q != seqlen_k

[x] I am not making a trivial change, such as fixing a typo in a comment.

[x] I have written a PR description following these
rules.

[x] I have run pre-commit run --from-ref origin/main --to-ref HEAD.

[x] This PR does not need a test because testing this new feature can be done with the modified unit tests inside the python/perf-kernels/flash-attention.py file.

[x] I have not added any lit tests.

Created a persistent kernel version of the attn_fwd as attn_fwd_persistent. Decided to create a separate kernel, because adding the while loop makes the code more complex to read and necessitates some minor changes (e.g. no return statements allowed inside while loop, which are used in attn_fwd).
In _attention.forward a command line argument -persistent controls which version of the kernel gets to run. With attn_fwd_persistent we only launch CUs * GRID_CU_MULTIP number of workgroups which then loop over the tiles. By specifying -persistent dynamic you activate dynamic scheduling of the tiles with atomic instructions (useful when causal=True).
Added a unit test for the persistent version test_op_persistent_fwd. Also fixed the calculation of FLOPs with unequal seqlen_q/k in the benchmark.
Benchmark Results:

We see only a minor increase in performance for small K lengths (512, 1024) from persistent kernels when doing non causal flash attention. When the K length increases, the kernel launch overhead has only a negligible role and we do not benefit from the persistent kernels. Further analysis required to find  out why do we actually see a small performance degradation when K length > 1024?
For causal flash attention we see a sizeable performance boost from using persistent kernels with dynamic fetching of the next tile. Why do we see the performance increase here but not in the non causal mode? With causal mode on we always have many small workload tiles (due to causal masking), and these small workload tiles benefit especially from the persistent kernel implementation.
I expect that the performance could be made even better with more comprehensive autotuning analysis. Resource utilization (e.g. achieved occupancy) is heavily dependent on autotuning with persistent kernels, where as with the baseline hardware scheduler can help to achieve good resource utilization.

CC @scxiao
Ths is great! Thanks @juuso-oskari . LGTM after comments addressed!

source: gharchive/pull-request

authors: juuso-oskari vgokhale

repo: ROCm/triton


text:
default to ROCm 5.5

Switching default ROCm version to 5.5

Before merging this PR, new ROCm database must be merged first:
https://github.com/ROCmSoftwarePlatform/migraphx-benchmark-utils/pull/27

repo: ROCmSoftwarePlatform/AMDMIGraphX


text:
Is hipSPARSE available on Windows ?

Hello Everyone,
Is hipSPARSE available on Windows ?
Thanks

hipSPARSE is not currently supported on Windows.

Thanks for this info!
Any plans to port hipSPARSE to Windows ?
I understand that AMD has dropped OpenCL support,
what solutions are available for HPC on Windows with AMD cards ?
Thanks again!

authors: doctorcolinsmith shock-pro

repo: ROCmSoftwarePlatform/hipSPARSE


text:
Fix vgpr index calculation in macro_igemm_2d_shared_store_t of shared_memory.py

The buggy codes does not cause issue by fwd-fp32 (igemm_gtc_fwd.py) since

in_sst_ctrl.vector_d1 is detected to be always 1 for all the configurations
wei_sst_ctrl.src_order =1, which lets the sst codes does not take the buggy path

The commit has been successfully tested with fwd/bwd/wrw.

repo: ROCmSoftwarePlatform/iGEMMgen


text:
Casting loads from bool tensors to tl.int1 causes hangs on ROCm

@jayfurmanek @zhanglx13 @binarman
cc: @dllehr-amd @jeffdaily
A PyTorch PR was merged which casts triton loads from boolean tensors to tl.int1 https://github.com/pytorch/pytorch/pull/110388. This change causes ROCm to hang even on triton-mlir TOT.
Reproducing triton code
import torch
import math
import random
import os

import triton
import triton.language as tl
from torch._dynamo.testing import rand_strided
from torch._C import _cuda_getCurrentRawStream as get_cuda_stream
from torch import empty_strided

@triton.jit
def triton_kn(in_ptr0, out_ptr0, xnumel, XBLOCK : tl.constexpr):
    xnumel = 20
    xoffset = tl.program_id(0) * XBLOCK
    xindex = xoffset + tl.arange(0, XBLOCK)[:]
    xmask = xindex < xnumel
    x0 = xindex
    tmp0 = tl.load(in_ptr0 + (x0), xmask).to(tl.int1)
    tmp1 = tmp0.to(tl.float32)
    tmp2 = tl.math.exp2(tmp1)
    tl.store(out_ptr0 + (x0), tmp2, xmask)

arg0_1 = rand_strided((20, ), (1, ), device='cuda:0', dtype=torch.bool)
buf0 = empty_strided((20, ), (1, ), device='cuda:0', dtype=torch.float32)
stream0 = get_cuda_stream(0)
triton_kn[(1,)](arg0_1, buf0, 1, 1, stream=stream0)

The same code passes if the cast is removed:
tmp0 = tl.load(in_ptr0 + (x0), xmask)
For now we have reverted this change for ROCm on PyTorch.

Investigation
Difference between hanging and non-hanging kernels
As @zhanglx13 noticed in the previous comment, there is difference in function calls generated for hanging and non-hanging kernels. In case of a hanging kernel, exp2 function call is replaced by ldexpf function call. This is LLVM middle end (target independent) optimization implemented in llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp file in function LibCallSimplifier::optimizeExp2. Goal of this function is to perform transforms:

exp2(sitofp(x)) -> ldexp(1.0, sext(x))  if sizeof(x) <= IntSize
exp2(uitofp(x)) -> ldexp(1.0, zext(x))  if sizeof(x) < IntSize

In general ldexp is simpler and more performant than exp2 since is requires only simple bit manipulation (source:https://stackoverflow.com/questions/39587752/difference-between-ldexp1-x-and-exp2x). Additionally, conversion from int to float is not required which saves few cycles as well.
###why is this optimization not performed in 'non-hanging' case?
In non hanging case, we use int8 which is a signed type, so situation 1) occurs. However, in signed type case, there are some previous transformations that ensure that subnormal values are handled properly, so IR before optimizeExp2 optimization looks like this:
%14 = load i8, ptr %13, align 1, !dbg !14
%15 = sitofp i8 %14 to float, !dbg !17
%16 = icmp slt i8 %14, -126, !dbg !18
%17 = select i1 %16, float 0x3BF0000000000000, float 1.000000e+00, !dbg !18
%18 = select i1 %16, float 6.400000e+01, float 0.000000e+00, !dbg !18
%19 = fadd float %18, %15, !dbg !18
%20 = tail call float @llvm.exp2.f32(float %19), !dbg !18
This won't be pattern matched, because optimizeExp2 only pattern matches code like this:
%19 = sitofp i8 %14 to float, !dbg !17
%20 = tail call float @llvm.exp2.f32(float %19), !dbg !18.
In int1 case, we have unsigned type, so there is no handling of subnormal values, so IR actually looks something like:
%19 = uitofp i8 %14 to float, !dbg !17
%20 = tail call float @llvm.exp2.f32(float %19), !dbg !18
Which is pattern matched in optimizeExp2 and thus optimization happens replacing exp2 with ldexp.
Why doesn't ldexp work properly?
As @zhanglx13 mentioned, in assembly we see call to library function ldexpf@gotpcrel32@lo+4. This is not supposed to happen. Rocm math libraries are shipped as bitcodes, and are supposed to be linked and inlined during compilation.
I was looking trough the llvm backend code  to see how is ldexp handled, and from what I could see, it appears that there is no proper handling of ldexp call in llvm 17 that we are currently using. I found newer commit in LLVM backend related to this: https://github.com/llvm/llvm-project/commit/0eabe65bfbb8eed5d0ffb3718fed3c9bbe058379.
Currently triton doesn't build with this version of llvm (where this commit is introduced) so I can't actually test if this fixes things, but it looks promising.
Other other thing that it could be, is that ocml library that we are using and llvm version are not in sync so different ldexp mnemonic is used, thus llvm is not able to reason about it. I will try to check if this is the case.
I think we should probably wait until next IFU lands, and we are able to build triton with llvm that uses this new handling of ldexp. If we still see the problem, we can debug further or even create ticket for LLVM backend guys.
To sum up, this looks like a backend issue to me, where ldexp is not properly lowered to llvm intrinsics.

Closing as completed

authors: jataylo jerryyin oplavsic

repo: ROCmSoftwarePlatform/triton


text:
add attribute to bleach.clean()

See issue 1 about markdownify not displaying images due to bleach.

Any plans on merging this?

Sorry, for some reason I'm not getting the notifications. I'll merge it. Thanks for the tweak.

authors: RRMoelker alexhayes erwinmatijsen

repo: RRMoelker/django-markdownify


text:
Ignore ValueType in JSON Schema generator

https://msdn.microsoft.com/en-us/library/windows/desktop/system.valuetype(v=vs.85).aspx
System.ValueType

https://github.com/RSuter/NJsonSchema/commit/6d4c4d55b095157ebad16dae0b4ef87cfbbdcd0d

repo: RSuter/NJsonSchema

license: mit

license_source: bigquery


text:
🛑 Olympiad (.dev) is down

In 38a02de, Olympiad (.dev) (https://olympiad.rtuitlab.dev/api/about) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Olympiad (.dev) is back up in e5f9479.

repo: RTUITLab/upptime


text:
Mis-categorization of drug-like nodes as biolink:Procedures

There seem to be a number of instances where drug-like nodes are mis-categorized as Procedures in KG2 - here are some examples (from KG2.7.2):

Node LOINC:LA14350-5 is named "Acetaminophen", but has a category of Procedure:

match (n {id:'LOINC:LA14350-5'}) return n

{
  "iri": "http://purl.bioontology.org/ontology/LNC/LA14350-5",
  "knowledge_source": "infores:loinc-umls",
  "category_label": "procedure",
  "deprecated": "True",
  "name": "Acetaminophen",
  "description": "UMLS Semantic Type: UMLSSC:T059",
  "provided_by": "umls_source:LNC",
  "id": "LOINC:LA14350-5",
  "category": "biolink:Procedure",
  "update_date": "2020"
}

Node HCPCS:Level%203%3A%20J7318-J7329 (not sure what's up with that ID?) is named "Hyaluronan", but has a category of Procedure:

match (n {id:'HCPCS:Level%203%3A%20J7318-J7329'}) return n

{
  "iri": "http://purl.bioontology.org/ontology/HCPCS/Level%203%3A%20J7318-J7329",
  "knowledge_source": "infores:hcp-codes-umls",
  "category_label": "procedure",
  "deprecated": "True",
  "name": "Hyaluronan",
  "description": "UMLS Semantic Type: UMLSSC:T123; UMLS Semantic Type: UMLSSC:T121; UMLS Semantic Type: UMLSSC:T109",
  "provided_by": "umls_source:HCPCS",
  "id": "HCPCS:Level%203%3A%20J7318-J7329",
  "category": "biolink:Procedure",
  "update_date": "2020"
}

Node UMLS:C0280988 is named "Macrophage Colony-Stimulating Factor/Monoclonal Antibody R24", but has a category of Procedure:

match (n {id:'UMLS:C0280988'}) return n

{
  "iri": "https://identifiers.org/umls:C0280988",
  "knowledge_source": "infores:umls",
  "category_label": "procedure",
  "deprecated": "True",
  "name": "Macrophage Colony-Stimulating Factor/Monoclonal Antibody R24",
  "provided_by": "identifiers_org_registry:umls",
  "id": "UMLS:C0280988",
  "category": "biolink:Procedure",
  "update_date": "2018"
}

While writing these examples up, I noticed that all three of them have deprecated=True, which is interesting. Does the KG2 team still fix bugs with deprecated nodes?

Asked by @amykglen:

Does the KG2 team still fix bugs with deprecated nodes?
Yes, that is our intention.

This query:
match (n {id: 'UMLS:C0280988'})-[r]-(m {category: 'biolink:Procedure'}) return m.id, m.name, r.predicate;

reveals that PDQ is the source of the seemingly incorrect category for UMLS:C0280988:
*m.id* | *m.name* | *r.predicate*
-- | -- | --
"PDQ:CDR0000041440" | "macrophage colony-stimulating factor/monoclonal antibody R24" | "biolink:close_match"

So, the relevant excerpt from umls-pdq.json is:
{
      "id" : "http://purl.bioontology.org/ontology/PDQ/CDR0000041440",
      "meta" : {
        "basicPropertyValues" : [ {
          "pred" : "http://www.w3.org/2004/02/skos/core#notation",
          "val" : "CDR0000041440"
        }, {
          "pred" : "https://identifiers.org/umls:has_cui",
          "val" : "C0280988"
        }, {
          "pred" : "http://www.w3.org/2004/02/skos/core#prefLabel",
          "val" : "macrophage colony-stimulating factor/monoclonal antibody R24"
        }, {
          "pred" : "https://identifiers.org/umls:has_tui",
          "val" : "T061"
        }, {
          "pred" : "http://www.w3.org/2004/02/skos/core#altLabel",
          "val" : "M-CSF/MOAB R24"
        } ]
      },
      "type" : "CLASS"

This is still a problem as of KG2.8.3:
match (n) where n.id in ['LOINC:LA14350-5', 'HCPCS:Level%203%3A%20J7318-J7329', 'UMLS:C0280988'] return n.id, n.category, n.name, n.provided_by

n.id
n.category
n.name
n.provided_by

"HCPCS:Level%203%3A%20J7318-J7329"
"biolink:Procedure"
"Hyaluronan"
"['infores:hcp-codes-umls']"

"LOINC:LA14350-5"
"biolink:Procedure"
"Acetaminophen"
"['infores:loinc-umls']"

"UMLS:C0280988"
"biolink:Procedure"
"Macrophage Colony-Stimulating Factor/Monoclonal Antibody R24"
"['infores:umls']"

@ecwood  If we drop LOINC, will this take care of the problem?  LOINC is such a pain.

We've already dropped LOINC, so we can check KG2.8.4 to see if the issue is fixed. But I do think it is likely that will fix the issue.

Ah, I forgot!  Great.

I added a note "LOINC dropped from KG2" to the KG2.8.4 section (the #307 issue) in the kg2-versions.md file in case I forget again

authors: amykglen ecwood saramsey


text:
Professeur - Consulter l'état d'avancement des élèves

Titre
En tant que professeur, je veux consulter l’état d'avancement dans les activités des élèves de ma classe afin de visualiser leur progression

HE201916 (Ikram)
Titre
En tant que professeur, je veux consulter l’état d'avancement dans les activités des élèves de ma classe afin de visualiser leur progression
Description
Des statistiques seront calculées et affichées afin de permettre aux enseignants de suivre l’avancement des apprentissages.
Les statistiques seront regroupées par école, par classe et par élève.
Critères d'acceptation
L'enseignant peut consulter les statistiques.
Dépendances techniques
Les réponses des élèves sont enregistrées dans la DB
Impact sur la DB
Accès en lecture sur la DB
Découpage en tâches
Ajout des endpoints pour récupérer les statistiques de la DB
Ajout d'un lien vers la page de suivi au menu
Ajout des tableaux et des graphiques de statistiques
Maquette

Complexité:
3 sur 5


text:
Added configurable formatters and framers.

Default behavior is backwards compatible (ie, it remains non-compliant).
But now we support RFC 3164 and RFC 5424 formats, and RFC 5425 message
framing.

Current coverage is 95.90%

Merging #13 into master will increase coverage by +2.25% as of 6521a59

@@            master    #13   diff @@
=====================================
  Files            6      8     +2
  Stmts          189    220    +31
  Branches        21     23     +2
  Methods          0      0
=====================================
+ Hit            177    211    +34
  Partial          2      2
+ Missed          10      7     -3

Review entire Coverage Diff as of 6521a59

Powered by Codecov. Updated on successful CI builds.

authors: codecov-io sirsean

repo: RackSec/srslog


text:
Fails at browser.get(url)

Here is the log output.
Requesting download of 327

DevTools listening on ws://127.0.0.1:53902/devtools/browser/d664c427-5b6e-42d4-bd1a-b48615354ff2
Sleeping for 15 seconds..
Attempting to login..
[67724:10928:0509/063124.813:ERROR:ssl_client_socket_impl.cc(962)] handshake failed; returned -1, SSL error code 1, net_error -100
Login successful...
Getting lesson links...
Traceback (most recent call last):
  File "driver.py", line 77, in <module>
    browser.get(url)
  File "C:\Users\Nishant\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 333, in get
    self.execute(Command.GET, {'url': url})
  File "C:\Users\Nishant\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Nishant\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: unhandled inspector error: {"code":-32000,"message":"Cannot navigate to invalid URL"}
  (Session info: chrome=73.0.3683.103)
  (Driver info: chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),platform=Windows NT 10.0.17134 x86_64)

D:\LA\LinuxAcademy-DL-master>[67724:10928:0509/063134.831:ERROR:ssl_client_socket_impl.cc(962)] handshake failed; returned -1, SSL error code 1, net_error -100
[67724:10928:0509/063156.751:ERROR:ssl_client_socket_impl.cc(962)] handshake failed; returned -1, SSL error code 1, net_error -100
[67724:10928:0509/063217.434:ERROR:ssl_client_socket_impl.cc(962)] handshake failed; returned -1, SSL error code 1, net_error -100

You're invoking the script in the wrong manner. Please read the instructions carefully.
For this case please invoke the script like this - python driver.py username password https://linuxacademy.com/cp/modules/view/id/327

repo: RahulShaw/LinuxAcademy-DL


text:
Option for custom keyword

Instead of the hardcoded lg

nvm browsers are stupid and this isn't an option

repo: Raicuparta/lemmy-go


text:
CI: run only tests of the changed components

With the current high level of decoupling between our components (BC, read models, processes) it feels like we could speedup CI/CD process by only running those component tests which could potentially be impacted by the change.
Anyone knows how to start with this?

as usual, steal from RES:
https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#onpushpull_requestpaths
https://github.com/RailsEventStore/rails_event_store/blob/master/.github/workflows/aggregate_root.yml#L2-L15
https://github.com/RailsEventStore/rails_event_store/blob/master/.github/workflows/ruby_event_store-outbox.yml#L2-L17

authors: andrzejkrzywda pawelpacana

repo: RailsEventStore/ecommerce


text:
🛑 HK区服 is down

In edee350, HK区服 (https://$HK_SERVER) was down:

HTTP code: 0
Response time: 0 ms

Resolved: HK区服 is back up in 386afa6.

repo: RainThings/uptime


text:
Add support for kFractionsType

/*
 *  Summary:
 *    Selectors for feature type kFractionsType
 */

public var kNoFractionsSelector: Int { get }
public var kVerticalFractionsSelector: Int { get }
public var kDiagonalFractionsSelector: Int { get }

Just submitted a PR for this!
https://github.com/Raizlabs/BonMot/pull/270

authors: EthanSchatzline ZevEisenberg

repo: Raizlabs/BonMot


text:
Dynamic scene spawning

I'm trying to implement spawning a dynamic de-/serializable scene to a World like this:
#[derive(Default, Serialize, Deserialize)]
#[serde(rename = "Entity")]
pub struct SerializableEntity {
    pub components: Vec<Arc<dyn SerializableComponent + 'static>>
}

#[derive(Default, Serialize, Deserialize)]
pub struct Scene {
    pub entities: Vec<SerializableEntity>,
}

pub trait SpawnSceneExt {
    fn spawn_scene(&mut self, scene: Scene);
}

impl SpawnSceneExt for CommandBuffer {
    fn spawn_scene(&mut self, scene: Scene) {
        for entity in scene.entities {
            let mut entity_builder = EntityBuilder::new();

            for component in entity.components {
                entity_builder.add(*component);
            }

            self.spawn(entity_builder.build());
        }
    }
}

where say SerializableComponent necessarily implements both Component and Serialize/Deserialize (using typetag crate)
But it consequentially results into an error:
error[E0277]: the size for values of type `dyn SerializableComponent` cannot be known at compilation time
  --> src/assets/scene.rs:55:36
   |
55 |                 entity_builder.add(*component);
   |                                --- ^^^^^^^^^^ doesn't have a size known at compile-time
   |                                |
   |                                required by a bound introduced by this call
   |

Is there a way to do it, or is this just impossible?

The issue is that EntityBuilder needs to know the size of the component, which means you need to pass it the concrete type. SerializableObject is a trait object which does not know the concrete type, but only information about how to execute the methods of the trait on the underlying object.
What you can do is move the entity_builder.add(...) call into the SerializableComponent trait. That way each implementation of the trait can handle insertion of its concrete type itself, where the knowledge is present.
I've implemented a plain non-hecs example in the Rust which shows how to achieve it: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=1a8557ebcc67432f1c402ecaba8d8387

authors: MathiasPius konceptosociala

repo: Ralith/hecs


text:
increase the pagesize for the allowed values store

Why?

Drop Downs for custom fields with many allowed values sometimes did not select their value on the initial page load if the selected value was not in the first page of results returned from the API

What?

Increase the pagesize from 200 to 2000, reducing the likelihood that users will run into the issue

Before merging this change into master, would you please also update the Version in "package.json"?
Example:
https://github.com/RallyTechServices/portfolio-items-url-shared-views/commit/ad0b1982e6d39480f64bdb26d1fa3384201cdfe4

Thanks, done!

authors: agradl matseitz-cisco


text:
Contribuição após mais de 2 anos de uso em produção em minha loja.

Caros, já tentei contribuir com o projeto anteriormente mas acebei não conseguindo publicar as implementações que fiz aqui no repositório. Vou tentar descrever aqui algumas das implementações que fiz para adaptar o sistema a minha necessidade (tenho uma assistência de informática) e caso possa ser útil para melhoria do sistema, peço que solicitem aos administradores do projeto que disponibilizem uma maneira de eu compartilhar com todos.
DASHBOARD
No dia a dia da minha empresa, tive a necessidade de ter uma visão ampla do andamento das OSs e por isso implementei um calendário no Dashboard que exibi as OSs em seus respectivos dias de vencimento de prazo as classificando por cores de acordo com o status e permitindo filtrar por status e técnico responsável, assim cada técnico pode filtrar as OSs sob sua responsabilidade.

OS
Fiz diversas alterações na OS, vou tentar descrever as principais.

Envio de e-mail de alerta ao cliente informando que houve uma alteração no status da OS;
Histórico de contato com cliente (possui um módulo só para esse cadastro onde pode ser inserido o registro manualmente e também registra o envio de emails de alerta);
Diagramação mais compacta exibindo somente as informações necessárias;
Impressão de 2 vias em umas mesma folha A4 permitindo entregar uma via ao cliente e anexar uma via ao equipamento;
Campos específicos para cadastro de equipamentos, campo oculto para anotações gerais que não é exibido ao cliente;
Tem outras melhorias, mas acredito que essas sejam as mais relevantes

COMPRAS
Criei esse módulo para registrar a compra de peças utilizadas na execução do serviço. Como eu trabalho com mão de obra, e não com venda de peças, precisei criar uma forma de registrar as peças utilizadas para execução do serviço:

CLIENTES
Adaptei o cadastro de clientes:

Máscara nos campos;
Campos adicionais de contato;
Preenchimento automático de endereço através do CEP;

Acho que estas são as principais. Tem muitas outras que não consigo demonstrar aqui de forma visual, mas que são impactantes em outros módulos.
Abraços!

Todas essas modificações parecem excelentes. Também trabalho com prestação de serviços de TI, e esses ajustes seriam um grande upgrade!

Boa tarde, essas alterações iria disponibilizar para todos? Excelente o que você fez.

Quero disponibilizar para todos como forma de contribuir com o projeto. Não tenho muito tempo para participar do desenvolvimento, então espero que algum dos mantedores do projeto possa analisar e incluir oq achar que pode ter utilidade. Fico a disposição para tirar possíveis dúvidas das modificações que fiz.

Olá @rafaelmarques, obrigado pela postagem, e parabéns pelo bom trabalho, com certeza podemos identificar funcionalidades que seriam úteis a todos. Caso tenha interesse podemos colocar esta versão em uma branch separada e com os devidos créditos. Grato.

Olá @rafaelmarques teria a possibilidade de poder baixar estas implementações que foi desenvolvidas.
Pois trabalho em uma mecanica de motoserras, nos fazemos venda de serviço e colocamos peças e seu sistema cadastra equipamentos eu conseguiria adaptar a minha realidade.
ficarei muito grato pela ajuda se possível, e parabéns a você e ao @RamonSilva20
obrigado

Boa tarde, amigo. Muito boa suas modificações. Servem para um N coisas algumas funções caso sejam implementadas pelo sistema. Vi "fornecedor R7" de fortal mano? rsrsrsrs.
Tenho algumas modificações em teste para postar tbm, no gatilho.

@RamonSilva20 fico a disposição. Se puder criar esse branch eu envio os arquivos.

@rafaelmarques cara... Eu ia acabar fazendo algumas coisas que você fez ainda bem que você apareceu rsrs. Eu conheci o sistema te pouco mais de 1 mês e meio e já estava pensando em melhorias para adaptar ao meu dia a dia. Também tenho interesse em ajudar na melhoria do projeto e em breve vou arrumar um tempo para estudar o código e ajudar. Sobe sua atualização depois para darmos uma olhada, valeu mesmo!

@rafaelmarques você corrigiu aquele problema de fazer um filtro de um status por exemplo e quando clicamos na página 2 ele desfaz o filtro ?

@wallaceco86 Pode explicar mais detalhadamente esse problema de filtros?
Talvez criar uma issue separada para isso será melhor.
Posso tentar ajustar esse problema.

Olá @rafaelmarques fiz down do seu mapos moding porem ao fzr testa no meu xammp nao tem todas essas alteraçoes que mostra por aqui, apenas o lance do CEP que na vrs 3.1.11 tem tb, teria como upar essa versao com essas alteraçoes que demonstra aqui no comments? Obg e Abçs..

Boa tarde Gente.
Esperem o Ramon criar a branch. O Rafael mandar o código.
Ai podem testar e ver os detalhes. Se os erros continuarem, ai sim comenta
pela mesma.
Atenciosamente,
Em qua, 25 de jul de 2018 às 13:38, Johnny´S.. notifications@github.com
escreveu:

Olá @rafaelmarques https://github.com/rafaelmarques fiz down do seu
mapos moding porem ao fzr testa no meu xammp nao tem todas essas alteraçoes
que mostra por aqui, apenas o lance do CEP que na vrs 3.1.11 tem tb, teria
como upar essa versao com essas alteraçoes que demonstra aqui no comments?
Obg e Abçs..
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/RamonSilva20/mapos/issues/164#issuecomment-407818572,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG8eAmMcJhEtGxYQo-LYIM8kdO9HnFv_ks5uKJ8agaJpZM4VZfZV
.

--
CONFIDENCIAL. SUJEITO A PRIVILÉGIO LEGAL DE COMUNICAÇÃO, PROTEGIDO NOS
TERMOS DA LEI. Esta mensagem e seus anexos são endereçados exclusivamente
para seu destinatário e podem conter informações confidenciais ou
privilegiadas e legalmente protegidas, sujeitas a sigilo profissional.  Se
você não é o destinatário ou uma pessoa autorizada para recebê-la, você não
deve usar, copiar, divulgar ou tomar qualquer ação com base nesta mensagem
ou quaisquer informações nela contidas. Se você recebeu esta mensagem por
engano, por favor, informe o remetente imediatamente, respondendo o e-mail
e exclua esta mensagem do seu computador. O conteúdo desta mensagem e seus
anexos não necessariamente exprimir o parecer ou a intenção da empresa e
fazer não implica qualquer obrigação legal ou responsabilidades essa
empresa.

Boa noite, acabei ver uma nova branch chamasa custom, essa é a versão do @rafaelmarques? Se sim, podemos utilizar o banco de dados do antigo ou terá que modificar alguma coisa no banco? Obrigado

Boa noite. Eu somente criei a branch @acinformatica2004. Agora temos que ver como vamos fazer para colocar os arquivos, se o @rafaelmarques vai enviar um pull request ou se vai me enviar os arquivos para fazer um merge local.

Gostaria de saber como faço pra colocar essas linhas no final para o cliente assinar e abaixo alguns termos como na amostra do nosso amigo @rafaelmarques fez.

Olá.
Em “view” tem a pasta OS. Dentro encontra VisualizaOS. Neste, pode
adicionar as informações que deseja.
Abraços.
On Fri, 27 Jul 2018 at 14:29 Johnny´S.. notifications@github.com wrote:

Gostaria de saber como faço pra colocar essas linhas no final para o
cliente assinar e abaixo alguns termos como na amostra do nosso amigo
@rafaelmarques https://github.com/rafaelmarques fez.
[image: image]
https://user-images.githubusercontent.com/13845734/43337190-7a038f3c-91a9-11e8-9368-a229632c4540.png
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/RamonSilva20/mapos/issues/164#issuecomment-408486604,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG8eAmNcqY6Zv-lvwcqYIkPOajwGf81Nks5uK04KgaJpZM4VZfZV
.

--
Atenciosamente,
--
CONFIDENCIAL. SUJEITO A PRIVILÉGIO LEGAL DE COMUNICAÇÃO, PROTEGIDO NOS
TERMOS DA LEI. Esta mensagem e seus anexos são endereçados exclusivamente
para seu destinatário e podem conter informações confidenciais ou
privilegiadas e legalmente protegidas, sujeitas a sigilo profissional.  Se
você não é o destinatário ou uma pessoa autorizada para recebê-la, você não
deve usar, copiar, divulgar ou tomar qualquer ação com base nesta mensagem
ou quaisquer informações nela contidas. Se você recebeu esta mensagem por
engano, por favor, informe o remetente imediatamente, respondendo o e-mail
e exclua esta mensagem do seu computador. O conteúdo desta mensagem e seus
anexos não necessariamente exprimir o parecer ou a intenção da empresa e
fazer não implica qualquer obrigação legal ou responsabilidades essa
empresa.

Amigo @darouca como eu disse, sei onde fica as pastas como informei sei onde esta o arquivo e sei como chegar la, nao sei como colocar as linhas como informado acima. sabe como fazer? Eu acredito que seja algo fixo, pois no sistema nao tem necessidade de colocar esses termos nem as linhas. Gostaria que minha OS imprimida ficasse como do nosso amigo @rafaelmarques

Vamos aguardar o código que ele ficou de enviar.
Atenciosamente,
Em sáb, 28 de jul de 2018 às 09:50, Johnny´S.. notifications@github.com
escreveu:

Amigo @darouca https://github.com/darouca como eu disse, sei onde fica
as pastas como informei sei onde esta o arquivo e sei como chegar la, nao
sei como colocar as linhas como informado acima. sabe como fazer? Eu
acredito que seja algo fixo, pois no sistema nao tem necessidade de colocar
esses termos nem as linhas. Gostaria que minha OS imprimida ficasse como do
nosso amigo @rafaelmarques https://github.com/rafaelmarques
[image: image]
https://user-images.githubusercontent.com/13845734/43356670-502066f2-924b-11e8-8d9f-06a014c10c36.png
[image: image]
https://user-images.githubusercontent.com/13845734/43356685-97c8d52a-924b-11e8-9afb-fc136a74e513.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/RamonSilva20/mapos/issues/164#issuecomment-408605970,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG8eAl9uav1igQvE8E2GyMR3ZQ4TLL48ks5uLF4AgaJpZM4VZfZV
.

--
CONFIDENCIAL. SUJEITO A PRIVILÉGIO LEGAL DE COMUNICAÇÃO, PROTEGIDO NOS
TERMOS DA LEI. Esta mensagem e seus anexos são endereçados exclusivamente
para seu destinatário e podem conter informações confidenciais ou
privilegiadas e legalmente protegidas, sujeitas a sigilo profissional.  Se
você não é o destinatário ou uma pessoa autorizada para recebê-la, você não
deve usar, copiar, divulgar ou tomar qualquer ação com base nesta mensagem
ou quaisquer informações nela contidas. Se você recebeu esta mensagem por
engano, por favor, informe o remetente imediatamente, respondendo o e-mail
e exclua esta mensagem do seu computador. O conteúdo desta mensagem e seus
anexos não necessariamente exprimir o parecer ou a intenção da empresa e
fazer não implica qualquer obrigação legal ou responsabilidades essa
empresa.

Vamos aguardar o código que ele ficou de enviar.
Atenciosamente,
Em sáb, 28 de jul de 2018 às 09:50, Johnny´S.. notifications@github.com
escreveu:

Amigo @darouca https://github.com/darouca como eu disse, sei onde fica
as pastas como informei sei onde esta o arquivo e sei como chegar la, nao
sei como colocar as linhas como informado acima. sabe como fazer? Eu
acredito que seja algo fixo, pois no sistema nao tem necessidade de colocar
esses termos nem as linhas. Gostaria que minha OS imprimida ficasse como do
nosso amigo @rafaelmarques https://github.com/rafaelmarques
[image: image]
https://user-images.githubusercontent.com/13845734/43356670-502066f2-924b-11e8-8d9f-06a014c10c36.png
[image: image]
https://user-images.githubusercontent.com/13845734/43356685-97c8d52a-924b-11e8-9afb-fc136a74e513.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/RamonSilva20/mapos/issues/164#issuecomment-408605970,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG8eAl9uav1igQvE8E2GyMR3ZQ4TLL48ks5uLF4AgaJpZM4VZfZV
.

--
CONFIDENCIAL. SUJEITO A PRIVILÉGIO LEGAL DE COMUNICAÇÃO, PROTEGIDO NOS
TERMOS DA LEI. Esta mensagem e seus anexos são endereçados exclusivamente
para seu destinatário e podem conter informações confidenciais ou
privilegiadas e legalmente protegidas, sujeitas a sigilo profissional.  Se
você não é o destinatário ou uma pessoa autorizada para recebê-la, você não
deve usar, copiar, divulgar ou tomar qualquer ação com base nesta mensagem
ou quaisquer informações nela contidas. Se você recebeu esta mensagem por
engano, por favor, informe o remetente imediatamente, respondendo o e-mail
e exclua esta mensagem do seu computador. O conteúdo desta mensagem e seus
anexos não necessariamente exprimir o parecer ou a intenção da empresa e
fazer não implica qualquer obrigação legal ou responsabilidades essa
empresa.

Falei com o Ramon e em breve o código vai estar disponível pra todos. Abs
Como eu disse, fui fazendo conforme a necessidade e sem tempo. Vai ter muita coisa hard coded e que com certeza pode ser programado bem melhor.
abs

@rafaelmarques pode ao menos me passar como faço pra colocar as linhas na impressão com os nomes abaixo delas e junto um termo onde o cliente declara estar ciente etc. como nessa do print? Pois tive prejuízo com cliente por conta de não ter esse termo escrito, então ele alegou q não estava ciente de tal conserto assim me prejudicando num reparo. Ficaria muito grato so por essa ajuda mesmo, mesmo q não peço obrigado pela contribuição mesmo assim.

@santoslao você tem alterar a view visualizarOS. Tente adicionar o código abaixo ao final da OS:
Qualquer coisa me mande um email, assim não poluímos o tópico com ajudas específicas. Abs

                                         <?php echo $result->nome ?>
                                         <?php echo $result->nomeCliente?>

Obs: PAGAMENTO: Somente em dinheiro. ORÇAMENTO: Em caso de desistência após a realização do diagnóstico será cobrado a taxa de R$ 50,00. CUSTÓDIA: Na ausência de comunicação por um prazo superior à 30 dias os equipamentos serão enviados para nosso depósito sendo necessário agendar data para a retirada dos mesmos.

@rafaelmarques lhe peço muitíssimo obrigado, consegui oq eu queria, mas coloquei na imprimirOS também pois uso a vs 3.1.11, queria algo fixo ao imprimir. Tive que reduzir o tamanho da fonte na impressao pois ao imprimir com valor estava dando 2 folhas, apenas OS estava normal, segue como ficou meus mandamentos para empresa.

Bom dia, vc mudou o tamanho da fonte na OS toda? Se sim, onde mudou?
Obrigado

mudei dentro dos termos que redigi apenas na impressão. Mas na hora de imprimir coloco em 80% pra nao quebrar linhas nos termos.

Não. Acredito que o Ramon ainda não criou um branch com minha versão.

Pessoas, estou recebendo muitos emails e não tenho como ficar respondendo. Disponibilizar o código aqui foi justamente pra que o suporte não ficasse em mim. Até que o ramon disponibilize a branch, quem quiser pode acessar um repositório que criei no link https://github.com/rafaelmarques/mapos-hafael

Bom dia,
Alguém tentou experimentar essa versão modificada de Rafael Marques?
O usurário e senha padrão parecem estar diferentes da versão original e não consegui autenticar. Também tentei copiando o hash da senha padrão do banco de dados da versão original mas não autenticou...
Alguém testou?
Obrigado.
Get Outlook for iOShttps://aka.ms/o0ukef

From: Rafael Marques notifications@github.com
Sent: Friday, August 3, 2018 10:41:26 PM
To: RamonSilva20/mapos
Cc: Subscribed
Subject: Re: [RamonSilva20/mapos] Contribuição após mais de 2 anos de uso em produção em minha loja. (#164)
Pessoas, estou recebendo muitos emails e não tenho como ficar respondendo. Disponibilizar o código aqui foi justamente pra que o suporte não ficasse em mim. Até que o ramon disponibilize a branch, quem quiser pode acessar um repositório que criei no link https://github.com/rafaelmarques/mapos-hafael
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/RamonSilva20/mapos/issues/164#issuecomment-410413275, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMW1UUldVUJC_lW2dpkyPZ40TaD91UfDks5uNPvGgaJpZM4VZfZV.

@P4R4G0N
o login é: admin@email.com
a password é: 123456

Tem um bug, nao consigo logar no sistema, clica em logar nao acontece nada

essas modificações foram feita em cima da versao 3.1.11  do mapos?

usuario admin@email.com  senha 123456  e nao entra ...

resolvido era admin@admin.com   :)

Alguém sabe se da pra usar essas modificações em cima da 3.1.11 ?

Os relatórios nao funcionam nesse custom

Os relatórios não atendiam minhas necessidades, comecei a modificar mas ia levar muito tempo pra deixar como eu queria. Ainda vou voltar a desenvolver essa parte, mas pra atender oq preciso foi mais rápido exportar os dados e gerar os relatórios fora. Pretendo criar uma área de relatórios bem flexível, mas não tenho prazo pra colocar no ar.

consegui fazer funcionar trocando o protocolo la na hospedagem para mail ao invés de SMTP,  agora to tentando fazer o email enviar a OS anexada para o cliente, isso seria otimo..

Já ajustou em System>Libraries>Email.php. Eu uso SMTP para enviar através do Gmail que usa portas diferentes no SMTP com SSL.

rafaelmarques ja ta funcionando aqui, me diz uma coisa tu sabe se é muito difícil fazer o Email.php enviar a OS em anexo?  tentei aqui mas nao consigo

Então, eu tinha começado a fazer e não terminei. Vejo duas possibilidades. Usar o próprio código html da OS no corpo do email, ou gerar um PDF e anexar. Eu tinha começado com o PDF mas não concluí. Vou ver se retomo pois tbm tenho essa necessidade. Assim que eu tiver alguma coisa pronta eu publico.

rafaelmarques,  acho que a maneira mais rápida e simples de fazer isso é definir variáveis no campo de mensagem do email e enviar tudo como HTML como você falou, mas o problema que vejo é a formatação disso tudo como variável.

Já está enviando. Mas tem que ajustar todo css pra deixar inline. To sem tempo. Mas vê ai se já ajuda.

Boa noite, é possivel utilizar o banco de dados da versão do ramon? Caso não, é possivel fazer um update desse para ser utilizado a versão já em uso do ramon, digo isso, pois ja utilizo a do ramon e tenho um numero razoavel de informações nele.
Obrigado

acinformatica2004  Não é compatível, varias tabelas diferentes são necessárias, e a encriptação do banco também é diferente,  mas se você tem tempo e dedicação, dá para migrar a base na mão, criando os inserts do banco do ramon no banco custom,  desabilitando as forekeys antes e dando inserts com selects na ordem certa, eu fiz assim no meu, levei 2 dias para acertar tudo como eu queria.

confesso que gostei muito dessa custom porem eu estava usando a vs 3.11 e o db nao funciona com ela, alguma forma de fzr funcionar?

santoslao  sua resposta esta logo acima no meu ultimo comentario

@luc1anocruz mas serve para downgrade da vs 3.11 para essa do nosso amigo rafael? veja o print do erro do meu db vs3.11 na vs custom..

Boa noite, fiz algumas alterações no meu sistema, porem agora quando entro para editar a OS acontece o que esta na imagem em anexo.
Alguem poderia me ajudar.
Obrigado

Boa noite, alguem sabe me falar pq na hr de logar o sistema mostra mensagem de senha incorreta,  utilizei o padrao, admin@email... e senha de 1 a 6 e da msg de erro

Aguem poderia colocar o projeto disponível novamente, eu o tinha mas perdi o HD

Olá @heliocristaldo. O projeto está na branch custom.

Estou com problema para logar no sistema. Coloco admin@admin.com e senha 1...6 mas quando coloco para fazer login nada acontece! Mas se eu digitar senha errada ele acusa que ta errado.

acinformatica2004  Não é compatível, varias tabelas diferentes são necessárias, e a encriptação do banco também é diferente,  mas se você tem tempo e dedicação, dá para migrar a base na mão, criando os inserts do banco do ramon no banco custom,  desabilitando as forekeys antes e dando inserts com selects na ordem certa, eu fiz assim no meu, levei 2 dias para acertar tudo como eu queria.

Tava precisando da sua ajuda para me salvar nessa questão, pois uso a versão mais nova do Mapos e queria colocar essas funcionalidades do @rafaelmarques nela, poderia me ajudar? Quanto cobraria para me fazer isso? Meu Zap (84) 99600-8631

Olá, essas alterações foram disponibilizadas?


text:
Feature Request: Filter Feed List

In the latest version (5.0.2), when you click on a folder, it feed list shows only the new items.  If you expand the folder and click on an individual feed, it shows all the items, which on feeds that maintain a large list of back stories (ie HackerNews, etc) can make new items at the bottom of the list (depending on how you have the items sorted).
It would be nice, if at the top of the feed list, you had the ability to filter the currently displayed list, perhaps the ability to create smart lists.
For example, the quick morning mockup below would allow me to filter (from left) for Unread items, Read items and Starred items.  I also moved the "Mark All as Read" button to this to be more indicative of what I'm marking as read.
A secondary addition would be the ability to create Smart Filters for this area as well, for example, I could create a "Today" smart filter.

This is a duplicate of a couple different requests already on the bug tracker — the ability to create smart feeds and the ability to show/hide already-read articles.

Filtering functionality is coming in 5.1.  Closing this issue.

authors: MDWolinski brentsimmons vincode-io

repo: Ranchero-Software/NetNewsWire


text:
Context menu doesn’t appear for smart feeds (regression)

I’m pretty sure we had a context menu for Today, All Unread, and Starred — but it doesn’t appear in 6.

I'll take this one.

authors: brentsimmons stuartbreckenridge


text:
Add .net interactive .ipynb example

use this OJS notebook for example: https://observablehq.com/@randomfractals/chicago-speed-camera-locations

.net html table gen. result:

this no longer works in vscode v1.58.0. stuck in endless cell run loop:

@alefragnani was able to run, but it took way too long to load results too ...

also, why is the result of JSON doc parse outputed in html format by .net interactive?

will need to look at this example to reformat .net json document for json cell output mime type and display:
Geo 🌐 Data Table 🈸 View

Install REST Book 📓 vscode extension

Load World 🌐 Rivers REST Book 📓

Run All cells ⌗

Click on ... in the gutter of GET data output and change it to Data Table 🈸 for geo table view:

got it to work in CodeSpaces. Just need to add .Net Interactive notebook example info to docs.

see: https://github.com/RandomFractals/vscode-data-table#net-interactive-notebook-example

repo: RandomFractals/vscode-data-table


text:
Entry names should not be URI-encoded in directory listings

The items in the JSON object returned from GET hyper://PUBLIC-KEY/ should not be URI-encoded.
Currently, results look like ["path%20with%20spaces/"], instead of expected ["path with spaces/"].

I'm not sure how to test this, since https://github.com/RangerMauve/hypercore-fetch/blob/24131cad3edc29b51da519b79cca1072b62c2821/test.js#L85 passes, indicating that the string is not URI-encoded.
However, when I add a file to my local hyperdrive at a path containing special characters, the array that I get back from curl does contain URI-encoded strings. I.e., curl "http://localhost:4973/hyper/sw8dj5y9cs5nb8dzq1h9tbjt3b4u3sci6wfeckbsch9w3q7amipy/" returns ["path%20with%20spaces"].

Mind posting your CURL request here as well as the request/response headers?

For creating the drive
For adding the file with a space
for listing the directory items

My gut feeling is that cURL is doing some sort of extra encoding when you specify the space in the file name, but I'm not sure.

This was due to an issue in hyperdrive.el where we decoded the output of directory GET responses.

authors: RangerMauve josephmturner

repo: RangerMauve/hypercore-fetch


text:
Cannot overwrite ActionRevertFallbackEvents

Rasa version:  0.14.5
Rasa SDK:  0.14.0
Python version: 3.6
Operating system: RHEL7 (CentOs)
Issue: To overcome the issue described in https://forum.rasa.com/t/two-stage-fallback-policy-sms-voice/9880/2 we were considering to overwrite the ActionRevertFallbackEvents  action. However, due to incompatibility between the DialogueStateTracker and the Tracker class of the SDK this is not possible.
It feels like all functionalities needed to run the default actions in rasa.core.actions should be also available in the sdk tracker?
We are currently still using the older Rasa version in production due to migration issues. However after checking the relevant pieces of code in the latest release, this issue is still present.
Error (including full traceback):
Traceback (most recent call last):
  File "/home/.conda/envs/rasa/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/.conda/envs/rasa/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/.conda/envs/rasa/lib/python3.6/site-packages/flask_cors/extension.py", line 161, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "/home/.conda/envs/rasa/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/.conda/envs/rasa/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/.conda/envs/rasa/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/.conda/envs/rasa/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/.conda/envs/rasa/lib/python3.6/site-packages/flask_cors/decorator.py", line 128, in wrapped_function
    resp = make_response(f(*args, **kwargs))
  File "/home/.conda/envs/rasa/lib/python3.6/site-packages/rasa_core_sdk/endpoint.py", line 59, in webhook
    response = executor.run(action_call)
  File "/home/.conda/envs/rasa/lib/python3.6/site-packages/rasa_core_sdk/executor.py", line 185, in run
    events = action(dispatcher, tracker, domain)
  File "/data/cases/sada-chatbot-live/ya1-action-server/src/main/python/actions/policy_actions.py", line 98, in run
    if has_user_rephrased(tracker):
  File "/home/.conda/envs/rasa/lib/python3.6/site-packages/rasa_core/policies/two_stage_fallback.py", line 22, in has_user_rephrased
    return tracker.last_executed_action_has(ACTION_DEFAULT_ASK_REPHRASE_NAME)
AttributeError: 'Tracker' object has no attribute 'last_executed_action_has'

Command or request that led to error:
Executing the action ActionRevertFallbackEvents on the action server, even without making changes.

Thanks for raising this issue, @wochinge  will get back to you about it soon.

@MichaelMarien I replied to you in the forum regarding the issue with the TwoStageFallbackPolicy. I think it's best if we continue the discussion about the usage of the policy there.
Regarding the different Tracker implementations in rasa and rasa-sdk:

I totally understand that this is confusing. We are currently discussing it in the team, how can make the difference more obvious. I will link this issue to the ongoing discussion. However, the current plan is not to keep these two classes synchronized, since rasa and rasa-sdk are two different packages in the end. This is also why I'd label this issue as wontfix
You can implement the same logic yourself, but I actually don't think you need this (see my answer in the forum).

authors: MichaelMarien akelad wochinge

repo: RasaHQ/rasa


text:
Conflicting condition on required_slots  between rasa open source and rasa X

Rasa version : 2.6.0
Rasa X version : 0.39.3
Python version : 3.9
Operating system : Ubuntu 20.04 [rasa running in k8s v1.20.1]
I am using the helm rasa-x chart for my deployment of rasa , rasa x and the rasa action server
Issue : When switching to rasa version 2.6.0 rasa requires required_slots to be of type dict while rasa x won't pull from git when required_slots is not a list.
Error (including full traceback) : Error from rasa open source worker log when `required_slots' is a list
/opt/venv/lib/python3.8/site-packages/rasa/shared/utils/io.py:97: UserWarning: Loading domain from '/tmp/tmpqn9y77_1/data.yml' failed. Us ing empty domain. Error: 'The slots for form 'form_questionnaire' were specified as '<class 'list'>'. They need to be specified as dictio nary. Please see https://rasa.com/docs/rasa/forms for more information.'
Error from rasa x log when required_slots is a dictionary:
return await self._force_inject_latest_remote_changes() File "/usr/local/lib/python3.8/dist-packages/rasax/community/services/integrated_version_control/git_service.py", line 1219, in force inject_latest_remote_changes await self._inject_data() File "/usr/local/lib/python3.8/dist-packages/rasax/community/services/integrated_version_control/git_service.py", line 1191, in _inject _data await rasax.community.initialise.inject_files_from_disk( File "/usr/local/lib/python3.8/dist-packages/rasax/community/initialise.py", line 352, in inject_files_from_disk inject_domain( File "/usr/local/lib/python3.8/dist-packages/rasax/community/initialise.py", line 206, in inject_domain raise InjectionError(f"Could not inject domain. Details:\n
{e}
") rasax.community.initialise.InjectionError: Could not inject domain. Details: The slot mappings for slot 'required_slots' in form 'form_add_micturition' have type '<class 'dict'>'. It is required to provide a list o f slot mappings. Please see https://rasa.com/docs/rasa/forms for more information.
The relevant form :
 form_questionnaire:
 required_slots:
 disease:

*   entity: disease
     type: from_entity

Thanks for raising this issue, @b-quachtran will get back to you about it soon✨
Please also check out the docs and the forum in case your issue was raised there too 🤗

Thank you for raising this issue about Rasa X. We decided to stop supporting the Community Edition (free version) of ‘Rasa X’ (see more info here: https://rasa.com/blog/rasa-x-community-edition-changes/). That’s why we’ve closed your issue. We suggest that Rasa Enterprise customers raise the issue with our customer support team if they haven’t done so already.

authors: alexweidauer hakrac sara-tagger


text:
Followup to Segment growth investigation: check if AWS Linux events have CI false/true

Context:
Looking into the recent linear growth in Segment data, the initial findings were published in this thread.
The action that was taken was to update the telemetry CI check with AWS CI environment variables to verify the hypothesis whether the events contributing to the growth are part of a CI pipeline.
Definition of Done:

[ ] check if CI true hypothesis was correct
[ ] update explanation for cause behind Segment data growth

@ancalita numbers are going down now, but the proportion of ci=true events didn't increase significantly, see numbers here.
I'm not sure if the hypothesis is correct or not, because to validate it it would have required users to upgrade to a newer version of Rasa. I'd say we can close this issue for now. We can always reopen later.

authors: ancalita m-vdb


text:
let buttons template accept string replacement from existing slot-values

Proposed changes:

as an example in domain.yml, if we define buttons:

  utter_ask_example:
    - text: "example {slot_1}？"
      buttons:
      - title: "{slot_2}"
        payload: '/choose{"slot_2": "{slot_2}"}'

during the templating, only the wildcard {slot_1} will be filled with the value of slot_1, wildcards defined in buttons will not be processed.
This Pull Request is to update with adding a feature such that wildcards defined in the buttons template will be picked and replaced. This is particularly useful when button slot values are dynamic and generated as conversation flows.
Status (please check what you already did):

[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog (please check changelog for instructions)
[ ] reformat files using black (please check Readme for instructions)

 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.8key seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for submitting a pull request 🚀 @JustinaPetr will take a look at it as soon as possible ✨

Yep, let me take a look first.
Best

From: Tobias Wochinger notifications@github.com
Sent: Tuesday, May 26, 2020 5:06 PM
To: RasaHQ/rasa rasa@noreply.github.com
Cc: Greg Dingyu Zhang t_zhangdingyu@hotmail.com; Mention mention@noreply.github.com
Subject: Re: [RasaHQ/rasa] let buttons template accept string replacement from existing slot-values (#5850)
@wochinge requested changes on this pull request.
@8keyhttps://github.com/8key Thanks a lot for your contribution and your initiative to fix this! 🎉Funny enough, this is actually already supported but doesn't work due to a bug.
It should be buttons (note the s) and not button in this line https://github.com/RasaHQ/rasa/blob/96a46713869b7ef7dd40885d1d173f6d97d07bfe/rasa/core/nlg/template.py#L112 .
This would also require fixing some of the tests in the following module, e.g.: https://github.com/RasaHQ/rasa/blob/39b15969935c619a5e6f7298fe4577799ef4286b/tests/core/test_nlg.py#L266 (all the tests use button instead of buttons).
Would you mind adapting your pull request? 🙏
It might further make sense to introduce a constant for buttons to avoid this in the future. However, it might make sense to handle this in a separate PR.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/RasaHQ/rasa/pull/5850#pullrequestreview-418108193, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHAN6ZHJWRKUYMXGAB2YKFTRTOBCJANCNFSM4NEIKHJA.

@8key Thanks a lot for your contribution and your initiative to fix this! 🎉Funny enough, this is actually already supported but doesn't work due to a bug.
It should be buttons (note the s) and not button in this line
https://github.com/RasaHQ/rasa/blob/96a46713869b7ef7dd40885d1d173f6d97d07bfe/rasa/core/nlg/template.py#L112
.
This would also require fixing some of the tests in the following module, e.g.:
https://github.com/RasaHQ/rasa/blob/39b15969935c619a5e6f7298fe4577799ef4286b/tests/core/test_nlg.py#L266
(all the tests use button instead of buttons).
Would you mind adapting your pull request? 🙏
It might further make sense to introduce a constant for buttons to avoid this in the future. However, it might make sense to handle this in a separate PR.

@wochinge Just had a second check, simply fixing button --> buttons won't fix the bug, as the input to interpolate  function
https://github.com/RasaHQ/rasa/blob/96a46713869b7ef7dd40885d1d173f6d97d07bfe/rasa/core/nlg/interpolator.py#L42
is either dict or str, whereas the input from buttons is list. instead of touching that recursive interpolate function, I added a new function to handle buttons wildcard replacement.
Can you take a look and let me know.
Thanks

@8key Is this ready for another review?

Yes

From: Tobias Wochinger notifications@github.com
Sent: Wednesday, June 3, 2020 4:19 PM
To: RasaHQ/rasa rasa@noreply.github.com
Cc: Greg Dingyu Zhang t_zhangdingyu@hotmail.com; Mention mention@noreply.github.com
Subject: Re: [RasaHQ/rasa] let buttons template accept string replacement from existing slot-values (#5850)
@8keyhttps://github.com/8key Is this ready for another review?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/RasaHQ/rasa/pull/5850#issuecomment-638040648, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHAN6ZH2ZIRYKRSN357XBGTRUYBQVANCNFSM4NEIKHJA.

Awesome, will give it a review as soon as possible 👍

@wochinge Updated accordingly, pls check

@8key Can you please sign the Contributor License Agreement so that we can merge? 🙏

@8key Can you please sign the Contributor License Agreement so that we can merge? 🙏

Hello @wochinge I am not sure if i have signed, i only saw this

Hello @wochinge I am not sure if i have signed, i only saw this

Exactly this one. If you scroll down, there should be a button to sign it.

Hello @wochinge I am not sure if i have signed, i only saw this

Exactly this one. If you scroll down, there should be a button to sign it.

But it says I have already signed.

Hello @wochinge I am not sure if i have signed, i only saw this

Exactly this one. If you scroll down, there should be a button to sign it.

But it says I have already signed.

@wochinge could that be because the previous commit used my local user account which is greg@dingyus-MacBook-pro.local, do you know how to fix this?

could that be because the previous commit used my local user account which is greg@dingyus-MacBook-pro.local, do you know how to fix this?

@8key Yes, I think that's it. Some commits were made with an Git author which isn't connected to GitHub. You could do rebase which squashes all commits. You should just make sure that the rebase is done by the Git author which is connected to your GitHub account. git config --global user.email should be an email which is connected to your GitHub account. If you used a different email for the other account, you could also try adding this one to GitHub 🤔

could that be because the previous commit used my local user account which is greg@dingyus-MacBook-pro.local, do you know how to fix this?

@8key Yes, I think that's it. Some commits were made with an Git author which isn't connected to GitHub. You could do rebase which squashes all commits. You should just make sure that the rebase is done by the Git author which is connected to your GitHub account. git config --global user.email should be an email which is connected to your GitHub account. If you used a different email for the other account, you could also try adding this one to GitHub 🤔

Okay let me try

@8key how is it going?

@8key how is it going?

I tried to following
i am on my branch
i do rebase
git rebase -i d4230c5
and i change to edit
edit 5d8ae597f4e let button template accept string replacement from existing slot-values
pick 681b6424b04 fix format
pick 199e780222f add line space as per lint
pick 1cc86bbea5b create plotting utils
pick 279f6abc500 write errors and successes for responses
pick 82d6e68d3c3 fix file names
......

and i do update
git commit --amend --author="8key <t_zhangdingyu@hotmail.com>"
[detached HEAD c2acf72d2b6] let button template accept string replacement from existing slot-values
 Date: Mon May 18 12:44:03 2020 -0400
 2 files changed, 25 insertions(+), 3 deletions(-)

and i do continue
git rebase --continue
CONFLICT (add/add): Merge conflict in rasa/utils/plotting.py
Auto-merging rasa/utils/plotting.py
Auto-merging rasa/nlu/test.py
CONFLICT (content): Merge conflict in rasa/nlu/test.py
error: could not apply 1cc86bbea5b... create plotting utils
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 1cc86bbea5b... create plotting utils

which gave me conflict i don't know how to fix
Any resolution?

Mhm, it seems correct to me what you're doing.
What exactly are the merge conflicts you're getting? Did maybe accidental changes make it in the edited commit?

Mhm, it seems correct to me what you're doing.
What exactly are the merge conflicts you're getting? Did maybe accidental changes make it in the edited commit?

I followed this one
https://docs.github.com/en/github/using-git/changing-author-info
and it indeed updated names, however, i see that it took over 10k+ commits to merge, not a good sign :(
Can you pls check. The test failed, but the license signature is passed.

Mhm, it seems correct to me what you're doing.
What exactly are the merge conflicts you're getting? Did maybe accidental changes make it in the edited commit?

Looks like the name change updated all history commits. I am not sure what to do at this stage.

Mhm, it seems correct to me what you're doing.
What exactly are the merge conflicts you're getting? Did maybe accidental changes make it in the edited commit?

On my local
~/workspace/rasa$ git branch
* let_buttons_template_take_value_from_current_slot
  master
~/workspace/rasa$ git log
commit f41a57ebfb27330cb11d934b3741d1f3522aa615 (HEAD -> let_buttons_template_take_value_from_current_slot, origin/let_buttons_template_take_value_from_current_slot)
Merge: d391fdefe3d 52682b3f07e
Author: Tobias Wochinger <t.wochinger@rasa.com>
Date:   Tue Aug 4 09:18:31 2020 +0200

    Merge branch 'master' into let_buttons_template_take_value_from_current_slot

commit 52682b3f07e22ab470ee3be324e088b522838da5
Merge: 13ecec48c25 28e5b7ffc87
Author: Maxime Vdb <m.verger@rasa.com>
Date:   Tue Aug 4 09:07:15 2020 +0200

    Merge pull request #6327 from RasaHQ/update-readme-to-run-docs

    update README instructions for new docs system

@8key I think I fixed it as I luckily had an old state on my machine 😆 I think your amend also changed commits which were parts of merge commits.

@8key I think I fixed it as I luckily had an old state on my machine 😆 I think your amend also changed commits which were parts of merge commits.

Great! That's wonderful!
but there is an error in the CI process

but there is an error in the CI process

Mhm, that literally can't be caused by us 🙈 Will merge in latest master and see if it helps.

Merged @8key 🎉

Merged @8key 🎉

Cool! @wochinge Thanks for the help
If the project has any open urgent issue that needs help, i would love to take on.

🚀 We regularly add issues to the contributor board if you want some more 🙂

🚀 We regularly add issues to the contributor board if you want some more 🙂

Got it 🙂

authors: 8key CLAassistant sara-tagger wochinge


text:
Put resources outside package

What's wrong?
Previously resources were encoded in base64 to make it easier to support both NodeJS and browser, as mentioned in https://github.com/Rate-Limiting-Nullifier/rlnjs/issues/93. However, it drastically increases the bundle size and it even failed to work in firefox, as reported by the CryptKeeper team.
Fixes https://github.com/Rate-Limiting-Nullifier/rlnjs/issues/93.
How it is fixed?
Thanks to the examples from Semaphore and zkitter, we can host the resources else where and download them while initiating the RLN instance. Now, they are temporarily hosted on https://rln-resources-temp.s3.us-west-1.amazonaws.com/resources. We can change it to a permanent one later, for example, after the trusted setup is done.

Merge it for now since we'd need this feature and NodeJS v16 has passed

repo: Rate-Limiting-Nullifier/rlnjs


text:
Add run_experiments.py to quickstart colab

See https://github.com/ReaLLMASIC/nanoGPT/issues/61
Tested this with T4 GPU provided by the colab

lgtm

repo: ReaLLMASIC/nanoGPT


text:
Update swift-4 branch

I would be glad if we could update the swift-4 branch with the changes of my latest PR. 😇

Ah, of course! :)

authors: frankschlegel srdanrasic

repo: ReactiveKit/ReactiveKit


text:
whatwg streams aligned with reactive-streams (conceptually), or why not?

@tyoshino
Domenic passed me this faq link a while ago.

/cc @domenic
Yes, he pointed that FAQ section in response to your question about complexity of the WHATWG Streams, IIRC.
The WHATWG Streams have evolved to answer to various need regarding representation of I/O in the Web. Due to the lock system and byte stream introduced for optimization / transfer offloading, the spec is so big and look complicated, but for comparison with the ReactiveStreams, what I'd like you to look at first are only the following 2 interfaces:

https://streams.spec.whatwg.org/#rs-class-definition
https://streams.spec.whatwg.org/#default-reader-class-definition

Please look at the ReadableStreamDefaultReader interface. It represents a mutually exclusive access to a ReadableStream. The releaseLock() method is for releasing it. The other methods could be associated with the ReactiveStreams' concepts like as follows:

reader.closed promise : Subscriber.onError() and Subscriber.onComplete()
reader.read() : Subscription.request()
reader.cancel() : Subscription.cancel()

The difference in how to represent flow control is that the WHATWG reader.read() doesn't take any argument for controlling amount to produce but the queuing strategy passed to the ReadableStream controls whether or not to produce more chunks.
The transform stream, pipeTo() and pipeThrough() (https://streams.spec.whatwg.org/#example-abd17fdb) would correspond to the Processor concept though the construction of the API is very different. The WHATWG Streams represents each data source and data sink as ReadableStream and WritableStream respectively and pipe data between them (possibly with some transformation).
How do the Reactive Streams represent sink of data? Let the API representing a sink of data take a Publisher and have it subscribe to the Publisher to drain data?

Thanks Takeshi.
By "sink of data", you meant write()? Reactive Streams doesn't say much about writes, and Reactive Sockets has something like  .. in [DuplexConnection](void addOutput(Publisher o, Completable callback);)
<void addOutput(Publisher o, Completable callback);>
@benjchristensen pointed this out for me.  I am yet to figure out the implication to take a publisher instance to send a single frame.

If only a single frame is intended for a single Publisher, then typically we have optimizations for that use case since it then by default "caches" that one frame and is pulled whenever the underlying system is ready for it.
The nature of a system like this is that "vertical" queueing is bounded via the request-n semantics, meaning that any given stream (or request/response) is flow controlled. But the "horizontal" queueing is by default unbounded as typically an application is capable of starting as many streams as they want. That means the queue of streams can grow.
This is similar to how flatMap works which has no constraint on the number of possible streams in flight unless opted into (which ReactiveX supports for example, but can't restrict by default without risk of livelock).

How do the Reactive Streams represent sink of data? Let the API representing a sink of data take a Publisher and have it subscribe to the Publisher to drain data?

Answering this more directly, yes, writing with Reactive Streams is done in the inverse by passing a Publisher that will be subscribed to by whatever is doing the actual writing.

Here is how a Publisher is submitted: https://github.com/ReactiveSocket/reactivesocket-java/blob/4169902707801e87f411ad235f4c137f6ccfb35b/reactivesocket-core/src/main/java/io/reactivesocket/DuplexConnection.java#L29
void addOutput(Publisher<Frame> o, Completable callback);

Here is the API for a single Frame: https://github.com/ReactiveSocket/reactivesocket-java/blob/4169902707801e87f411ad235f4c137f6ccfb35b/reactivesocket-core/src/main/java/io/reactivesocket/DuplexConnection.java#L31
    default void addOutput(Frame frame, Completable callback) {
        addOutput(s -> {
            s.onSubscribe(EmptySubscription.INSTANCE);
            s.onNext(frame);
            s.onComplete();
        }, callback);
    }

That implementation is not fully compliant with Reactive Streams and should theoretically be changed. It assumes ability to always write a single frame per stream.
A more correct implementation would be like the optimizations done in RxJava, such as how ScalarSynchronousObservable is a marker interface for a stream that is known to contain just a single value. It allows optimizing to just retrieve that single value rather than subscribing, but if passed to code that doesn't know about those optimizations, would still behave correctly with subscriptions (unlike the code I shared above). See here: https://github.com/ReactiveX/RxJava/blob/039a703be5c0bd0c06e21f7c37ab2e1262bb1023/src/main/java/rx/internal/operators/OperatorMerge.java#L243

Thanks for the examples.
Let's close this issue.
I chatted with the Node developer who works on http/2, today. It's unlikely node will support whatwg streams or give up on the node stream.
Given RS already works over WS (JS API), the WS over WiSH should make it easier to map RS over http/2 for browsers.

authors: benjchristensen tyoshino wenbozhu

repo: ReactiveSocket/reactivesocket


text:
Discussion: what does a typical performance run look like?

I ran the performance scripts, and I'm not sure if they ran correctly, because I get a lot of zeroes on this table (while Chrome opened and tests seemed to be running):

> @reactivex/rxjs@0.0.0-prealpha.3 perf /Users/amed/Hobby/RxJSNext
> protractor protractor.conf.js

Using ChromeDriver directly...
[launcher] Running 1 instances of WebDriver
Started
BENCHMARK bufferCount Rx2
Description:
- forceGc: false
- iterations: 1000
- regressionSlopeMetric: scriptTime
- sampleSize: 20
- userAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36
Metrics:
- gcAmount: gc amount in kbytes
- gcTime: gc time in ms
- majorGcTime: time of major gcs in ms
- pureScriptTime: script execution time in ms, without gc nor render
- renderTime: render time in ms
- scriptTime: script execution time in ms, including gc and render

          gcAmount |             gcTime |        majorGcTime |     pureScriptTime |         renderTime |         scriptTime
------------------ | ------------------ | ------------------ | ------------------ | ------------------ | ------------------
              0.00 |               0.00 |               0.00 |               0.00 |               0.22 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.08 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.09 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.11 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.43 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.08 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.09 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.31 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.09 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.19 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.09 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.33 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.15 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.16 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.18 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.16 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.09 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.34 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.28 |               0.00
              0.00 |               0.00 |               0.00 |               0.00 |               0.08 |               0.00
================== | ================== | ================== | ================== | ================== | ==================
              0.00 |               0.00 |               0.00 |               0.00 |          0.18+-59% |               0.00

I have not setup my development environment like you have. For instance, I didn't have protractor installed globally (it's a devDependency, so it's already installed locally). Instead I ran ./node_modules/.bin/webdriver-manager update and ./node_modules/.bin/webdriver-manager start prior to running npm run perf. I also didn't have a http-server installed globally since it's also a devDependency. If the output of that table above looks correct, then I can update the instructions in README.md to be less susceptible on "works-on-my-computer" issues. Relying on locally installed binaries is safer (also against version mismatch problems).

Also, I don't see why it's necessary to start http-server in the home directory. npm run perf seems to run normally without it, because protractor.config.js has this:
  beforeLaunch: function () {
    httpServer.createServer({
      showDir: false
    }).listen('8080', 'localhost');
  },

I guess README.md is simply outdated?

I think README.md is somewhat outdated.
For test results, mentioned bit in https://github.com/ReactiveX/RxJS/pull/263 that benchpress need to be updated once its new version is available.

@staltz There was a change in Chrome that broke Benchpress.

@jeffbcross did give me a .zip of a newer version that should fix it, I just have been too busy to add it in.

... and yes, the README might be a little outdated.

Ok, I'll send a small PR to update the README, and wait for a Chrome fix.

Closing for #348

authors: blesh kwonoj staltz

repo: ReactiveX/RxJS


text:
tap does not pass in the index of the tapped resource

Bug Report
Current Behavior
tap does not pass in the index of the tap’ed element, the way map does.
Reproduction
myObservable.pipe(
    tap((arg, i) => {
        ....
    }),
);
or
myObservable.pipe(
    tap({
        next: (arg, i) => {
            ....
        },
    }),
);

Expected behavior
I’d have expected the index of the tapped event to be passed.
Possible Solution
Pass the index the way map does.
Workaround
If you only care about the next events, you can use map, and return the current value, but it’s kind of clunky. It also does not work if you plan to tap errors/completion.

This is not a bug. tap mirrors subscribe's interface, not map's. And subscribe accepts an observer - the next method of which cannot be passed an index.

Yeah, actually that makes sense. Thanks.

authors: cartant paulferaud

repo: ReactiveX/rxjs


text:
feat(takeUntil): change behavior of takeUntil to not subscribe to source if notifier is synchronous

Description:
If the notifier supplied to takeUntil synchronously emits a value, the source should not be subscribed to.
Related issue (if exists):
#1360
cc: @mattpodwysocki
Side note: subscribeToResult should definitely not return null cc: @blesh @jayphelps

Coverage increased (+0.001%) to 97.688% when pulling 0e669b8dc128585a27bd8036c37747b541ab6a51 on trxcllnt:fix-takeuntil into 89b506d20485b7e849f53cc34a7d35f16773d27c on ReactiveX:master.

So looking at this, it changes the behavior of takeUntil from any previously existing version of RxJS. The effect is that basically you're not going to subscribe to the source observable at all if the takeUntil notifier synchronously emits.
While that's definitely a performance tweak. There's a tradeoff being made here. A previous version of RxJS would have subscribed to the source observable. Subscription is a common point at which side effects occur. For example, in the scenario that the source was an ajax POST. The data would have been posted. Maybe the teardown wants to "unpost" it by rolling back, maybe it doesn't. The point is if there's a takeUntil ala this PR on it, that's hitting some sync notifier (a BehaviorSubject maybe?) it's not going to perform the post at all.
It's definitely not a "fix" per se... it's more of a feature change.
@mattpodwysocki @staltz I'd be interested in your thoughts here.

@blesh nope, this PR brings the behavior in line with RxJS 4

Hm, I may have messed up this PR. I was going off memory of the Rx4 behavior, which we currently don't have either. Though it seems like this may be what RxJava does?

I'm generally favorable to this change, I think it makes more sense. But I don't have a hard opinion. It would be a breaking change, and this needs to be clearly communicated. For the record, most.js subscribes to the notifier before it subscribes to the source, and so does xstream.
I think it's mostly a question of how to manage the breaking change and communication. Looking at the use cases, most of the cases where both source and notifier are synchronous should intuitively yield an empty output. And we don't have something like source.doOnSubscribe(sideEffect). If we did, that would be a legit use case for not passing this PR.

For the record, most.js subscribes to the notifier before it subscribes to the source, and so does xstream

I'm totally in favor of the notifier being subscribed first. But I hesitate to not subscribe to the source if the notifier synchronously emits. I don't think most people would expect that behavior. The act of subscription is a common place for side effects and this would completely change the behavior with takeUntil to not trigger side effects that might be important to some systems.

Can you come up with a compelling example? I tried, and couldn't come up with something non-silly.

@staltz doOnSubscribe is lift :)
@blesh initially I was concerned, but the more I think about it, it seems more correct that the source Observable is never subscribed. For example, what if the source makes an AJAX request, and the takeUntil notifier is sync. Should we initiate the AJAX request, only to synchronously cancel it once the stack unwinds back to the TakeUntilSubscriber?
You might ask why would someone ever pass takeUntil a notifier synchronously emits? In my use-case, I was multicasting a scroll event through a ReplaySubject and using concat + takeUntil to say "do some stuff, then concat on an AJAX request, but don't do (or cancel) the AJAX request if the ReplaySubject emits a scroll event."

Can you come up with a compelling example? I tried, and couldn't come up with something non-silly.

@staltz I did in my original comment.
It's as simple as a post() ajax request composed with a takeUntil.
someStreamOfUpdate$.flatMap(stuff => $.ajax.post(stuff))).takeUntil(component.teardown$)

In the above, if both someStreamOfUpdate$ and component.teardown$ emit synchronously, we'd really be breaking the current behavior. Because currently it would still post at least one update, and the new way it would not. Now maybe this is something people might want, but we can't be sure. Generally, as a rule, everyone assumes operators will subscribe to their sources when you subscribe to the result. For consistency, I think we should stick with that. Do we have a precedent for this non-subscribing behavior?

@blesh yes, take(0) doesn't subscribe to the source. this is the same use case.

@trxcllnt since you can't know if a given observable is sync or async, take(0) and takeUntil(foo) are two different things.

I'm not against the change... but I would find it a little disturbing if no one thought of the implications of this breaking change.

@trxcllnt I'm against this change for the very reasons that @blesh stated that there may be side effects that would have been expected higher in the chain due to expecting both the source and notifier to be subscribed to.

@blesh takeUntil with a (possibly) sync Observable is a way to defer the take(x) behavior until subscription, where x is a value you don't know at creation. To illustrate, I'll use everyone's favorite functional programming example, the fibonacci sequence! Here's a simple fibonacci sequence Observable:
function fibs(period = 0) {
  return Observable
    .interval(period)
    .scan([i, n] => [n, i + n], [1, 0])
    .pluck(0)
}

If you have a start button and user input field for the number of values to compute ahead of time, you can print 0-Infinity values from the fibonacci sequence over some period of time:
starts.switchMap(() =>
  fibs().take(textInput.value)
).subscribe(::console.log)

But what if you have a start button and some reactive state, let's say a BehaviorSubject of checkbox values, that you can't know until subscribe? Something like:
starts.switchMap(() =>
  fibs().takeUntil(checks.filter(Boolean))
).subscribe(::console.log)

In the first example take(0) doesn't subscribe to the fibs() sequence, because taking zero values from the sequence has identical behavior as never subscribing in the first place. This is a safe assumption to make because Observable subscription is referentially transparent.
takeUntil is the temporal (time-respective) dual of take, so it would seem takeUntil with a sync Observable is the temporal dual of take(0). The fact that the operators aren't congruent in this way is a bug, albeit one that seems to have gone unnoticed for a long time.

and I'm shocked @mattpodwysocki is in here arguing for more side-effects! ;->

@blesh and thinking through your example of post(), I can actually argue the counter-point that doing the post is desired. If the post happens, and we immediately cancel it due to the sync notifier, the browser will cancel/drop the request.
If the browser were smart enough to optimize against sending AJAX requests that are aborted in the same tick of the event loop, then we'd be fine. If not (and I think this is the case with HTTP post), you've just wasted the server's time telling it to do something that you then immediately want it to not do. This could have catastrophic implications for systems that don't have a way to roll-back from the transaction, or just good ol' performance problems for systems that do. Either way it doesn't seem like something we should do.

it is sync, it should act like take(0).

Actually, I think take(0) should subscribe to the source observable too, honestly. If for no other reason than consistency. I can see what you're saying, but in my mind it's an unnecessary breaking change.
As far as a counter point... what happens to people who expect: Observable.of(1, 2, 3).takeUntil(Observable.of(1)) to emit 1 synchronously (with trampoline scheduling)? That's the behavior of every other version of RxJS.
I can tell you're passionate about this change. I just don't think it's right that we change it. Probably shouldn't make a breaking change to support what seems to be an edge case that will break someone else's edge case.

@blesh Actually, I think take(0) should subscribe to the source observable too, honestly. If for no other reason than consistency. I can see what you're saying, but in my mind it's an unnecessary breaking change.

It could, but it'd defeat the purpose of shortcut fusion.
Consistency is great, and we're both arguing for more of it.
In the absence of a supplied scheduler, we've explicitly chosen to employ recursive scheduling semantics. This has always been acknowledged as a backwards-incompatible breaking change, but necessary for performance, and still correct as long as all the operators implement it consistently.
We agree that right now, depending on how you look at it, either take or takeUntil needs to change to be consistent. I believe takeUntil needs to change in order to be correct with respect to immediate dispatch, thus consistent with the rest of the library.
Think of it in terms of subscription order: given source.map().takeUntil().subscribe(), subscription order is "takeUntil -> map -> source". It makes total sense the takeUntil logic (including the notifier subscription) runs before the source subscription. Indeed, takeUntil has been working this way in Rx5 since it was written, so we're not breaking that. We're just doing less work if that's what the customer wants.

As far as a counter point... what happens to people who expect: Observable.of(1, 2, 3).takeUntil(Observable.of(1)) to emit 1 synchronously (with trampoline scheduling)?

It's possible to do this with observeOn. It isn't possible to get the behavior in this PR any other way. Not subscribing to the source is also clearly better for performance, which is a primary goal of this project.

That's the behavior of every other version of RxJS.

If this was more important than performance, we wouldn't have switched to recursive scheduling by default. Slight deviations in operator internals (such as subscription order) from past versions of Rx have already been made, and are to be expected.

Coverage increased (+0.001%) to 97.675% when pulling a1b18ec3478f8706137934b41a79d67a25aeb4fd on trxcllnt:fix-takeuntil into 5f93f819f96a1fa0c6c287de9c2a766d5eec6348 on ReactiveX:master.

@trxcllnt haha... You've almost sold me. I think that I'd be okay with including this in the next version of RxJS, but I'm not okay implementing this as a "fix", because it's really a breaking change to a feature of the library. If anything, altering take(0) would be a "fix" at this point, because we didn't really want to break the semantics that had from Rx4. But I think that, maybe, possibly, I'm okay with implementing this is v6... @mattpodwysocki what do you think?

@blesh, no objection to moving it to the next major.

@blesh I updated this PR to target the next branch

@benlesh is this not making it into v6?

authors: blesh coveralls mattpodwysocki staltz trxcllnt


text:
fix(typings): relax debounce selector type

Description:
Changes the typings for the debounce method's selected observable to any - in line with the typings used for other methods that include selectors for notification observables. E.g. bufferToggle.
Related issue (if exists): #3164

Coverage remained the same at 97.079% when pulling c9eb8e7fa1ed46be827d6c9ab426f3bd373f4a0e on cartant:issue-3164 into 3f670edbe704cad50cc9e53b8283b9b92c74cc4a on ReactiveX:master.

authors: cartant coveralls


text:
feat(repeat): add lastValue as second param when delay is a function

Description:
In some cases, we need to use the repeat operator in RxJS to continuously retrieve values such as tokens. However, sometimes the retrieval interval needs to be determined based on the expiration time in the last retrieved value. With this change, we have added support for passing the last retrieved value as the second argument to the delay option when it is a function. This makes it easier to handle such scenarios.

Hi, we do not expand core api surface without collecting usecases & discussions. Please attempt to create userland operator  for the custom behaviors, and if it's being widely used please create a RFC to disucss if it needs to land in core library or not.

authors: AisonSu kwonoj


text:
Add health check endpoint and tests

Issue Description
healthcheck endpoint for discord service. its going to be a get request
Expected Behavior

Current Behavior
none
Screenshots

Reproducibility

[ ] This issue is reproducible
[x] This issue is not reproducible

Steps to Reproduce

Severity/Priority

[ ] Critical
[ ] High
[ ] Medium
[x] Low

Additional Information

Checklist

[x] I have read and followed the project's code of conduct.
[x] I have searched for similar issues before creating this one.
[x] I have provided all the necessary information to understand and reproduce the issue.
[x] I am willing to contribute to the resolution of this issue.

Add test coverage as well

Add test coverage as well

i had already write tests for it

repo: Real-Dev-Squad/discord-service


text:
Fix/issue 918 - Tasks Site => Feature flag to remove redundant secondary task status tabs section

Issue: #918 - Feature flag Changes only
Description:
There are two ways to filter the tasks based on task status on Tasks Page as shown below.

Filter 1 - Drop down filter
Filter 2 - Tabs to filter out the task as marked in the below image -- Need to remove this

The changes are made only on feature flag to remove the Filter 2
Anything you would like to inform the reviewer about:

Have removed the filter by tabs component
Have fixed the search button handler and search input handling failing test cases
Have updated the test cases related to Tabs Comp to test only when dev is true

Dev Tested:

[-] Yes

Images/video of the change:
Large Screens Before:

Small Screens Before:

Video Reference:
After:
https://github.com/Real-Dev-Squad/website-status/assets/75213145/c0ba702a-9b9c-4be0-abe2-8fa8781cdadc
Follow-up Issues (if any)
NA

Please add test coverage report or screenshot.

Please add test coverage report or screenshot.

Please find the complete report below:

Test report on working branch
Test report on development branch

Can you add a feature flag to show the secondary dropdown? Because we did not discuss it with @ankurnarkhede and @iamitprakash (Tejas) to remove it.

test coverage stats

@shubhamsigdar1 / @sahsisunny / @iamitprakash Please review

Want to know you taken latest pull from develop because my pr got merged #960

@shubhamsigdar1, Yes latest pull from develop is pulled into this working branch

please add proper PR desc

Updated now, please check

authors: aneenajohn sahsisunny

repo: Real-Dev-Squad/website-status


text:
Speculative fix for #39

See details in https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/39

Great, thank you for your work! Just one thing is missing - could you add an integration test for it? :)

I have an idea for an integration test for this but it looks like tests don't run on Windows? Is that right?

Oh, it's possible, I didn't run tests on Windows :/ Could you fix it? I think NODE_ENV=test is not used so you can remove it :) Also you can remove node_modules/.bin/ prefix because npm/yarn will use this path automatically :)

No cigar :sad:  I've committed my speculative test - let's see what happens

The only way I can run this is by committing and letting Travis run it. The logic in my test is not quite correct - can you take a look please?  About to have to dash out the door

Yeah I'd appreciate some help with the test please 🌷  I've got to work now and not being able to run this on Windows is killing me.  The test I have in place should work but doesn't. And somehow I seem to have broken the should find the same errors on multi-process mode test but I can't see why.
The actual functionality of the change is fine AFAIK - I'm just failing to implement a test correctly.

Just implemented the changes requested.  I need help please. I'm leaving the house now and will hopefully be online again in about 3 hours....

Oki, I will fix tests :)

Thanks - I appreciate it 🌷

Taken from the issue, @voodoorider found this:

@johnnyreilly It worked, however after linking your fork in thread-loader example I discovered that the syntactical errors are reported even without providing the checkSyntacticErrors flag.

This makes me think that the flag is always being set to true regardless.  This would explain why one of my tests is failing also (and perhaps the other one as well?)
I may have misunderstood how the options get passed through. I'm away from my laptop and can't run the code; I have tried tweaking just in browser.  If someone else gets the chance to take a look that'd be awesome.

OK it's just the pre-existing  should find the same errors on multi-process mode test that errors now.  Other problems fixed.

OK I think we're green!

Thank you @johnnyreilly! Sorry I didn't help you with tests, I was very busy :/

No worries - got there in the end! Do you know when it will be released?

authors: johnnyreilly piotr-oles


text:
[Feature Request]: Option Pricing Using Genetic Algorithms

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Data Collection
Collect historical option prices and underlying asset prices.
Initialize Population
Create an initial population of random parameters for the option pricing model.
Fitness Function
Define a fitness function to minimize the difference between the model prices and market prices.
Selection, Crossover, Mutation
Implement genetic algorithm operations.
Iterate and Evaluate
Iterate through generations to find the best-fit parameters.
Use Case
Develop a genetic algorithm to estimate the parameters of option pricing models, such as the Black-Scholes model or the Heston model, to fit observed market prices.
Benefits
No response
Priority
High
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC contributor
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

pls assign it me

re.pdf
here is your report

I can't contribute on stackover-flow analysis repo anymore

stackover flow is not like this, you can only contribute to streamlit application which is high level. so it wont be easy like this

repo: Recode-Hive/Stackoverflow-Analysis


text:
[RHCLOUD-17891] - reservation time backoff

I think this ads the backoff times requested in RHCLOUD-17891. I have no way to fully test this in a direct way, but tests pass and it builds. So have a look and let me know if there's more to be done or if I'm way off the mark!

/retest

/rescan

/retest

This looks good to me! We have a couple of test cases that are a bit flaky in regards to reconcile frequency so this could improve that generally.

This looks good to me! We have a couple of test cases that are a bit flaky in regards to reconcile frequency so this could improve that generally.

authors: Jason-RH adamrdrew