Validate search parameters

Could we write a small part about what valid search parameters are in this issue?

The idea was to validate the additional parameters, e.g., whether they are in a meaningful range
FDR: between 0 and 1
Precursor mass tolerance: if ppm: 0-100; if Da: 0-300 (to allow for open searches)
Fragment mass tolerance: if ppm: 0-100; if Da: 0-3
Max missed cleavages: 0 - 7
Modifs: parsing and format needs to be defined first
charge states: 1-10
Max modifs per peptide: 0-10
min pep length: 0-12 (or 1-12)
max pep length: 0 (unchecked?) - 80


Removing obsolete extensions

Thanks, @ErikEJ.
Note: if an extension was removed here that works with newer versions of EF Core, then anyone should feel free to send a PR to bring it back with updated information.


The req.ip used to track players may not be correct

In the backend game logic we use req.ip from Express to track users but this may be incorrect. First off, the game stats are not tracking IP correctly, I'm seeing values like ::ffff:<IP_ADDRESS> which, while they look like an ipv6 address, I think are actually faked ipv6 addresses with some other IPv4 embedded (<IP_ADDRESS> in the above example). My actual IP address is not in the global stats, and I've noticed that the incrementation of the stats is not following a single IP correctly.
I expected that all of my games are tracked under a single IP address in the global stats. Instead, my games appear to be tracked under a few different IPs that aren't really mine.

Fixed in latest release


Add support for animations in objects

This PR adds support for animations in styled objects.
Example usage:
const animation = keyframes({
  from: { opacity: 0 },
  to: { opacity: 1 }
})

const Animated = styled.div({ animation: css`${animation} 3s` })

const Animated2 = styled.div(({time = 1}) => ({
  animation: css`${animation} ${time}s infinite`
}))

This addresses issue:
https://github.com/styled-components/styled-components/issues/2561
The implementation detects arrays in value position during objToCssArray expansion
and mutually recurses into flatten to further transform nested forms of styles.

update:
After seeing the feedback here (and a similar implementation):
https://github.com/styled-components/styled-components/pull/2612
I updated this implementation to add a flag on arrays returned by css to determine if we should expand the nested styles within objToCssArray.

I'm not sure why the build failed, the tests are passing for me:
$ git rev-parse HEAD
9ca72f2e9c12f76f66003b1f17569998ff7ab9d8

$ yarn test
...
 |
 | ><EMAIL_ADDRESS>test:web /home/omar/projects/styled-components/packages/styled-components
 | > jest -c ../../scripts/jest/config.main.js
 |
 |  PASS  src/test/ssr.test.js
 |  PASS  src/test/attrs.test.js
 |  PASS  src/models/test/ThemeProvider.test.js
 |  PASS  src/test/expanded-api.test.js
 |  PASS  src/test/styles.test.js
 |  PASS  src/test/props.test.js
 |  PASS  src/utils/test/flatten.test.js
 |  PASS  src/constructors/test/keyframes.test.js

@dvingo Any intention of updating this? I'd also enjoy using animations with the object syntax...

Hi @puema  I'm not sure what needs to be updated. I believe the Travis failure is a false negative, but I don't know how to diagnose it or trigger a re-run.
After the silence here, I've since moved on to using emotion which has support for this.
At this point I don't see any actions to take on this issue on my end, but if I'm mistaken I'm happy to update the PR.

@dvingo
I'm also looking forward to the release of this feature. So I'd like to help if there is anything I can do.
If you still have the motivation to maintain this PR, how about asking the core team for help?

@rdrgn I don't use styled-components anymore (have since moved on to emotion which already supports this). I am closing this PR due to neglect. Feel free to try to get it merged.


Added quotes to demo page.

At the Papa's request...  For fix #248

Thanks for the PR - can you please submit this against the develop branch?
We aren't accepting PRs against the master branch.

Sure, Tim.  Sorry for my ignorance here but should I 1) just resubmit this against develop or 2) re-pull from the develop branch, re-do my changes and then submit?

I think option 2 would be your best bet. Closing this PR, hoping to see another soon!


Why isn't it published on npm/yarn registry?

Can't find the yoga-layout package.

If there is work to be done I'd be glad to help out. Having yoga in the npm registry would simplify our build considerably.

Does anyone know a workaround in the meantime?

@abhishiv
The recommended solution in their documentation is:

For now we recommend including Yoga as a git submodule in your project. Once done, you can either build Yoga using Buck (detailed below) or integrate it into your existing build system by including the C library from the root yoga directory as well as the language bindings (e.g., Java, C#) you wish to use.

I think the easiest workaround in the meantime is to add emscripten inside your PATH, clone the repository somewhere, run npm run build:all && npm link from the javascript directory, and npm link yoga-layout inside your application (possible in the postinstall script).

Another alternative is to use @arcanis/npm-git-install.
Once added to your package.json dependencies, add the following:
{
    "scripts": {
        "install": "npm-git install --verbose"
    },
    "gitDependencies": {
        "yoga-layout": "git@github.com:facebook/yoga?/javascript"
    }
}

Still a bit experimental, but a lot more easy.

I've now published this https://www.npmjs.com/package/yoga-layout

I seem to be getting bunch of errors when trying to install this package. I tried it on windows 10 environment
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "--" "run" "build:node"
npm ERR! node v7.0.0
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>build:node: npm -- run copy-sources && npm -- run node-gyp configure build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build:node script 'npm -- run copy-sources && npm -- run node-gyp configure build'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the yoga-layout package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm -- run copy-sources && npm -- run node-gyp configure build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs yoga-layout
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls yoga-layout
npm ERR! There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?
npm ERR! Please include the following file with any support request:
npm ERR!     C:\JVS\Projects\NodeProjects\postcards\node_modules\yoga-layout\npm-debug.log
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN<EMAIL_ADDRESS>No repository field.
npm WARN<EMAIL_ADDRESS>No license field.
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "install" "yoga-layout"
npm ERR! node v7.0.0
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>install: npm -- run autogypi && npm -- run build:node
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'npm -- run autogypi && npm -- run build:node'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the yoga-layout package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm -- run autogypi && npm -- run build:node
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs yoga-layout
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls yoga-layout
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     C:\JVS\Projects\NodeProjects\postcards\npm-debug.log

Yep, there's an open issue at #411


Update continuous-delivery-faqs.md

FAQ Update
What Type of PR is This?

[ ] Issue
[ ] Feature
[ ] Maintenance/Chore
[x] Tested Locally
[ ] Optional Screen Shoot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


CSS tab size override does not work

Please ensure:

[X] The bug is caused by Refined GitHub. It doesn't happen if I disable the extension.

Description
I have in my Refined GH CSS preferences:
* {
	-moz-tab-size: 8 !important;
    tab-size: 8 !important;
}

but this does not work because refined-github.css is prioritized above that, as seen in the inspector (screenshot attached.)  Not sure if this is a straight up bug, or caused by interactions with another addon?  ~Weirdly enough, the override for the background image size for the → arrow works fine…~ Background → image size override works due to !important
Refined GH Addon version: 21.8.22
Other addons installed:

AdBlocker for YouTube™ 0.3.4
cookies.txt 0.2
Google search link fix 1.6.10
GreaseMonkey 4.11
OneTab 1.54
Stylus 1.5.21
uMatrix 1.4.4

Screenshot

Console errors
No response
Example URL
https://github.com/sindresorhus/refined-github/commit/b9dea1a78f79d4d8da129d3f2151892a655f0df9
Browser(s) used
Firefox 88.0.1

until today I never heard anyone using it or preferring it

Just in case you're wondering:  the entire field of C systems & embedded development, including the Linux and BSD kernels and much of the low-level system environment uses 8-wide Tabs.  Which doesn't mean that people agree it's a good level of indentation, just that if someone wants to use 4 or 2 (both common values), they use spaces instead.  (Probably because the "4-wide people" and "2-wide people" would otherwise be annoyed with each other when things don't line up.)

specific issue for the CSS injection order

Indeed this is why I'm here, although I hadn't realized yet that it might affect everything.  Thanks for looking at it!  I hope it can be worked out, and thanks for the workaround too, I'll keep that in for the meantime :smiley:.


WIP: Update win32 platform

Signed-off-by: Sophia Guo<EMAIL_ADDRESS>

Grinder : https://ci.adoptopenjdk.net/view/work in progress/job/Grinder_Sandbox2/2/console


Doc updates

Updated links to django database documentation.

Hey,
Thanks for the PR! But most (basically all) of the docs are super out of date. I've been working on moving most of the backend to Django DRF and all of the front end to react. The only think that's still in about the same condition are the models.
I'll go ahead and merge it since it will be one last thing I'll have to do later.
Thanks
-Ryan


Raised warning instead of AssertionError

Describe changes
I implemented/fixed to resolve : In our pipeline_run_lineage_visualizer we currently have a bit of code that raises an AssertionError when actually we'd rather just log a warning using our CLI utils module.
else:
    # TODO [ENG-895]: Refactor this to raise a warning instead.
    raise AssertionError(
        "Cannot set magic flag in non-notebook environments."
    )

to
else:
     warning(
        "Cannot set magic flag in non-notebook environments."
    )

Pre-requisites
Please ensure you have done the following:

[ ] I have read the CONTRIBUTING.md document.
[ ] If my change requires a change to docs, I have updated the documentation accordingly.
[ ] If I have added an integration, I have updated the integrations table.
[ ] I have added tests to cover my changes.

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Other (add details above)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for the PR, @ketangangal! You'll still need to import our custom CLI utils model as suggested in the issue. I'm not sure what warning currently defaults to, but currently it doesn't seem like it's using the ZenML utils version.
You'll also need to sign our CLA. Thanks again!


Feature Request: New Map with Systems in it Already

It would be really awesome if you were looking at your WH chain, have two K-space exits, and were able to select those two systems, and click a button somewhere to create a new map, which automatically had the route between those two K-space systems. Would be fantastic for planning and doing roams, and logistics.
Alternatively, When you make a new map, the ability to start a K-space map with a specific constellation already loaded on it, could serve the same purpose in some ways.
I have no idea how difficult that would be to implement, but I was using your mapper to plan out a nulsec roam, between two of our exits, and it would be super cool to be able to do that automatically.

OK, let`s talk about your first suggestion. The second (predefined region maps) requires someone manually creating those maps for each region,.... This is a lot of work! - doing it automatically is also a lot work. Think about the correct position for each system,.....)
Do you think it is necessary to create a new map for this action? - Wouldn't a "_ connect systems_" dialog, that simply adds the "missing" systems between to the same map fulfill the requirement as well?
The problem with "create a new map" makes the task a lot more complex.... (1 create new map, 2. check "map limits" were not exceeded, 3. private/corp/ally map? 4. Which scope?,......)

My thought on this is that mapping from two k-space exits of an already expanded chain are going to be used for specific ops, which would warrant their own map. And as a moderately sized Corp with sometimes a rather large chain mapped, dumping a bunch of k-space holes on the map would be gruesome.
To that end, if it were possible to press the hypothetical button which would open a new map dialog window where you selected who it was shared to, and selected the scope, that would be ideal.
If not that, then defaulting the new map to the same entity as the orginal map (corp, alliance, private) would be sufficient, there is always the import/export option if you need to change ownership of the map. And the scope would default to K-space, so if you make any detours on a roam, they are added to the map.
And as far as actually importing the systems to a new map, even if they were all just dumped into a new map with no arrangement, having the systems with all their connections already added would be really handy, and the user could just drag and arrange them the way they want them.


Remove Resource.as() for backward compatibility with ant 1.7.1

lgtm. waiting to see if the googlebot will do its magic.

Googlebot has not merged yet. Does it need a cla:yes tag?

googlebot doesn't auto-merge, it just adds the cla:yes tag. No idea why it didn't work. Anyway, I don't see you on the list. Did you sign it using a different Github username?

I think I signed it with my email address (same one as on the commits)

Got it. Thanks!


bertieb: Watch hostingmzd.com

bertieb requests the watch of the watch_keyword hostingmzd\.com. See the MS search here and the Stack Exchange search here.

Zoe approved this PR in Charcoal HQ

!!/approve

iBug approved this PR in Charcoal HQ


Update ExcessiveForceEffect.asset

Changes

Known Bugs/Issues
Testing Scene and Script

Issue ticket number/link

Checklist before requesting a review

[x] I have performed a self-review of my code
[x] Make sure I am merging my features into the develop branch
[x] I have notified the other members of the programming team that my task is ready to review

In my testing having the threshold at 5 didn't have the ability activate for some reason. So I lowered it a bit.

if that's the result of your testing sgtm, something to be careful of is when I tested with threshold as 3, sometimes the balls would activate the effect even when they weren't moving if they colliding ball was fast enough and of the same size. to counter this in the future, we could possibly make the red balls slightly heavier, or the other balls slightly lighter. but as we noted before this causes some other issues with the predictive line and with gameplay intuitiveness.


Improve Fielddescription of "Connector Catalog Endpoint"  in /connectorManagement

Description
Currently the description does not seem to be good enough as the users do not always implement the catalog url but the edc url only.
this results in faulty data pulled by the discovery service.
1.) adjust the Infobutton to show the following text "xxxxxx"
2.) rename the field description from "Connector URL" to "Connector Catalogue URL"

Acceptance Criteria

[ ] [criteria 1]
[ ] [criteria 2]
[ ] [criteria 3]

Additional Information

@markuskeidl / @gerbigf provide me please a "helptext" that would provide a better understanding from your point of view.

I would recommend the following:

to change the field description from "Connector URL" to an actual example, e.g., https://connector.control.plane/api/v1/dsp
to change the info button to something like "Base URL of the catalog service endpoint of a DSP Connector, e.g., https://connector.control.plane/{catalogPath}."
(prio 2) do add a check - at least when entering the URL - that this URL actually works, i.e., that a catalog can be fetched from this URL.

@ntruchsess /  @Phil91 do you have an efficient proposal to check if a connector url is accessible ?

@ntruchsess / @Phil91 / @oyo / @evegufy do you have an efficient proposal to check if a connector url is accessible ?

@MaximilianHauer from frontend side we are quite limited because of CORS restrictions. Only some basic network checks if SOMETHING is running at the Server https port would be possible.

ok does not sound like a huge  benefit then we focus on the easy stuff first.


fix typescript def for handsontable

The typescript defs for handsontable are not complete and we get this error:
src/renderer.ts:25:32 - error TS2339: Property 'registerRenderer' does not exist on type 'Renderers'.

25         Handsontable.renderers.registerRenderer(this.get('name'), this.fn(Handsontable));

We can live with it because we ignore errors for now:
https://github.com/QuantStack/ipysheet/blob/36f1ffffb3c564d73174f5c56dfd04bfbcd1dafa/js/tsconfig.json#L6
and we just continue whatever the exit code is:
https://github.com/QuantStack/ipysheet/blob/36f1ffffb3c564d73174f5c56dfd04bfbcd1dafa/js/package.json#L19
We should fix this, preferable by doing a PR to handsontable, and changing the above to be more strict.

As a workaround, we could put an // @ts-ignore before failing lines, in order to prevent build failures.

Fixed in #54


Do not run the npm publish action if package version was published

Motivation
The NPM publish step is failing because @effection-contrib/jsonl-store was previously published to NPM.
Approach
Check if the version was published to NPM in Deno and skip the publish step in GA. It's impossible to use matrix context in job.if, hence I still have to run the job but skip the publish step.

If the tag isn't created, but the version exists on NPM, then it should be fail and require manual intervention. I'm not sure that we want to recover here. Instead, we should manually mitigate and create the tag by hand which will then prevent the workflow from running.


Consider a 2-layer profile (add end to end profile)

In the last call on 2023-09-13 the concern was raised, that the current idea of a "credential format profile" does not provide that much value to parties which are interested in the credential format comparison matrix. The reason for this concern was, that a credential format profile itself does not guarantee any end to end interoperability between two interacting entities, since common flows like issueing or presenting a credential involve more than just a credential profile / format (e.g. exchange protocols, source of key material (e.g. DID Method, Revocation, ...).
The (current) goal of this working group is:
This SIG is dedicated to maintaining information about available credential formats for the benefit of OWF projects and the wider community.
I would like to propose the extension of that goal by not only elaborating a credential profile matrix as currently happening but also to work on a (higher) end to end interop profile matrix which includes (besides credential profiles) additional parameters like exchange protocols, DID Methods, Revocation, Key Rotation,...
In my understanding a credential format is only one single parameter of this the end to end interop profile which we sometimes also call "tech stack". Although we cover aspects like DID Methods, Revocation, Key rotation and others in the credential profil matrix, I believe the parameters mentioned here belong to the higher end to end profile since:

Parameters like "Infrastructure for key resolution" do not concern a credential profile directly. I would rather say, that the source of the key material for a credential profile itself is not important at first place. However, for an end to end profile it is, since both parties have to understand and be able to resolve the key material of e.g. an issuer. The same applies to key rotation, since this is closely tied to the "VDR" any key material comes from.

Most of the (credential) exchange protocols are agnostic to a credential profile. Therefore I see them also on the higher end to end interop profile and not in the credential profile itself.

Some revocation mechanisms are tied to a credential format / profile, but not all. Therefore I see them also on the higher end to end interop profile and not in the credential profile itself.

I believe there can be more arguments found for the separation into "credential profile" and "end to end profile". From my point of view a clear separation would help to set the scopes for each properly.
But as introduced in the beginning, this will robviously esult in more effort than planned with regards to the original goal of the SIG.
What is your opinion on that?

I agree that the current matrix is nice to compare the different resource like the differences between different key management systems. Defining a profile so that they are comparable seems to be trickier than we thought in the first place.
As you pointed out the benefit could be different for multiple parties. From the perspective of a wallet and agent user they need also compliance on the exchange protocol. And some profiles are already implementing one so adding a new resource would make no difference to the current approach of a matrix.
But we also had the mention that a profile could support multiple key management systems, making it very difficult to compare profiles (since e.g. crypto agility depends on your chosen credential format inside the profile).
I am not sure if we can draw a line between to layers (what is required and what is nice to have). Maybe we will spend more time choosing a layer than by defining the criterias of each resource. So I would like to prefer to go just with one layer, but we could definitely try to group resources (like the issuance protocol and the presentation protocol are grouped as transport).


Localization of the website?

I believed a localized website will attract more people to JabRef than a localized help.
What do you think?

I think localization is too much work for too little value. Most of the time you just look at the screenshots and click download anyway. ;-)


Add translation to AC_DC pipeline

Many techniques for doing x-lingual filtering requires translations. Add a modular translation plugin to the pipeline. Use https://github.com/bigscience-workshop/data_tooling/blob/master/pii_processing/misc/translate_with_ner.py as a basis for this pipeline component.

We can also add round_trip_translation. https://github.com/bigscience-workshop/data_tooling/blob/master/pii_processing/wip/round_trip_trans.py A typical process might be to

translate to en
do something in english like NER
translate back to target lang
map classified tokens from translation to original sentence OR use translated sentence

Hey Huu,
This idea is interesting. However, I am not sure that it is possible to implement in practice.
This idea would be efficient only if the translation is good enough.
But for the languages where the translation is good enough, we don't usually need to do this since we have enough data, and good quality filters.
We might lose the repetitions. Also, many stop words cannot be directly translated.


Customized optimizer

Feature

Support for customized optimizers during training allows for greater flexibility in training models. Some frameworks in WSI tasks consist of multiple networks. Right now, we can only build a model with a single network.
Pitch

There are some models that require customized optimizers, typically models that are consisted of several modules. For example, WENO is consisted of a student network and a teacher network. Right now, I cannot implement WENO using SlideFlow.
Alternatives

I don't think the current version has support for such knowledge distillation network.
Additional context

Thanks for this suggestion. At present, Slideflow could be used for image processing and preparation of feature bags (in PyTorch format) for external, customized MIL training loops like WENO. I will look into whether we can extend our MIL training framework to add support for custom optimizers. I don't think it would take too much work.


I have added a Sentiment Analysis Model using ML for tweets

Description
@garimasingh128 I have added a sentiment analysis model which determines whether there is a positive tweet on twitter or negative tweet . I have added screenshots as well as attached source in ReadMe . I request you to review my pull request.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

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

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Test Configuration:

Firmware version:
Hardware:
Toolchain:
SDK:

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Remove the T from the folder name please.

Hello Garima!!!
I have made the necessary changes.
Thanks and Regards,
Ayush Surana
ᐧ
On Thu, Dec 24, 2020 at 12:52 AM Garima Singh<EMAIL_ADDRESS>wrote:

Remove the T from the folder name please.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/garimasingh128/awesome-python-projects/pull/106#issuecomment-750439115,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARPH66OLTAHWOEE7JHDOWL3SWI7QVANCNFSM4VHKR3CA
.


Vulnerability roundup 100: minio-2020-08-08T04-50-06Z: 1 advisory [6.5]

search, files

[ ] CVE-2021-21362 CVSSv3=6.5 (nixos-20.09)

Scanned versions: nixos-20.09: 12d9950bf47.
Cc @bachp
Cc @edolstra
Cc @kalbasit

See also: #113468

This was adressed in https://github.com/NixOS/nixpkgs/pull/113642. But it only reached nixos-20.09-small, not nixos-20.09.

Closing as the fixes are now in nixos-20.09-small


Make helpers work with empty strings

In a project that uses handlebars-helpers both in views and application code, we ran into a few issues related to some assumptions (optimizations, maybe) re to empty string values. I was not sure this qualified as a valid pull-request until I found this line:
utils.isString = function(val) {
  return val && typeof val === 'string';
};

Which is formally not true in JavaScript. An empty string '' evaluates to boolean false but, is still a string. I do understand this can be an optimization in the context of Handlebars views but, can be confusing if the helpers get reused anywhere else. Some references:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean

This change makes helpers work with empty string values.

Which is formally not true in JavaScript. An empty string '' evaluates to boolean false

Right, that's why the check is done that way. It's equivalent to doing if (str !== '' && typeof str === 'string').
Since we're intentionally doing those checks, and your PR might break other code, would you mind creating an issue first to explain the bug you're experiencing, so we can discuss a solution. I'm guessing that you just want the result to be an empty string versus undefined when the value is an empty string, correct? I can't think of a good reason to execute all of the code in a helper on an empty string, when the result will still be an empty string.

Thanks for your prompt reply.
I do understand your point and, as explained, at first doubted about submitting as a pull-request. But, we did ran into our own issues b/c of this behavior and, interestingly, not one test in +400 breaks after changing the isString function to read:
utils.isString = function(val) {
  return typeof val === 'string';
};

If the undefined return value in most helpers is intentional it should probably be better documented and, covered by at least one test. Moreover, documentation should make that more clear. The documentation for isString reads:

Return true if val is a string.

Should probably say something like:

Return true if val is a string and not empty.

Documenting this in an issue in case you find it useful. https://github.com/helpers/handlebars-helpers/issues/273
Thanks again!


use outcome from TestCase instead of TestResult

Fixes https://github.com/reportportal/agent-js-playwright/issues/73 by using the correct field to determine retry status.
This is the canonical method based on the playwright codebase.

Hi is there anything missing that I need to do to get this merged in?

Hello @clouddra !
Sorry, I was on vacation, I'll finish the review this week.
Thank you very much for contribution!

any updates on this?

Hello @clouddra !
Sorry for the delay - there was a long period of illness, and then holidays.
I'm looking at your PR right now and I have an idea - handle test case status entirely based on outcome.
I will try to get back to you tomorrow.
Thank you for your patience.

@clouddra sorry for such late response.
I've merged it, finally.
Thank you very much for your efforts.


Several Ontologies of TIB fail in ingestion

Describe the bug
Detailed list of exceptions can be found here: exceptions.txt.
To Reproduce
Steps to reproduce the behavior:
Config file that infludes all failing ontologies: failing_ontologies.json. Prefixes of ontologies are: abcd,battinfo,bau,bdsubj,cco,cgo,cora,coy,dfgfo,ecso,fabio,fiestaiot,gpo,gta,icitygeom,mdv,openadr,ore,osmo,raum,scor,sepio,sustaingraph,sweet,t4fs,tiva,dolce,dpbo,extruont,peco,hoom,snomedct,bk
Expected behavior
Those ontologies need to be indexed as they do in ols3

Also refer: https://github.com/EBISPOT/ols4/issues/453


Critical Roll macro error on vehicles with linked actor data

Describe the bug
Trying to execute the Critical Roll macro on a vehicle token with "Link Actor Data" active does nothing. Console gives the following error message (see also attached screenshot):
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'filter')
at Macro.eval (eval at #executeScript (foundry.js:20082:16), :24:50)
at #executeScript (foundry.js:20087:17)
at Macro.execute (foundry.js:20028:35)
at Hotbar._onClickMacro (foundry.js:82722:20)
at HTMLLIElement.dispatch (jquery.min.js:2:40035)
at v.handle (jquery.min.js:2:38006)
To Reproduce
Steps to reproduce the behavior:

Place vehicle actor with checked "Link Actor Data" prototype token on scene
Mark said vehicle actor via click
Click "Critical Roll" macro (copied & pasted from wiki)
See error (in console)

Expected behavior
Critical Roll dialogue window when clicking macro button, preset for selected actor (modifier for existing damages; "Table:" dropdown to "Critical Damage")
Desktop (please complete the following information):

Foundry Version: 12.331
System Version: 1.903
Hosted on Forge: No
Tested without modules: Yes

Additional context
Critical Damages & Injuries items & roll tables exist (as per wiki instructions).
NON-linked vehicle tokens work fine; as do character tokens, both linked and un-linked.

The macro tried to access "talentList" on the linked actor to take into account the "durable" talent.
Vehicules don't have a "talentList" property, so the macro failed.
@wrycu I updated the macro on the wiki and tested it, it should be working now.

Thanks, closing.


Fix #467 Do not serve gz for compressed files

Possible solution for #467. It obviously can be made with big if statement above first api.fs.stat function call or creating one more function for streaming already compressed files, but I think this way little bit tricky, but it has less lines of code :).
So @tshemsedinov feel free to change it according to your guidelines.

If asynchronous  calls are nested, it is good practice to use named functions:
https://github.com/tshemsedinov/impress/commit/a039027a7aadc41e89c23c7ed00eb8a0743e8bb0


New package: wl-std.WLDownloader version 1.3.8

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Executable C:\Users\validator\AppData\Local\Programs\WL Downloader\updater.exe returned exit code: 1
Executable C:\Users\validator\AppData\Local\Programs\WL Downloader\wl-downloader.exe returned exit code: 1

(Automated response - build 887.)

Hi @pooriyayt ,
Our pipelines were designed for Windows Form type of application, and so this is a known issue for CLI applications. To mitigate this, I generally approve any exit code below 1000. Sorry for any confusion.


error with 'vue create app'

if you run the vue-cli command 'vue create app' and proceed the instructions there are some dependencies which are missing when trying to run the dev server 'npm run dev'. Trying the same commands in cmder works as expected.

Please retest again with platformio-atom-ide-terminal 2.9.0 these type issue all so far seem fixed with this release due to using node-pty-prebuilt instead unmaintained and outdated pty.js


md-autocomplete displaying '[object Object]'

Bug:
Md-autocomplete displays [object Object] even though it is passed a string. It displays that only if you select the same object from the dropdown list.
What is the expected behavior?
We should not see [object Object] after selecting the same object from the options.
What are the steps to reproduce?
Here is a Plunker that reproduces the issue:
https://plnkr.co/edit/acz2QZHuVo39rdOQ2C3E?p=preview
Select a value from the list. Then click on the input (without typing) and select the same value again (there should be only 1 value in the list - the current one).

Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular 4.3.2
Material 2.0.0-beta.8

You're setting the value to state, not state.name.

And if you still want to bind the value to state instead of state.name, autocomplete has a displayWith input to control how the selected option gets displayed.
Example: https://plnkr.co/edit/W9vdWaGcoG90LKM8hHgI?p=preview

@willshowell I know, thank you. I can read. This is still a bug though.

Hah nice edit 😒 just trying to help
--
Note that also if you just type "Me" and select the remaining option, it also happens. Here's my best guess:

Any time you select an option from the list, it writes the full object to the input.nativeElement (see these lines), which would display as [object Object].
Whenever the Angular detects a change between the previous NgModel value and the new one, it calls writeValue() with the result of your state getter. See here. This overwrites [object Object] with the new NgModel value, a string.
When there is not a change between values (i.e. you type "Me" and then select the "Me" option), writeValue() never gets called, so [object Object] is never overwritten.

In general, I would try to avoid overloading NgModel values, and you can still use displayWith to ensure that the correct value is always written to the input element.
cc @kara

@willshowell Thanks, I know. It's just that the autocomplete API is slightly confusing and I was experiencing various issue with the displayWith, I guess based on my used of getter.
At least from my point of view, the usage I have makes sense with ngModel vs formControl which is what the example has.

Closing as it appears the specific instance of the issue seems to be dealt with.


find{One,ById}And{Update,Remove} and save/remove hooks

This is more a question than an actual issue.
The documentation states that defaults, setters, validators and middleware are not applied when using one of find{One,ById}And{Update,Remove}. I'm looking into a way of at least implementing middleware calls for those methods, because the "traditional approach of first retrieving the document" is subject to race conditions.
I understand why defaults, setters, validators and pre-hooks are not applied, because it would involve parsing and changing the update operators, and possibly rolling back the changes in case validators fail (which would probably defeat those methods atomicity), although I'm sure it is not impossible (it could be done for example by using a mongoose-specific lock field, although we would have to assume mongoose is the only client updating collections).
But I don't understand why post-hooks cannot be called, as the findAndModify command tells us what have been done. Is there another reason for that ?

See #2138


Extract error

When im trying to get disk from camera that i found it says extracting error. I have latest version and ServerUrl = https://foundfootage-server.assasans.workers.dev in files, all the team members has mod installed. Here is logs
LogOutput.log
I cant get access to the https://foundfootage-server.assasans.workers.dev only with vpn enabled

Possibly the same problem as #2, #3, and #5.
Try opening https://foundfootage-server.assasans.dev/version in a browser, this should work as it is no longer a *.workers.dev domain. If so, set ServerUrl = https://foundfootage-server.assasans.dev in the mod's config file.

I have the same problem playing with my friends
This is the log in the terminal: [Error  : Unity Log] Failed to get recording!: 7fffffff-251e-4b78-b969-1df50f96887b


[package] grunt-s3 unmaintained

The s3 package is "Unmaintained!" according to the author (see screenshot). #21
FYI @clecompte
I've used this package before for s3 which works fine, is stable and people are actively working on it.
https://github.com/MathieuLoutre/grunt-aws-s3

Thanks -- I'll check it out and see about updating it to a supported version.

I have a better version of s3 coded and working. Will test further and send a PR shortly. Thanks @taeo for pointing this out!

@leemunroe - why closed? This issue is still on master.

@taeo Good point, reopening until pr merged


APIM Store layout gets corrupted after page refresh

Description:

When have published a large number of APIs and we can view by scrolling. But with a scroll down or up (a little bit) and if refreshed the store page the UI view will corrupt as the below.

Suggested Labels:

BUG- UI
Affected Product Version:
APIM 2.6.0
Steps to reproduce:
steps:

Created 20 APIs and published
Went to store API and logged to the store
Refresh the page no issue
Little bit scroll down and refresh the page, then the issue reproduced as the above screenshot.

fixed with https://github.com/wso2/carbon-apimgt/commit/6a13f64a195f18378b769b3a1d4defe00af21236


Mail Helper Refactor - Call for Feedback

To make this easier to collaborate, I've moved the proposed interface here.

@caseyw, @vitya1, @Braunson, @cbschuld, @paoga87, @Taluu, @mazanax, @ninsuo, @ianh2, @WadeShuler,  @jaimehing, @KnightAR
If you are tagged on this message, it means we are particularly interested in your feedback :)
If you don't have the time, no worries and my apologies for the disturbance.
If you do have the time, please take a look at the proposed helper upgrade above and let us know what you think. Any and all feedback is greatly appreciated.
Thanks in advance!

Hi there,
I think you can simplify a bit the API.

First, for simple or multiple recipients, this is just a matter of array. So we may use the same class (like Message) instead of CreateMultipleEmailsToMultipleRecipients.

For example:
/*
 * 1 recipient
 */

// (...)
$to = new<EMAIL_ADDRESS>"Ninsuo");

$msg = new \SendGrid\Mail\Message($from,
                                  $to,
                                  $subject,
                                  $plainTextContent,
                                  $htmlContent);

/*
 * N recipients
 */

// (...)
$tos = [
    new<EMAIL_ADDRESS>"Ninsuo"),
    new<EMAIL_ADDRESS>"Bob"),
];

$msg = new \SendGrid\Mail\Message($from,
                                  $tos,
                                  $subject,
                                  $plainTextContent,
                                  $htmlContent);

Playing with indexes doesn't look very friendly:

$msg = new \SendGrid\Mail\CreateMultipleEmailsToMultipleRecipients($from,
                                                                   $tos,
                                                                   $subjects,
                                                                   $plainTextContent,
                                                                   $htmlContent,
                                                                   $substitutions);

Having $tos and $subjects and moreover $substitutions separated like that is not really friendly to manage, you should put the right receiver in front of the right subject playing with indexes, and it adds complexity.
IMO, it will be easier if everything related to one receipient is in the same object. And by the way, if we have substitutions in the recipient object, we don't even need to put several subjects.
For example :
$from = new<EMAIL_ADDRESS>"Bob");

$to = new<EMAIL_ADDRESS>/* email */, "Ninsuo" /* name */, [
  '-name-' => 'Alain',
  '-github-' => 'http://github.com/ninsuo'
] /* receipient substitutions */);

$globalSubstitutions = [
  '-time-' => date("Y-m-d H:i:s"),
];

$subject = 'Hi -name-!',
$plainTextContent = "Hello -name-, your github is -github-, email sent at -time-";
$htmlContent = ""Hello -name-, your github is here email sent at -time-";

$msg = new \SendGrid\Mail\Message($from,
                                  $to,
                                  $subject,
                                  $plainTextContent,
                                  $htmlContent,
                                  $globalSubstitutions);

My last remark is about the attachments:

$msg->addAttachment("balance_001.pdf",
                    "base64 encoded content",
                    "application/pdf",
                    "attachment",
                    "Balance Sheet");

Why not giving contents as is, and SDK would take care of the base64 encoding?
Cheers

Thanks @ninsuo!

This is how the Kitchen Sink version works. Except, I should change SendGridMessage to Message since we are already in the SendGrid namespace.

I like the idea of adding an optional parameter to the email object that accepts substitutions.

I agree, but that is not in the scope if this release.

Thanks again for taking your time to submit some feedback and I welcome further feedback if you have any :)
With Best Regards,
Elmer

I'm also a fan of the array of to objects. Having separate methods seems a bit much for the use case.
I'm not using substitutions in our system in this fashion, however I like the idea of being specific on a per "To" basis.

Thanks @caseyw!
Are you referring to item #2 above?
I should note that those specific helper methods (and we will likely develop more based on feedback) are designed for those who just need that simple use case and don't need to go any deeper. The idea is to them to sending their first email ASAP. While the Kitchen Sink example is meant for the power user.
With Best Regards,
Elmer

Add @JoeD101 to the list :)

@ninsuo, please take a moment to fill out this form so that we can send you some swag. Thanks!

Hello Everyone!
Good news! Development on this has begun. When we have a workable beta, a PR will be published.
Based on the feedback above, $msg = new \SendGrid\Mail\Message(); will be able to handle all the use cases above by simply changing the values of the passed objects (e.g. passing in an array of to objects), and we'll still include the convenience methods. We will likely implement substitutions in the manner that @ninsuo suggested.
With Best Regards,
Elmer

Hi @shonjord,
Any thoughts on the above? Thanks in advance :)

Elmer
I got so dispirited with the first version(s?) of your V3 interface that I gave  up and continued my HTML5/PHP 7 /mysqli upgrade on the V2 interface. It seemed to me that I didn't have a stable V3 interface to work with and that the V3 interface was considerably more complex than the V2 interface which does the job
Where is the latest version?
Ian
From: Elmer Thomas<EMAIL_ADDRESS>Sent: 05 September 2017 21:28
To: sendgrid/sendgrid-php
Cc: ianh2; Mention
Subject: Re: [sendgrid/sendgrid-php] Mail Helper Refactor - Call for Feedback (#413)
Hi @shonjord https://github.com/shonjord ,
Any thoughts on the above? Thanks in advance :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/sendgrid/sendgrid-php/issues/413#issuecomment-327293454 , or mute the thread https://github.com/notifications/unsubscribe-auth/AceR6hwg0KERJU4VkuE5YTN6mQXJRZASks5sfa7VgaJpZM4OVCuV .  https://github.com/notifications/beacon/AceR6jbk2XBYnPWv0vECPoKx78X91pHtks5sfa7VgaJpZM4OVCuV.gif

@thinkingserious I saw @ninsuo's comment and couldn't agree more with him, also would like to leave my thoughts on the initial proposal.
Breaking mail scenarios in multiple classes break Open/closed principle why?, let's say I first start with CreateSingleEmail because I want to send a single e-mail with one recipient, then, down the road I need to send to more recipients, I'm forced then to refactor my code and start using CreateSingleEmailToMultipleRecipients.
Like ninsuo's said, Mail should be responsible for this, we should inject array or collections and then this class should be responsible to handle the one or many entities, e.g:
public function __construct(Email $from, array $to, Subject $subject, Content $content)

Also, I've seen that we have in our hands some Value Objects like Email or Subject, but, I haven't seen any validation within their constructors, why?.
When ever we use Mail object it should be always in a valid state, I think our value objects should be smart and strict enough to allow our Mail object to be always in a valid state e.g:
public function __construct(string $address, string $person)
{
    if (!filter_var($address, FILTER_VALIDATE_EMAIL)) {
        throw new InvalidEmailAddressException;
    }
    $this->address = $address;
    $this->person = $person;
}

In the V2 interface this was so simple
$email

  ->setFrom($senderemail)

  ->setFromName($sendername)

  ->setSubject($subject)

  ->setHtml($message);

/* Now we need to add the list of addressees. SendGrid will separate them out into separate e-mails so we don't need to worry about Bcc.  */
Either we do this for a single recipient
  $email

    ->AddTo($useremail); //loop round adding all e-mail recipients

Or we do this - the fetch can be a single recipient
while ($ReadQuery2->fetch()) {

  $email

    ->AddTo($useremail); //loop round adding all e-mail recipients

}  //end while ... while we have records in query

Ian
From: Albert Agelviz<EMAIL_ADDRESS>Sent: 06 September 2017 10:09
To: sendgrid/sendgrid-php
Cc: ianh2; Mention
Subject: Re: [sendgrid/sendgrid-php] Mail Helper Refactor - Call for Feedback (#413)
@thinkingserious https://github.com/thinkingserious  I saw @ninsuo https://github.com/ninsuo 's comment and couldn't agree more with him, also would like to leave my thoughts on the initial proposal.
Breaking mail scenarios in multiple classes break Open/closed principle why?, let's say I first start with CreateSingleEmail because I want to send a single e-mail with one recipient, then, down the road I need to send to more recipients, I'm forced then to refactor my code and start using CreateSingleEmailToMultipleRecipients.
Like ninsuo's said, Mail should be responsible for this, we should inject array or collections and then this class should be responsible to handle the one or many entities, e.g:
public function __construct(Email $from, array $to, Subject $subject, Content $content)
Also, I've seen that we have in our hands some Value Objects like Email or Subject, but, I haven't seen any validation within their constructors, why?.
When ever we use Mail object it should be always in a valid state, I think our value objects should be smart and strict enough to allow our Mail object to be always in a valid state e.g:
public function __construct(string $address, string $person)
{
if (!filter_var($address, FILTER_VALIDATE_EMAIL)) {
throw new InvalidEmailAddressException;
}
$this->address = $address;
$this->person = $person;
}
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/sendgrid/sendgrid-php/issues/413#issuecomment-327423568 , or mute the thread https://github.com/notifications/unsubscribe-auth/AceR6qy-wf6BdoK0uJPvSPBa3m0abwL2ks5sfmFGgaJpZM4OVCuV .  https://github.com/notifications/beacon/AceR6uUKIRDZq3qb9CXbJhYsOKvmBrCxks5sfmFGgaJpZM4OVCuV.gif

@ianh2, @shonjord,
Thank you for the valuable feedback! I'll be refactoring the design shortly and I'll ping you for further review.
For now, I'd like to express our appreciation for your feedback with some swag, please take a moment to fill out this form.
With Best Regards,
Elmer

Hello Everyone!
I have updated the proposed API above based on all of your feedback. I should have a working branch for you all to play with shortly.
Please let me know if you have any further feedback to incorporate.
@shonjord,
You are correct, it is the intent of the helper objects to serve as validators as well, but that is out of scope for this release. We will enforce the minimum required parameters to create a message object in this release, however.
With Best Regards,
Elmer

Hi @thinkingserious
My PR #427 is just a proposal and my idea is to help to make the library better, you can borrow all the ideas from that PR to include your refactoring (if needed), following your suggestion to review the use cases, here are my thoughts:
I see that we don't use Subject object any more, may I ask why?, I think we should keep it, since we may want to encapsulate more logic in the subject.
Why are we using a Factory to send an e-mail?, that shouldn't be responsibility of this Library, this library should be responsible to construct an e-mail object and send it, let the users of the library make their own implementation of a factory if needed.
I think it makes more sense and looks cleaner if we do it this way:
(new SendGrid)->send(Mail::class);

For collection of e-mails (to, bcc, cc, reply-to):
My PR #427 propose the use of Object to handle collections, since we can encapsulate all the logic we need to manipulate our arrays in one place and also use the beauty of type hinting, e.g:
$tos = new ToCollection([
    new To('example@email.com),
    new<EMAIL_ADDRESS>]);

and in our Mail or Message object:
$mail->addTo(ToCollection $tos);
$mail->addTo(To $to);

It's more clear to the user, because they know that ToCollection is a collection which holds to objects, simple and straight forward.
I have implemented also some methods map, each, filter which I consider to be very useful, since we have inside the Collection object all php array methods array map, filter, walk, this helps to follow DRY principle.
It caught my attention also that when we want to for example add a bcc we're using the e-mail object, I wouldn't do it that way because we have the freedom to create objects, why don't create one to represent its form?, we can create bcc, cc, reply-to objects and extend it from Email, OOP provides inheritance, why don't use it?
IMHO, makes more sense to:
$mail->addBcc(new Bcc('email@example.com'));
instead of $mail->addBcc(new Email('email@example.com'));
Let's call things by their actual domain, let's see another example to make my statement clear:
$baseBallTeam->add(new Person);

A base ball team is composed of persons but, a person can be a Baseball player, a Football player, it would make more sens if we represent it this way
$baseBallTeam->add(new BaseBallPlayer));

And BaseBallPlayer inherits Person.
I have seen also that in the current library as well as in the proposal of the PRsno one use type hinting, it would be very great to start using it, since it helps a lot to debug!
Please refer to my PR, it's well detailed all my ideas to make this library more robust, flexible, maintainable, extendable, readable and a joy to contribute to !.
Thanks.
Albert.

The biggest issue with the old way, was lack of ability to bulk send. We were left with handling the splitting of batches ourselves.
This issue doesn't solve that, and seems like a waste of time.
Most uses of a service like SendGrid, besides for sending transactional "your password reset link" or "thank you for registering", is to send an email to your entire system. Most systems would easily have over 1,000 people (the limit of the recipients SG handles).
We should be able to queue up 10k people and let SendGrid figure it out behind the scenes, or this library still does nothing for us.

@WadeShuler As you said, the responsibility of this library is not to send bulk e-mails, that should be handled by SendGrid's Api which is totally out of scope for this library.

@shonjord I never said it wasn't the responsibility of this library. This library's responsibility is to handle the app to the SG server. Since the server handles only 1000, that makes it this library's responsibility to fill in the gap.
Every single website has the need to send emails to their entire system. There must be an easier way to do it. Failing to adhere to this will result in people using other services.

@WadeShuler I don't agree with you, why would the responsibility of this library to handle n amount of e-mails?, it doesn't make any sense.
Your Application should be able to manage the amount of e-mails it needs to send, not this library, this library should be use to construct an e-mail object and send it, if you need to send bulk then that's your Application's concern my friend, not this library, and to achieve that is very simple.

Because SendGrid is a bulk email service. Because looping and sending 10,000 times over and over again is inefficient. Because the SendGrid API supports bulk/batch sending, hence the "batch id". Because their competition does!
https://sendgrid.com/docs/Glossary/bulk_email_service.html

SendGrid is a bulk email service for both marketing email and transactional email...

It is a bulk email service, not a "less than 1,000 recipient" email service..
https://github.com/mailgun/mailgun-php/blob/master/src/Mailgun/Messages/README.md#usage---batch-message - Mailgun automatically kicks off the email once you build the mailer with over 1,000 recipients.
Not every system is big enough for a full fledged queue with bounce processing, resend attempts, etc. However, 1,000 is too small of a limit. I understand the 1,000 limit on the API. There are physical data limits on POST requests, so the 1k limit on a single API request is spot on. Therefore, passing the blame on the API itself is nothing more than avoiding the issue.
Businesses with a list of say 4,000 recipients are stuck in the middle. A fancy queue system or expensive 3rd party solution, is unnecessary. However, SendGrid falls short. SendGrid, from a business model, is leaving a large gap, especially when their competition does this already.
I am no longer going to argue about this issue. I already have started using other services for new clients. I will come back to SendGrid when it can actually do what it is supposed to do, bulk send.
It is a shame, because from a nerd standpoint, SendGrid's servers are awesome in terms of quickness to send, inbox rate, etc. Unfortunately their API and PHP library fall extremely short.

I think you totally missed out my point, the library at the moment has an option to add multiple recipients, and its responsibility should be simple, to be able to communicate with SendGrid's API, that's it, you can add as many recipients as you want in the Mailer class, let's say a million, but if SendGrid's API can't handle it, that's a different story, and again, not responsibility of the library.
But I'm not going to argue about this anymore.
Peace.

Thanks for the spirited feedback @WadeShuler and @shonjord, your thoughts will definitely help make this library better!
@WadeShuler,
We do wan't to make sure that sending a bulk of emails is easy by allowing you to get your data into our system without friction. For this iteration, the goal is making the use cases outlined above super simple to execute. The Send Multiple Emails to Multiple Recipients and Kitchen Sink use case appear to be most relevant to your use case. Is there anything specific regarding those use case that you would like to see different?
@shonjord,
Thanks for mega-PR :) and for clarifying your intent. I will definitely incorporate elements of it into the redesign.
With regards to your specific feedback:
Yes, we will still include a Subject object.
We want to keep the Client object separate as in our experience we have many users who need customization. I do like how you have shorted the call to a one liner.
I like the idea of a collection for the emails.
I also like $mail->addBcc(new Bcc('email@example.com'));
vs $mail->addBcc(new Email('email@example.com'));
Unfortunately, multiple reply-to's is not supported by the underlying API. Can you please elaborate on your use case so that I may make a case to our product team?
@all,
I'm going to update the proposal again today to reflect this new feedback. The plan is to have a working beta for you this week.

Hello Everyone!
@caseyw, @vitya1, @Braunson, @cbschuld, @paoga87, @Taluu, @mazanax, @ninsuo, @ianh2, @WadeShuler,  @jaimehing, @KnightAR, @shonjord
The new prototype is here (to hopefully make it easier to collaborate on).
Thanks again to everyone who has spent time contributing. Please let me know if I did not include you on the swag train :)
With Best Regards,
Elmer

HI @lode,
Just hoping you had some feedback :)

@thinkingserious
Everything looks better to me 👍
Regarding the multiple reply to feature, should I post it here?, this feature is very important for us.

@shonjord,
Thanks for the quick feedback!
Please create a new issue for the reply_to feature explaining the use case so that I can reference it to our product team.
With Best Regards,
Elmer

Hello Everyone!
Quick update.
I'm looking for at least two other thumbs up before working any further on the code. As always, your feedback is greatly appreciated :)
With Best Regards,
Elmer

@motdotla, @eddiezane,
If you have a moment, I would appreciate a critical eye on this proposed new interface. If not, worries :)
With Best Regards,
Elmer

@thinkingserious ! looks really nice man :+1: love the work that has gone on for these repos.

Thanks for the kind words @motdotla and for responding so quickly!

@thinkingserious any news on the beta release?, it might be very helpful to me since I'm working with the current release and it's super hard to for example add a to collection, I need to hack a lot.

@shonjord,
I need one more vote to proceed. If you know a PHP developer who is willing to take a look, please ask if they would mind providing some feedback.
With Best Regards,
Elmer

@thinkingserious It's ok if I tell to one of my colleagues?

Implementation will be tracked in this issue.

Thanks for the feedback @jopanel!
We require HTML and plain text for deliverability reasons. If you send only HTML content, your delivery score reduces significantly. We are looking into creating a function that does the HTML to plain text version for your automatically.
For the rest of your feedback, would you mind making a PR against this file? That would qualify you for our Hacktoberfest festivities :)
With Best Regards,
Elmer

@jopanel I have to disagree to you on the recipients, I think it's more readable if you find this:
new Email(
    new From($user),
    new ToCollection([
        new To($secondUser),
        new To($thirdUser)
    ]),
    new Subject($subject),
    new HtmlContent($content)
)

Rather than:
new Email($user, [$secondUser, $thirdUser], $subject, $content)

If you come back to read your code (after a while), you inmediatly know who is from, to, etc.
And if you find yourself having to instantiate way too many times the email class then the problem is in your code, you're repeating yourself and the code needs to be refactored 😃

Okay,
Well here there are three examples in which case this is used:
Multi-Person
$tos = new ToCollection([      new<EMAIL_ADDRESS>"Example User1"),     new<EMAIL_ADDRESS>"Example User2"),     new<EMAIL_ADDRESS>"Example User3") ]);
Multi-Email/Person
$tos = new ToCollection([     new<EMAIL_ADDRESS>           "Example User1",            [                '-name-' => 'Alain',                '-github-' => 'http://github.com/ninsuo'            ]),
Then there is single email:
$to = new<EMAIL_ADDRESS>"Example User");
More than likely if somebody needs to send one email like a reactivation email, register email, shipping email, notification etc. The single email is perfectly acceptable. However in cases of multi-emails more than likely a user is going to make a call to the database and return an object or an array. In which case they will use that to create their multi-person API request.
A programmer would have to run a foreach($array as $value) loop through all instances adhering towards the "new ToCollection" function array. I think this could lead to trouble programming. As well its overly complicated. If you have the array key 0, 1 as [email, name], then just ran a simple call like $tos = new ToCollection([$emails]); I don't see why this would be a bad way to go. I don't see the point in overly complicating sending an email. Nobody hard codes emails into code.

I agree with Joseph
I keep saying this but I don't understand why you don't look at the V2 interface which handles one or many e-mail recipients in an entirely efficient way
/*First set up the standard bits for all recipients */
$email
<EMAIL_ADDRESS>
  ->setFromName($sendername)

  ->setSubject($subject)

  ->setHtml($message);

/* Now we need to add the list of addressees. We do this by reading all of the addressees from the SQL query   */
while ($ReadQuery2->fetch()) {

  $email

    ->AddTo($useremail); //loop round adding all e-mail recipients

}  //end while ... while we have records in query

All handled by one bit of SendGrid code. No need for different interfaces
This is why I shall stick with V2
Ian
From: Joseph F. Opanel IV<EMAIL_ADDRESS>Sent: 04 October 2017 17:40
To: sendgrid/sendgrid-php
Cc: ianh2; Mention
Subject: Re: [sendgrid/sendgrid-php] Mail Helper Refactor - Call for Feedback (#413)
Okay,
Well here there are three examples in which case this is used:
Multi-Person
$tos = new ToCollection([ new<EMAIL_ADDRESS>"Example User1"), new<EMAIL_ADDRESS>"Example User2"), new<EMAIL_ADDRESS>"Example User3") ]);
Multi-Email/Person
$tos = new ToCollection([ new<EMAIL_ADDRESS>"Example User1", [ '-name-' => 'Alain', '-github-' => 'http://github.com/ninsuo' ]),
Then there is single email:
$to = new<EMAIL_ADDRESS>"Example User");
More than likely if somebody needs to send one email like a reactivation email, register email, shipping email, notification etc. The single email is perfectly acceptable. However in cases of multi-emails more than likely a user is going to make a call to the database and return an object or an array. In which case they will use that to create their multi-person API request.
A programmer would have to run a foreach($array as $value) loop through all instances adhering towards the "new ToCollection" function array. I think this could lead to trouble programming. As well its overly complicated. If you have the array key 0, 1 as [email, name], then just ran a simple call like $tos = new ToCollection([$emails]); I don't see why this would be a bad way to go. I don't see the point in overly complicating sending an email. Nobody hard codes emails into code.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/sendgrid/sendgrid-php/issues/413#issuecomment-334216047 , or mute the thread https://github.com/notifications/unsubscribe-auth/AceR6k1OYiLUQtzFVWxna9BWgz9bRDsbks5so7TbgaJpZM4OVCuV .  https://github.com/notifications/beacon/AceR6t48WvzjSPqeK3J7zA8rp9CRIqAkks5so7TbgaJpZM4OVCuV.gif

I use V2 as well. It is just much much easier to pass data. I made a pull request here with my changes. I think this removes a lot of redundant code making it faster/easier to develop. Also makes it more friendly for the developer in building/creating the emails needed to send in mass or single.

@ianh2 same can be done with the proposal, but much better for you and the library:
instead of:
 while ($ReadQuery2->fetch()) {
    $email->AddTo($useremail); //loop round adding all e-mail recipients
} //end while ... while we have records in query

You cand do:

$email = new Email($from, new ToCollection, $subject, $content);

 while ($ReadQuery2->fetch()) {
    $email->AddTo(new To($useremail)); //loop round adding all e-mail recipients
} //end while ... while we have records in query

Or even better:
$tos = new ToCollection($this->findUserEmails());
new Email($from, $tos, $subject, $content)

Why not let the developer decide if they want their items apart of a collection or not? Seems highly overkill and impractical for anybody not using laravel.
Here is the Collections class from laravel. 99.99% of the time you're not gonna be using collection functions when sending mail. You're going to be using MySQL fetch array/object and return to get your data, build your request, and mail it out. Not create 10 collections along the way, use collection classes in laravel, and send mail. It is overkill even for laravel fanboys.

I keep bringing up Laravel cause its a framework I know of that utilizes a "collection class" (also Symfony does too). This is PHP not C# or Java. Ive worked with many companies who utilize OOP frameworks that don't have a collection class out the box (including my current).

You'r argument is invalid @jopanel , what's the problem of bringing good practices over to PHP?, if the developers of PHP thought the same way as you, PHP wouldn't have type hinting, return type hint, scalar params, strict types, interfaces, etc, because, if other languages have it, why do we need them in PHP, it's PHP, it's not X language.

Your comments sound very insulting. Including your first where you ask a question then answer it multiple times. I appreciate your responses. However if I could clone myself and have enough lives to where I can contribute towards PHP as a whole including frameworks that don't utilize things like collections I would develop them. I am not saying they should never be used or that they are bad. I am simply stating that it is overkill, not needed, and unncessary to be included in the original documentation.
Its like we bought a car (this php api), it runs, it drives. However we are fighting over the cupholder (the collections class). I think the cupholder should be a slide out or a pop out if you need it. You think the cupholder should constantly be there from the beginning. I have a few cars, BMW, Volvos. They all have the cupholder available if you need. You drive chevy where you want cupholders visible everywhere. We get it. You like cupholders. They are needed if you need them. You can use it if you need them. However this is a racecar and we probably won't need a cupholder much.

First of all, I'm not fighting, just giving my thoughts.
Second If you feel offended by my comments, I apologise, although, I don't feel that I have insulted you at all.
Third, ok, you don't like collections, you hate them, that's fine, but, why do you need to remove every object from the proposal?, it's the same as if you were to json_encode your data and send it, imho, you don't need the mailer class, you would be just fine with strings, which is what you want.

You're right about one thing. It is the same as if you were to json_encode. I made a bad assumption that there would be no validation for the mailer class. I created a new pull request removing only the useless code. Which is collections. I don't hate them.
Why would you need: header collection, substitution collection, custom arg collection, content collection, attachment collection, global header collection, section collection?
Let's say you're using laravel or symfony or some other highly supported framework that contains a collections class.
What functions normal setting would this attribute to that not including a collection class wouldn't?
Am I wrong to say that in almost every case possible somebody will NOT need a collection class for them?
If you noticed I removed bcc, cc, and to collection classes from this list because its the only ones I can think of an impractical reason to use.

@jopanel These objects are part of the library, you don't need to use them in your Application at all, in fact, that's a bad practice to couple your software with any library in particular, the idea behind these objects (all, not only collections) is to allow the library to be more robust, follow better OOP principles and practices, easy to maintain, extend and read.
As I said before, you don't need for example To object in your application other than using it only  to construct the E-mail object, so in the end you know that you can rely on it because it will always be in a valid state.

As a compromise, why not use iterable type?
Mail {
public function __construct(Email $from, string $subject, iterable $to, Content $content)

This way, both arrays and whatever inherits Traversable will work. If SendGrid chooses not to implement collections, this will not prevent others from quickly making their own.
Since this would be a new library version, supporting PHP 7 is fine. In mean time, compromise for 5.6 would be to accept ArrayObject and if primitive array is passed, convert it to object:
Mail {
/**
* @param Email $from
* @param string $subject
* @param ArrayObject|array $to
* @param Content $content
*/
public function __construct(Email $from, string $subject, $to, Content $content) {
  if(is_array($to)) {
    $to = new \ArrayObject($to);
  }
}

or inversely convert objects to array
if($to instanceof \Iterable) {
   $to = iterator_to_array($to);
}

or
if($to instanceof \ArrayObject) {
   $to = $to->toArray();
}

Speaking of types, I hope PR which includes types is accepted. Currently, this library is a painful nightmare to work with (and looks unprofessional). I never know what goes into any function until API returns errors. The whole point of library is to eliminate uncertainty of how to make a payload. The idea that $mail = new SendGrid\Mail($from, 'Subject', $email, 'content'); works without any errors and I dont know that last parameter should be instance of Content until response sends back errors, is unacceptable. Then, there is
$settings = new SendGrid\MailSettings();
$settings->setSandboxMode(true);

which, again, works in PHP but sendgrid is upset until I guessed to change it to
$sandbox = new \stdClass();
$sandbox->enable = true;
$this->settings->setSandboxMode($sandbox);

When I press control+space, it should list precisely the object types needed.

Didn't check this issue since a long time.
You did a very good job during that time guyz, bravo.
Cheers

@alextech excellent, didn't think of this before, I hope sendgrid would implement the way you suggest, it's brilliant.

Hi @alextech,
Thanks for the great feedback!
Would you mind making a PR here that incorporates your suggestions?
With Best Regards,
Elmer

Hey everyone! I'm curious about your thoughts on the effects of #450 on this work?

The iterable type sounds good. I could add it to #450

@thinkingserious that PR is public interface signature discussion, while my suggestion is about internal implementation of those signatures. So nothing for me to add there.
As for #450 , multiple classes per file is a big no no, so IMO that PR must go through, maybe take the opportunity to add parameter types while at it. It does not even have to be full PHP 7 enforced types, just SOME typing function (type $var) will make a world that much of a better place.

Thanks for responding os quickly @alextech!


Add compatibility with PHP 8.0

Hi there,
PHP 8.0.2 has been released and PHP 8.1.x is in the making. We might want to follow that. After adding this improvement here, we should follow up at https://github.com/crate/crate-dbal/issues/105.
At the same time, we might want to remove support for PHP 7.2, as it reached end of life (EOL) [1,2]. Because some signatures of the PDO interface have changed, this will probably make the support of PHP 7.3, PHP 7.4 and PHP 8.x easier.
With kind regards,
Andreas.
[1] https://www.php.net/supported-versions.php
[2] https://www.zend.com/blog/php-72-eol

#116 brings in PHP8 support. Due to the nature of the PDO compatibility layers, Coveralls reports
Coverage decreased (-12.4%) to 76.509%

Apparently, Coveralls is not capable of merging coverage reports. We should consider migrating to Codecov, see also https://github.com/lemurheavy/coveralls-public/issues/613#issuecomment-244686345.

After integrating #116, we should issue a new release and then follow up at crate/crate-dbal#105.

Any update to this seems like #116 was merged but not released?

Thanks for the bump, Alexander. We will try to release a new version soon.

Dear Alexander,
CrateDB PDO Adapter 2.0.0 has been released and should be compatible with PHP8. Now, we will have to take care about the downstream repository, see https://github.com/crate/crate-dbal/issues/105.
With kind regards,
Andreas.


bump scala 2.13 to 2.13.0

Thanks @oker1 - I've fixed the Travis build in master, so I'll merge this and it should build just fine 🤞


Error: Module did not self-register.

Hi @murillo128
I build media-server-node on CentOS  7.4.170,   Node v10.12.0, gcc 5.3.1.
It  seems  try catch can not  catch dlopen error,  and will not fallback to require.
In fact,  i use require to load the native lib,  it works fine.
I want to know why we did not just use require?
The error info is
internal/modules/cjs/loader.js:717
  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: Module did not self-register.

From what I remember dlopen was required for Node 9, and require for Node 8. Will try test with Node 10 and see if I get same issue.

I try node10 on my another ubuntu server,  It works fine.  So it may not be the node's problom.

Hello. I have same problem, but when i use jest for testing my app.
Now i dont test - medooze. Only other internal logic of my app. But in some cases - i have this error.
To fix this - i just comment try block, and left only the catch block
//try
//{
	////We try first to load it via dlopen on Node 9
	//process.dlopen(module,path.resolve(path.dirname(module.filename), "../build/Release/medooze-media-server.node"),
os.constants.dlopen.RTLD_NOW | os.constants.dlopen.RTLD_DEEPBIND);
//} catch (e) {
	//old one
	module.exports = require("../build/Release/medooze-media-server");
//}


Fixed rare vowel bug and change style according to PEP8

Fixed a bug in romanization for 'ฤ' as per issue#86.
I followed CU-Arts Thai Romanization guideline  and this resource. I also include 3 test cases in royin.py as follows:

กฤษฎา
ฤกษ์
ฤดูกาล

However, I can't find strict rules/regular patterns on how 'ฤ' should be pronounced as individual vowel, for example, 'ฤดู', and 'ฤทธิ์'. So I treat both cases as the same pronunciation.
I also correct royin.py coding style to complie with PEP8.

Coverage decreased (-0.05%) to 53.666% when pulling 7a1f9d7b99b847b6344ddbcd5badc7b3f2533db6 on bkktimber:dev into 2de729eaf513091725349a855425a4b950597d32 on PyThaiNLP:dev.

Coverage decreased (-0.05%) to 53.666% when pulling 7a1f9d7b99b847b6344ddbcd5badc7b3f2533db6 on bkktimber:dev into 2de729eaf513091725349a855425a4b950597d32 on PyThaiNLP:dev.

Coverage decreased (-0.05%) to 53.666% when pulling 7a1f9d7b99b847b6344ddbcd5badc7b3f2533db6 on bkktimber:dev into 2de729eaf513091725349a855425a4b950597d32 on PyThaiNLP:dev.


Suppport Vector Machine Problem

I had implemented my own svm based on your implementation. Wierdly, the accuracy was very low.
I copied your code and use sklearn has a benchemark. Your svm implementation gives me back almost random prediction.
Here is the code for you to check.
https://github.com/tchaton/interviews_prep/blob/master/code_prep/mlfromscratch/supervised/svm.py

And idx = lagr_mult > 1e-7 create an error too using the last dataset. I modified it to idx = lagr_mult > 1e-11. But it isn t a good solution.

Did you normalize your data before you used rbf kernel?
On this website (https://pythonprogramming.net/soft-margin-kernel-cvxopt-svm-machine-learning-tutorial/), the code is pretty identical with a couple of slight differences.. anyhow, running this code with with how you created your dataset yielded a WORSE accuracy. On the bottom of the page, the author wrote that this SVM code is meant to display the inner workings and not for robust usage. So similarly, this is applied here.


linter: import sorting and grouping

Need rule for lexicographical sorting and grouping of imports
Details
soon

I'd say that reporting whether the imports are sorted or not is kind of useless, I wonder if this should be a codemod, or a linter rule with --fix.

I'd say that reporting whether the imports are sorted or not is kind of useless, I wonder if this should be a codemod, or a linter rule with --fix.

Yes, there should be a --fix option for that rule.

Is there an existing eslint plugin for this? I'll make a decision if I have more contexts.

The import plugin has order rule do the same thing<EMAIL_ADDRESS>
I think eslint-plugin-simple-import-sort just has good defaults. Oxc can have both configurable rule and with good default

import/order is doable but too complex. Has too much of configuration, require support.
import/order ~ 800 LOC
simple-import-sort ~ 200 LOC
I will continue research about porting of simple-import-sort

import/order is doable but too complex. Has too much of configuration, require support. import/order ~ 800 LOC simple-import-sort ~ 200 LOC (it's not actually true, there are a lot of shared code)
I will continue research about porting of simple-import-sort
Also import/order spams with errors, this is one of the reasons why it's hard to implement

I'm wondering if we can do import grouping relying on workspace (reading package.json and glob matching) or tsconfig.json paths rather than just the import source.
This should configure well, because I'd like to see the react and next imports separate and at the very top, not mixed in with other modules.

I'm wondering if we can do import grouping relying on workspace (reading package.json and glob matching) or tsconfig.json paths rather than just the import source.
What is the problem with import source?

What is the problem with import source?

import { useEffect } from 'react'    // "react": "18.2.0"
import { cn } from '@repo/lib'       // "@repo/lib": "workspace:*"
import { Button } from 'components'  // "baseUrl": "src"

By looking at the string after from (import source) you can tell that it looks like an npm package. Whereas they can actually be categorized into: package, monorepo package and path mapping (from tsconfig paths).
The question is whether linter is allowed to read any files in the workspace.


pod and node action extensions

Hi, this PR extends the capabilities of pod and node actions. In particular it:

unifies the node selection in one dedicated function that is used by the node actions
extends the node selection to be filtered by the pods they inhabitant (namespaced pods only)
applies that additional node filter mechanisms to node deletion and node drain
extends the pod deletion to additionally order pods based on their creation timestamp

These additions turned out to be useful in our infrastructure test experiments. Please comment if you see it the same way and also communicate what has to be changed to get this PR merged.
We are further thinking about extending the chaostoolkit-kubernetes with actions to kill processes in pods. Would that be something you are interested in and that could be merged back here as well?
Looking forward to hearing from you.
Best regards,
Jens.

Codecov Report

Merging #48 into master will increase coverage by 1.99%.
The diff coverage is 62.26%.

@@            Coverage Diff             @@
##           master      #48      +/-   ##
==========================================
+ Coverage   75.23%   77.23%   +1.99%
==========================================
  Files           4        4
  Lines         323      325       +2
==========================================
+ Hits          243      251       +8
+ Misses         80       74       -6

Impacted Files
Coverage Δ

chaosk8s/pod/actions.py
89.58% <50%> (-5.66%)
:arrow_down:

chaosk8s/node/actions.py
78.03% <63.82%> (+4.58%)
:arrow_up:

Continue to review full report at Codecov.

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

Damn! I didn't review this one yet :( so sorry

We are further thinking about extending the chaostoolkit-kubernetes with actions to kill processes in pods. Would that be something you are interested in and that could be merged back here as well?

Heck yes we are interested. This is a thing that I'd be eager to use :)

Please, do not apologise for contributing! This is awesome stuff. I apologise for the delay in reviewing.
Could you please finally squash all of it for the last pass?

sure, what do you want me to do exactly?

found a website about squashing. Will follow it

Thanks!
Usually a simple:
git rebase -i HEAD~X

where X is the number of commits back in your history you want to squash. This will open an editor for you to decide what to do with all of these commits (usually replace all the pick, except the first one by squash) then save the editor's buffer. This will then ask you to choose the commit message for that one single commit and save. Then force push :)

anything else you need me to do?

Not at all. I am sorry, I missed your forced push. I'll look into it asap!


chore: add track events to quest-card + mission-cta

Ticket: https://lifi.atlassian.net/browse/LF-9873

1.) Click on quest card

2.) Click on a mission cta: There is also null values being sent, which is why I added the title (?).
Anyways, I guess if we could add id´s to the CTA, it´s better to track: (check strapi screenshot)


Issue 14450 - Incorrect overloading of immutable constructor for template struct

https://issues.dlang.org/show_bug.cgi?id=14450

Rebased on master, and ready for ddmd.


New ATS Magick experimental plug-in (8.0.x)

backporting ats-magick to traffic server version 8

Is this necessary? Are there already merge conflicts here such that we need a new PR? Also, remember you will need the fixes for detecting library versions.

I cherry picked the 2 commits from master, so this PR is not needed:
2ddd664d7242d19edbbbbe07d3486fc6b01cc1de
fa471031ebbadcc3c2e8038408f998b1826ad334

thanks


2849 - SIS2 - Convert internal sample into newCase message

Motivation and Context

We need to change RM so that it can receive a newCase message from an external service such as RH, instead of RM sending an internal-only sample message.
What has changed

Updated config for new topic & subscription and remove sample
How to test?

Run the ATs, make sure everything still passes.
Links

https://trello.com/c/264gpPpL/2849-sis2-convert-internal-sample-into-newcase-message-5

 SIS2: Convert internal sample into newCase message (5)


:hp-image: not working with local files

:hp-image: works when adding an external image with a link but not with files uploaded to the images folder. Example here

Hi @dchun
Have you the problem in the preview? because in you published content  i can see the image :
https://dchun.github.io/2016/07/15/Testing-hubpress-blog.html

I'm referring to the header image. I tried a variety of ways but it doesnt seem to appear here: https://dchun.github.io/

Ok i understand now, sorry i did not take attention to the hp-image in your issue.
:hp-image: /images/cover/mui_ne.jpg will work.

@anthonny still doesn't work. It also seems to run contrary to the advice in the docs:  https://github.com/HubPress/hubpress.io/blob/master/Writers_Guide.adoc#31-hp-image-for-blog-post-cover-images

I can see your cover:

Certainly the cache of your browser

Perfect! thanks! So I guess the docs are outdated?

The note is true for all images except :hp-images: 😢
The doc need an update that's true

You're welcome, FYI i have just release the 0.6.0

I have added clarification to this in https://hubpress.gitbooks.io/hubpress-knowledgebase/content/parameters/hp-image.html


update cennznet api and polkadot api version

Looks good, there quite a few commented out code blocks, would be great if we can tidy them up before merge.
I noticed we've bumped up to use node 16, then it's worth to update .nvmrc to lts/gallium to match with the requirement.
Also, does this resolve #170 and #172?

thanks for looking thro' the PR.. I removed commented code blocks and updated .nvmrc
Yes, updated the code to resolve #170 and #172

Looks good, but can you update .nvmrc to be lts/gallium instead of 16.0, that will lock it to the LTS version of node 16, which is 16.13 atm

lts/gallium

thanks.. done

Looks good, but can you update .nvmrc to be lts/gallium instead of 16.0, that will lock it to the LTS version of node 16, which is 16.13 atm

thanks done

@KarishmaBothara shall we merge?

need this so we can send txs to rata post update

@KarishmaBothara shall we merge?

yes.. wll check the last four steps of the pipeline.. not sure why status is waiting for that