nsqd: resilience

Here's a proposal we're looking at to provide resilience on top of NSQ. This idea requires a small change to the nsqd library in that it would need to be notified when a message has been FIN'd.

So in light of the gossip work, I ended up writing a re-implementation of raft that uses serf as its mode of communication and source of node-liveness information. Perhaps its not accurate to call it raft, but that's definitely what it's based on. Other than the obvious advantage of a resilient communication layer, we can adapt to use the same serf instance for the lookup and resilience tasks. While deduplicating work, that will also deduplicate the need for bootstrapping.
The documentation is here: http://godoc.org/github.com/shipwire/ansqd/internal/polity
For the WAL question, yes, I agree, there is likely value in making sure there's a persistent storage element to it. The current implementation for message storage is to group them by an "expiration time," removing messages as they get confirmed as handled by the cluster. The expiration time can be looked up periodically for any outstanding messages that need to be recovered. The implementation of that is here: https://github.com/shipwire/ansqd/blob/master/buckets.go

So in light of the gossip work, I ended up writing a re-implementation of raft that uses serf as its mode of communication and source of node-liveness information. Perhaps its not accurate to call it raft, but that's definitely what it's based on. Other than the obvious advantage of a resilient communication layer, we can adapt to use the same serf instance for the lookup and resilience tasks. While deduplicating work, that will also deduplicate the need for bootstrapping.
The documentation is here: http://godoc.org/github.com/shipwire/ansqd/internal/polity

I want to make sure I'm on the same page with the direction you're proposing.  Polity would have to responsibility, on top of our ongoing gossip work, for "self-organizing" nodes in the cluster into various roles.  We would then use these "roles" to form replication groups (of sizes 3-5, etc.)?
From there, we can layer on a replication strategy between those role-based groups, strongly consistent or otherwise?

The documentation is here: http://godoc.org/github.com/shipwire/ansqd/internal/polity

I don't have a better place to ask polity specific questions, so here goes...
I haven't read the raft paper in some time, but I thought its use of terms and commit index further protected it against split brain situations - how does polity handle this?

So polity is kind of a simplified raft. It has no replication log, so there's no commit index, and it has no single leader role, so terms don't make sense either.
You can think of polity roles as named, globally distributed locks. When one node proposes its candidacy for a role, and it is elected, no other node can take on that role until the first node is recalled. The three main operations, electing, recalling, and querying, all require a majority of all known nodes to succeed.
In a split brain situation, a few things could happen. If the serf/memberlist instance still recognizes the presence of the missing nodes from the other side of the brain, only the side with a majority could win elections. Once the missing nodes are timed out, you could start to win elections on both sides and end up with two different role-holders. Once the partition is resolved, queries will return the node that had the majority of votes.
Describing that has led me to a possible improvement: when joining two clusters (because of a partition), proactively resolve role conflicts by looking at which node has the most votes, and if there's a tie, break it by choosing the one that won at the earliest lamport time.
As far as how that works with replication: the current idea is to not use polity to replicate at all, but rather to use special topics to replicate messages (1) to peers. The FIN from a peer is a clear enough signal that it has received a message, and replication can be considered successful when a majority of peers have FIN'd it. When all is well, once the originating nsqd finishes with the message, it will notify peers about that success. The other nodes can stop worrying about that message. Now say the original node goes down. Once a timeout has been reached, some number of peer nodes (>1) will initiate an election through polity, asking for a role that is specific to recovering the node that went down. Once a peer wins that election, it is then responsible for delivering all the downed node's messages.
There isn't currently a notion of subdividing nodes into replication groups in the code I'm working on, but that seems like a reasonably good thing to do.
(1) By "message" here, I'm referring to a message as it sits on a particular channel's queue. So each nsqd can treat each "message" as a single required delivery.

Also, FWIW, depending on the settings you're using with memberlist, the various defaults for removing unreachable nodes range from about 3 seconds (Local), to about 5 seconds (LAN), to about 25 seconds (WAN).

There isn't currently a notion of subdividing nodes into replication groups in the code I'm working on, but that seems like a reasonably good thing to do.

I think this is going to be important for larger clusters, particularly to limit the number of replicated topics per-node (scalability).

As far as how that works with replication: the current idea is to not use polity to replicate at all, but rather to use special topics to replicate messages (1) to peers. The FIN from a peer is a clear enough signal that it has received a message, and replication can be considered successful when a majority of peers have FIN'd it. When all is well, once the originating nsqd finishes with the message, it will notify peers about that success. The other nodes can stop worrying about that message. Now say the original node goes down. Once a timeout has been reached, some number of peer nodes (>1) will initiate an election through polity, asking for a role that is specific to recovering the node that went down. Once a peer wins that election, it is then responsible for delivering all the downed node's messages.

What do you mean by "special topics"?  What is the impact of this approach from an NSQ client's perspective?

Well, currently, that idea is just using a reserved topic name. I guess that might be a breaking change if there's nothing like that currently. Perhaps there's a way to do that communication in a different way. Like with a different TCP command.

Is this something that's being worked on?

Yes, in #625

Looks like this was getting there with https://github.com/nsqio/nsq/pull/625 any updates ?

That branch needs quite the rebase :)

Could we improve resilience using object storage (S3) like Warpstream[1]?
[1]: https://www.warpstream.com/
[2]: https://buf.build/product/bufstream


Update Docker instance to be fixed to specific version

Right now we track jhpyle/docassemble:latest. Since there is no maintained set of docker images for previous releases, we need to create our own image and update Azure to use that.

@rdeshpande Feel free to close if this is done. I believe you said it was.


Make pac4j fully multi-tenant

The initialization process should not use the WebContext anymore (the callback URL must not be initialized once and for all, but for every web context). We need to remove the InitializablewebObject.
Only SAML and OAuth need to be updated in that way.
For SAML, things are a little more complicated regarding SP metadata generation as the callback URL is part of the metadata.

I could do with understanding the SAML metadata generation stuff - since I'm the one who complained about the issues around reinitialising clients based on WebContext I'd like to see if I can help come up with a solution that doesn't have those problems (which might only occur under load) but which doesn't cause monstrous pain in general. Where can I find out more about the SAML metadata and its generation in a relatively easy-to-digest way? :)

We should also remove the reinit method which does not play very well with async objects. If you want a new client configuration, use a new client.

About the SAML metadata and its generation, I think we are a bit short on documentation, although we should have that here: http://www.pac4j.org/docs/clients/saml.html
A SAML application must generate a XML document with all its relevant information, this XML document must be registered in the SAML IdP to make it fully aware of the application and how to interact with it. The issue is that the computed callback URL (computed from the web context and thus having different values in a multi-tenant environment) is part of this XML document.
I don't think it's such a big deal anyway, we can generate automatically only one SP metadata by default and we can still ask programmatically for a specific metadata given a specific callback URL...
If you have troubles falling asleep, please read: https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf


Ginkgo CI: validate tests/11-getting-started.sh is migrated over to Ginkgo framework

Validate that the functionality in this test is migrated over to the Ginkgo framework - provide references to which test in the Ginkgo framework covers this as a comment on this ticket. If there needs to be changes to achieve parity, make necessary additions to the Ginkgo framework to achieve parity.

These have a slightly modified set in https://github.com/cilium/cilium/blob/master/test/runtime/Policies.go#L496


Htecgroup - The message " Romania  is not a city in Romania" is displayed instead of the job locations; - Jobs number from the " htecgroup.com " is not the same with the "peviitor.ro" page

ENVIRONMENT: production
URL: https://scrapers.peviitor.ro
Browser: Chrome
Device: Laptop
OS: Windows 10
STEPS TO REPRODUCE:

Open the URL in the browser
Search for "Htecgroup" Company
Open https://htecgroup.com/careers/
Open "See Jobs" button.
Check the job locations and the entire number of jobs.

EXPECTED RESULTS:
Job locations are the same in Scrapers-UI as on the company website.
The jobs number are the same in Scrapers-UI as on the company website.
ACTUAL RESULTS:
The message " Romania  is not a city in Romania" is displayed instead of the job locations;
Jobs number from the " htecgroup.com " is not the same with the "peviitor.ro" page.

Can you help me with this? Something went wrong.

Re-tested,  Job locations are the same in Scrapers-UI as on the company website.
The jobs number are the same in Scrapers-UI as on the company website.


joining the legion unable to be completed

the one fort that actually needs bandits active, doesnt have bandits active
fort hraggstad doesn't have bandits enabled and as such can't be completed
no map marker either

Hmmm... I don't think that this is CWO. I made a fix to have remove bandits but not until after the Battle for Whiterun.

i don't have any mods that edit forts, additionally there is no map marker

yeah this may just be a map marker issue cause i found some bandits

update killed all bandits, and nothing

update markers have appeared, outside the fort

update they are citizens of dragons bridge?

update; can't fast travel cause "enemies nearby"

hold up let me retest this this could be a me thing

unable to reproduce, it was a me thing


Vue: Could not find a declaration file for module  @flavorly/vanilla-components .

I'm facing this error with import in WebStorm IDE. My application uses the latest version of Vue 3 with composition API and typescript.  I found this solution [https://stackoverflow.com/questions/49258849/could-not-find-a-declaration-file-for-module-vue-xxx] But can we fix this in the next release.

Can you show me exactly what error you get? Did you tried with VScode? I heard some people also had issues with that module stuff with other packages.

Could you please tell me what are the steps of your installation process? Mine has no style.#130

Im gonna drop a new release soon this week, seems like something went wrong with generating types. Thanks for reporting im also getting this on PHPStorm / VScode


⚠ captana.io | API has degraded performance

In d2cb6a9, captana.io | API ($CAPTANAIO_API_BACKEND_CHECK) experienced degraded performance:

HTTP code: 200
Response time: 5185 ms

Resolved: captana.io | API performance has improved in 333c3db after 9 minutes.


RDP not supported on ver 10.0.19041.1387

Duplicate of https://github.com/stascorp/rdpwrap/issues/1630


Cannot receive successive messages

Two successive Recv's will not succeed. Send'ing and Recv'ing must alternate, which is obviously less than ideal :-).

@elimisteve is this still an issue?

This issue is 11 years old, and there was no reply whether this is still an issue for half a year so I'm going to close this.


[stable/jaeger-operator] bump operator to 1.8.2 and add recommended label

What this PR does / why we need it:

add recommended label
bump jaeger operator to 1.8.2

Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/test pull-charts-e2e

/lgtm


Chat example does not work

Hi,
I tried to run the chat example and I got this error in the console:

I followed step by step the readme.
What should I do to make it work?
Thanks.

same problem. this is really frustrating.

Hey there.
I just cloned the repo and follow the steps and got the project working, the dependency tree has been updated recently though.
This are my versions:
sdk-starter-node on  master is 📦 v1.0.0 via ⬢ v8.9.4 took 3s
➜ node --version
v8.9.4

sdk-starter-node on  master is 📦 v1.0.0 via ⬢ v8.9.4
➜ npm --version
6.2.0

sdk-starter-node on  master is 📦 v1.0.0 via ⬢ v8.9.4
➜ npm info twilio version
3.18.0

In my .env file I have values for: TWILIO_ACCOUNT_SID, TWILIO_API_KEY, TWILIO_API_SECRET and TWILIO_CHAT_SERVICE_SID.
The only way I was able to repro your exact issue is to set a wrong TWILIO_CHAT_SERVICE_SID value.

Nope. Triple checked the Chat Service ID and its correct.

You can try the TwilioChat-Node project instead. That one does work.  --> https://github.com/TwilioDevEd/twiliochat-node

I managed to get this working by uncommenting the TWILIO_CHAT_SERVICE_SID environment variable in .env. I completely overlooked that the first time https://github.com/TwilioDevEd/sdk-starter-node/blob/6a9fbb420c3ff3455a1dab784c6fb7de4d6a49ea/.env.example#L7


TEST PR (Do not merge)

Change Summary
[Briefly summarise the changes that you made. Just high-level stuff]
Change Form
Fill this up (NA if not available). If a certain criteria is not met, can you please give a reason.

[ ] The pull request title has an issue number
[ ] The change works by "Smoke testing" or quick testing
[ ] The change has tests
[ ] The change has documentation

Other Information
[Is there anything in particular in the review that I should be aware of?]

Please convert PR to draft if testing/ not ready to merge🙂


Multiple bug fixes and expand test matrix

Test changes:

Add test matrix for MongoDB versions 2.6.12, 3.0.12, 3.2.10, 3.4.0-rc0.
Drop testing of MongoDB 2.4.
Drops Travis sudo requirement so tests startup faster and are run in docker
containers rather than full VMs.
Require mongo-orchestration >= 0.6.7 to be able to test Python 3.
Drop testing of Python 3.4 (still testing Python 3.3 and 3.5).

Test bug fixes:

Fix race conditions in test_rollback

Fixed a test insert that sometimes insertted 2 documents instead of 1.
Disable the balancer before creating the sharded collection.

Move test_with_orphan_documents to TestOplogManagerSharded because it requires secondaries.

OplogThread bug fixes:

filter out no-op entries from OplogThread.rollback to prevent a rollback from creating a checkpoint that can't be read later on.
Change retry_until_ok to only catch PyMongo network errors.

The Python 2.6-MongoDB 3.0.12 test failure looks like a MongoOrchestration flake. https://travis-ci.org/mongodb-labs/mongo-connector/jobs/170575950#L1621-L1626

The latest commit fixes another bug in tests: https://travis-ci.org/mongodb-labs/mongo-connector/jobs/170936454#L1245-L1250


Implement new SubMessage struct and main_message

Continuation of #212 and related to #229.
This fixes the problem of not being able to put multiple messages when there are multiple Locations.
Currently, all error messages that were originally there are now main_msg, and sub_msg is still empty.
At first, only SubMessage has Location, but now ErrorCore has it as well.
I try to write test code and a little more clean code
Error[#{.errno}]: File {file}, line {.loc (as line)}, in {.caused_by}
{.kind}: {.desc}

{.loc}  | {src}
{offset}| {pointer}
{offset}| {.hint}

Changes proposed in this PR:

Add SubMessage
Add main_message
Move THEME to ErrorCore
Have duplicate Location in ErrorCore and SubMessage

@mtshiba

State of progress
I am currently checking to make sure that the formatting is done properly.

ascii

ascii + pretty

Note: the test code only checks the formatting and does not test whether the error actually works

Thank you!


[Azure Search] Implement ownership changes in the catalog

This will include documentation changes about the new leaf type.

Moving out of this milestone. There is too many open questions here, due to https://github.com/NuGet/Engineering/wiki/Package-Author-Impersonation.


Person/People generator

A way to generate random information about a person will be a helpful tool. I have something similar built at disney, but relies on an API call. I've been bitten as that API may not be up at the time of the test run, so a way to seed the data ourselves would be more beneficial.

Can you provide an example of the information it would need to returned? (Just names, names and address, etc)

Attached are the classes I made for Disney. Looking to recreate or just reuse this as much as possible. There is a separate class for Email, Address and Phone so they can work independently. The Guest (Person) class has it's own data along with an array of Email, Address, and Phone as a person can have multiples of each. HouseHold (People) is just a collection of Guests, along with some metadata such as how many guests are adults, ad how many are children. So information may not be necessary, the People class may not be necessary either, but it provides a simple way of creating multiples at one time as you pass in an int of how many people to create when instantiating HouseHold. Again, a lot of the functionality in this classes may not be necessary as some data are disney specific. But the way it is set up, all data is iteratable, making coding simple and efficient.
HouseHold.zip

Created with c0dddd38a1711afd2c6c89d23513f71bdd10824b


Fix: Issue where Sickbeard test would always fail

There was an extra string replacement in the URL causing the test to always fail.

Thank your for this pr. But the problem is that I forgot to add sickbeard_basepath. The test button will not work with the current pr if webroot is set.

Closing this as it should be fixed in the latest commit

Ah I see. Feel free to close.


[DX-218] Expose cli to be used programmatically

Fixes #441 by exposing the dev interface and allowing acceptance testing in a cleaner way

@matteofigus
Fixed, there also were some wrong paths, and I've also added some unit tests. Should be good to review now


Changed course for Theory of Computation to the one in openMIT

Applied angle's suggestion to change the course for Theory of Computation to the one in openMIT

This still contains the changes to logic and probability.


Can't compile PhantomJS with GCC 5.0

Compiling PhantomJS (dev trunk) with GCC 5.0 (which is the default compiler in Debian unstable right now) fails inside JavaScriptCore:
g++ -fdebug-types-section -Wl,-O1 -fuse-ld=gold -Wl,-rpath,.../qtwebkit/lib -o ../../bin/jsc .obj/jsc.o   -Wl,-whole-archive -lJavaScriptCore -Wl,-no-whole-archive -L.../qtwebkit/Source/JavaScriptCore/release -Wl,-whole-archive -lWTF -Wl,-no-whole-archive -L.../qtwebkit/Source/WTF/release -licui18n -licuuc -licudata -L.../qtbase/lib -lQt5Core -lpthread -lz -licui18n -licuuc -licudata -lm -ldl -lrt -lpthread
.../qtwebkit/Source/JavaScriptCore/release/libJavaScriptCore.a(JSArray.o):JSArray.cpp:
  function JSC::JSArray::push(JSC::ExecState*, JSC::JSValue):
  error: undefined reference to 'void JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes<(unsigned char)20>(JSC::ExecState*, unsigned int, JSC::JSValue)'
collect2: error: ld returned 1 exit status
Makefile.jsc:98: recipe for target '../../bin/jsc' failed
make[2]: *** [../../bin/jsc] Error 1

This is already reported upstream as Qt bug 44829 and Webkit bug 147815.  A patch is available; I will make a pull request shortly.

Good catch! Let me see if I still have that CentOS 6 with GCC 5 setup somewhere for an additional verification.

Merged #13520.

Patch #13520 has now been applied to the 2.0 branch as well.


[TypeScript][Generator] Remove npmrc references

Purpose
What is the context of this pull request? Why is it being done?
Executing the generator-botbuilder-assistant of master branch presents an issue that .npmrc file is not found.

Changes
Are there any changes that need to be called out as significant or particularly difficult to grasp? (Include illustrative screenshots for context if applicable.)

Remove the .npmrc references in the creation of samples
Remove the .npmrc references in the generator tests

Tests
Is this covered by existing tests or new ones? If no, why not?
As the npmrc is removed, we removed the related tests
Feature Plan
Are there any remaining steps or dependencies before this issue can be fully resolved? If so, describe and link to any relevant pull requests or issues.
-
Checklist
General

[ ] I have commented my code, particularly in hard-to-understand areas
[X] I have added or updated the appropriate tests
[ ] I have updated related documentation

Bots

[ ] I have validated that new and updated responses use appropriate Speak and InputHint properties to ensure a high-quality speech-first experience
[ ] I have replicated language model changes across the English, French, Italian, German, Spanish, and Chinese .lu files and validated that deployment is successful

Deployment Scripts

[ ] I have replicated my changes in the Virtual Assistant Template and Sample projects
[ ] I have replicated my changes in the Skill Template and Sample projects

Closed because it was merged in MS


Fix a bug where a DNS resolution is timed out when IPv6 is enabled

Motivation:
If IPv6 is enabled, the default DNS resolver sends both A and AAAA record types to get available IP addresses. DefaultDnsResolver waits for all questions to be resolved.
https://github.com/line/armeria/blob/94a1bf40ff41e1cfa9cd0c1a08f7bde14a7153c9/core/src/main/java/com/linecorp/armeria/internal/client/dns/DefaultDnsResolver.java#L126-L131
It is common that IPv6 record is not registered for servers that are used for internal communication. If a DNS server does not have an IPv6 address for a DNS query, the default DNS resolver continues to look up the next search domains.
Even if a DNS resolver acquired an IPv4 address successfully, DefaultDnsResolver keeps waiting for an IPv6 response. It would be a long-running task to check all search domains.
For that case, users frequently see DnsTimeoutException without -Djava.net.preferIPv4Stack=true which sends a DNS question only for IPv4.
Modifications:

Fix DefaultDnsResolver to make a DNS query successful immediately if the first preferred records are found.

DefaultDnsResoluver does not wait for all questions to be resolved.
If a less preferred response is received early, the resolver will wait for the highly preferred one until the query is timed out.
If resolved records exist when a timeout is triggered, use the value.

Result:
You no longer see DnsTimeoutException when an IPv6 network interface is enabled.

Thanks for reviewing!


Minutes and agenda items

Please only use this for minutes and agenda items. I've copied them over from the Google Doc.

2020-10-28
Agenda

Introduction to topic (why have this, etc) (~5 min)
Brainstorming 1: Individually write out as many ideas for things to cover or include in the "common docs"/"manual"/"standard operating procedures" as possible (maybe about 5-10 min) and put onto stickies/post-it notes

Afterwards, take all the stickies and organize them and discuss them. (maybe about 15 min)

Brainstorming 2: In small groups (pairs or threes), based on previously discussed ideas, expand on current ideas or come up with other ideas. Again, write on stickies. (maybe about 15 min)
2. Afterwards, take stickies, organize them, and discuss (~15 min)
Introduction to some basic things we need/should have for implementing these common docs. (~10 min). Includes:
3. Relatively easy for anyone to contribute to;
4. Easily share-able (both internally and externally to potential collaborators);
5. Able to write and interact with docs in either Danish or English;
6. Easily searchable/navigable/shows list of all docs available;
7. (other ideas?)
Brainstorming 3: In new small groups, think about as many ideas as possible for how to go about implementing this. (~10 min)
8. Gather stickies and discuss ideas all together (~10 min)
(This depends on the outcome of Brainstorming 3 above) Brainstorming 4: Individually, write out as many names as possible on stickies for what to call this (if we e.g. make a website or something for this). (~5 min)
9. Gather stickies and discuss (~5 min).
Post-brainstorming:
10. Make a committee responsible for this?
11. Create and assign roles for this committee?

Minutes

See notes-from-session for what we brainstormed
Action items:

Start using Google Docs for immediate term to developing common docs
Adam will showcase using current website and if it's feasible to use as our “entry point”
Luke to showcase Git at Steno Thursday?
First common doc: Onboarding for newcomers
Add others to Google Folder (DONE)
Put pictures up online (DONE)
Link to other Google Docs?
Luke: Send when to meet next, in a month? (DONE)
Tinne: Digitize discussion points and put into a brainstorming notes file (DONE)

2020-12-02
Agenda

Update on action item: Creating onboarding material for newcomers.
**(LUKE) **Discussion: Establish a few principles for decision making and creation of the docs:

“All are welcome to contribute”: There should be no or little barrier to contributing to the documents and their content, aside from barriers due to technology and skill in its use. If someone has the motivation and desire to contribute, they should be able to fairly easily.
“Inclusion and participation in community through active contribution”: Individuals who want to participate should actively contribute through not just attending meetings, BUT ALSO in creating, modifying, organizing, editing, and/or developing the content. Those who actively contribute should be included in the community and encouraged to participate. This will help prevent having people in the community who request content but don’t actively contribute, so that anything we make is based on our own motivation rather than from being told to.
“Content is dictated by direct and active contribution”: What gets created or developed should be done by whoever contributes to creating or building it. This:

Prevents people internal or external to the community from asking or requesting for things to be added and implicitly suggesting someone in the community to do it
Prevents any individual or group of individuals from being placed as responsible for work that is not paid for and ensures that responsibility and work is distributed as much as possible.
Lowers the barrier to what gets created from “requiring permission” to “if you want it, make it”.

“Important or significant decisions are based on community consensus”: Decisions should not or need not be blocked by requiring permissions for anything external to the community. This will ensure things move forward as continuously and unrestricted as possible. Important or significant decisions could include things like approving and finalizing a document or deciding on major infrastructural changes (e.g. platform to use for creating and managing the content).
Ultimately, this common doc project is largely voluntary and shouldn’t become something that takes up too much time or mental energy and that doesn’t get inhibited by too much bureaucracy.

**(SINE?) **Summary of our needs and what has been found about each:

In general, RM expects research needs to be met through AU connection.
Server for data space

Data storing: servers (also Linux servers) can be provided from RM IT. It will be possible to access the server from a Linux computer as long as you have a RM user.

Intranet for SDCA employees

Current SDCA intranet site has some of the info that also needs to be on our potential research intranet site but otherwise doesn’t seem suited for the research purpose.
Other examples: E.G. Department of Molecular Medicine, but they have their own IT department and servers, which gives them more flexibility. Or e.g. Præhospitalet who work with external partners, but requires funding.
We could have our own IT department but will require our own funding.

Website for research purposes, common docs (suitable for public), research projects, etc.

We can create our own website (nothing is stopping us from doing that from a Region level according to Morten in IT). In regard to RM requiring a specific design:  RM is mostly interested in places where there is patient interaction and as this webpage needs to work on a daily basis, RM will probably be happy if at least the logo is there.
GitHub fits a lot of the needs and it should be possible to link to it as long as there is no patient information. (Shouldn't be a problem as there is not data storing only code). Within GitHub you can make your own website and it is hosted by GitHub.
An Idea could be to add a subpage to the SDCA webpage – need to ask Marie (and give her examples for inspiration). Here it would also be possible to link to a webpage we make ourselves.

Which potential locations to create and put these materials and which meets our needs most?

Quick presentation/walkthrough: Adam will show off how to edit the website (as a potential place we can link the common docs or for other purposes) (Either for intranet or for website)
Discussion: Other options? (Luke will show his proposed solution based on GitHub during the next meeting.)

Discussion: Next steps and assigning responsibilities and roles?

Idea: After developing these things, writing a paper describing our experience, how to use the resources for others, the challenges facing us, and how it helped us work better (this will likely take a year or two before we write this). Example of what this might look like is: https://www.nature.com/articles/s41559-017-0160
Who wants to lead which section?

Minutes

Minute taker: Alisa
Luke went through the four principles, that can be seen as the code of conduct.
_Discussion on potential obstacles. _

_github: Luke will make a video on how to use _
_what documents would be included in “common docs” _
truly voluntary and motivated aspect versus given task
version control, package maintainer
Collective experience of the group gathered (learning from past experience and knowledge sharing)
Involving administrative staff in making the organization structure (Tinne suggested to invite a staff representative to this working group)

Sine went through the three topics discussed with Morten from RM IT

Server for data space: Luke will take a closer look at this
Intranet for SDCA employees: Contact and see Præshospitalet (private vendor-needs funding), MOMA solution (KI, not regional with own IT dpt)  is not an option
Website for research purposes, common docs (suitable for public), research projects, etc.: it is possible to link out from the SDCA webpage as long as the logos are there, possibility to control access to github/webpage with password/log-on if docs not for sharing
Adam showed how to edit content on the webpage (only if you have this enabled).

Discussion on having 2 systems-the webpage and github-need to maintain both. Consensus that the webpage could be substantially improved.
Website-flashy news to the outside, links to github-the boring dictionary

Next steps and assigning responsibilities and roles:

Next time, Luke will show his proposed solution based on GitHub during the next meeting.
Discuss the linked paper at next meeting
Tinne and Adam will have a look at DST document (uploaded to github afterwards)
Daniel is working on newcomers doc, working as external (employed from Sweden)
After the AI course and JC organized by Adam, 2 data projects: 2 teams: one working “oldschool” and 1 working on github.

2021-01-06
Agenda

Update on action items from the previous meeting.
(LUKE) Brief walkthrough on how to use GitHub for writing docs.

Minutes

Slowly try out GitHub for making documentations
Action items:

Adam: Data application documentation
Luke: Update to contributing with video tutorial

Making issues with things to do

Sine: Legal about issues
Alisa: Tutorial or FAQ for using GitHub (for her own project)

Inspiration for onboarding material from the Department of Public Health, Research Unit for Epidemiology (Ask Daniel for link)

2021-02-03
Details

Time: 10:00
Location: Zoom meeting

Agenda

Update on action items from the previous meeting.

Luke: Has created two videos with a tutorial on contributing to the docs. See https://steno-aarhus.github.io/research/CONTRIBUTING.html#navigating-the-github-project

Try this method out and discuss how it goes a few months from now.

Discussion: Thoughts on writing a paper describing our experience, how to use the resources for others, the challenges facing us, and how it helped us work better (this will likely take a year or two before we write this). Example: https://www.nature.com/articles/s41559-017-0160
Discussion: Move meeting agenda and minutes to Trello? Or keep this Google Doc?

Minutes

Updates and random:

Would be nice to have some support sessions (would be better in person). Maybe for now, have online sessions to help each other out, like “a support group”?

When? Luke will send out invites to informal session days (?)

DigitalOcean has good documentation on using GitHub etc.
Maybe have other videos, showing workflow with others?

Paper discussion:

Would need to be targeted or something rather than just about this website
Maybe, around data and GDPR? Building a research structure/infrastructure? How to build an open science structure in this context?
Maybe pick a few tools and write about/document how to move and use them?
What’s the aim of the (potential) paper? Something to compare that it has improved our workflow or that it works.
We’ll in the meantime think about it and what to compare, what to improve, and what data to record to present.
Idea: Describe how it was done in small steps so others could replicate and use. Or that clinicians can be convinced and also start using it.
Idea: Start documenting steps and learning in a blog as the first step to writing the paper.

Maybe involve others and ask them to write something? Like research staff.

Trello vs Google Doc agenda and minutes:

For this group, move to GitHub project instead, so it’s all right there.

Action items:

Luke send out doodle on when to meet for co-working session and learning for using this workflow
Luke make video on using Markdown

And other videos on workflow and collaborating (e.g. commenting on Pull Requests, making Issues)

Luke will add all our brainstorm items to issues on project
Luke will add blog capability to project

Maybe add our minutes to the meetings as blog posts.
Luke will make a video of adding blog content?

Everyone: Create GitHub account and send Luke your username
Everyone, after Luke has added tasks/brainstorm items, indicate which one you want to be responsible for.

2021-02-03
Agenda

Update on action items:

Complete #21?
Look through "Content to add" issues and select which you want to lead.

Minutes

2021-03-24
Agenda

Progress updates.
Someone else responsible for organizing meetings and sending out calendar invites?
What should be on landing page? (On this page: https://steno-aarhus.github.io/research/)

2021-03-24
Agenda

Progress updates.

Main organization list: #25

Someone else responsible for organizing meetings and sending out calendar invites?

What should be on landing page? (On this page: https://steno-aarhus.github.io/research/)

Minutes

Main organizing list:

Add "how to setup studies" (@sineknorr) and "medical lab doc" (Ulla and Ole).

Update from @danielibsen: Making table with a bunch of information in it. Will convert to Google Sheet and give anyone access.

Luke (with help from Alisa) will continue organizing meetings.

Ideas for landing page. Put in #30

Others:

It'd be great to have a common calendar, but will need more organizing across SDCA to implement.

Hi all. Here is the link to a table of the topics that we plan to include in the onboarding material. Please go to the link, look at the table and add any topics you think would be relevant to include.
https://docs.google.com/document/d/1uszx7HE9ivaz5hNvdfvUCzPSNAExX3VCHrUFjq1mae8/edit?usp=sharing
@tinnelaurberg and I will talk about the topics with Maria and convert the table to a GoogleSheet.

2021-04-21
Agenda

Progress updates.

Minutes

2021-05-18
Agenda

Progress updates

Minutes

don't need this Issue anymore


Improved folding and indentation support

This patch does several things:

Move the folding patterns out of Julia.tmLanguage and into their own file: "Folding.tmPreferences".  This seems to be the more idiomatic way to write bundles for TextMate 2, and it makes editing easier as the folding patterns are now visible in the Bundle editor.
Move the indentation patterns out of the Comments preferences into Folding preferences alongside the indentation patterns.  These two settings should be highly coupled, so it makes sense to have them right next to each other.
Add folding, indentation, and keyword support for stagedfunction.
Add folding support for do blocks
Add folding and indentation support for macro-annotated blocks (e.g., @inbounds for ...).
Fix indentation when end appears on the same line as the block head (but only when there's not a close bracket ] that is between end and the newline. This allows for trailing comments, but prevents it from getting screwed up with an indexing expression if x[end].)

Merged! Thank you.


fix new plugin processing

Codecov Report

Merging #2178 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2178      +/-   ##
==========================================
- Coverage   92.08%   92.07%   -0.02%
==========================================
  Files         191      191
  Lines       19598    19598
==========================================
- Hits        18046    18044       -2
- Misses       1552     1554       +2

Impacted Files
Coverage Δ

...t/handlers/api_proxy/tests/test_sample_template.py
97.77% <0%> (-0.89%)
:arrow_down:

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 592c626...8ff9c04. Read the comment docs.


Update URL for nats-server repo in the README

The URL for the NATS server was pointed at https://nats-io/nats-server
which did not resolve.

thanks


Fix list template

The list.html used the paginator with a where clause with section "post".
This panics for sites without secion post, and the plain .Paginator is what you'd really want (will always contain the relevant content
for the given section or taxonomy.

thanks Bjørn


Add steps to install flatbuffers in Dockerfile.

When building using Dockerfile of armnn v23.11, there occurs an error regarding flatbuffers.
The error occurs due to absence of the module so that I added codes to install the package before the steps which requires flatbuffers.

Thank you for the information.
The link Contributor Guide does not seem to exist..

Hi @eogml88
Apologies, please see the links below
https://arm-software.github.io/armnn/23.11/md__c_o_n_t_r_i_b_u_t_i_n_g.html
https://arm-software.github.io/armnn/23.11/contribguides.html
Hope this helps

I pushed 2 commits following the guide regarding this PR.
Thank you for the kindness.


fix python optimizer wd

The direct use of self.wd here will totally ignore wd_mult and cause unexpected behavior during training.

thanks.


CTRL + C not higlighting anything will copy a blank line instead of keeping item in clipboard

VSCode Version: Code 1.6.0 (e52fb0bc87e6f5c8f144e172639891d8d8c9aa55, 2016-10-10T18:37:40.189Z)
OS Version: Windows_NT ia32 10.0.10586
Extensions: alefragnani.Bookmarks-0.9.2, alefragnani.numbered-bookmarks-0.5.0, azemoh.one-monokai-0.1.14, be5invis.vscode-icontheme-nomo-dark-1.1.4, hirofumii.rubyblue-theme-1.0.2, PasqNet.theme-earlytorise-0.0.4, qinjia.seti-icons-0.1.1

Steps to Reproduce:
1.CTRL + C, not higlighting anything, will copy a blank line instead of keeping current text in clipboard

Can't reproduce. Do you have the cursor on a blank line? If so, this behavior is expected.

Yes.  the cursor is on a blank line.  Is there a way to turn that off then?  Otherwise, can you make an option to turn that off?

This has already been requested. See https://github.com/Microsoft/vscode/issues/11112 - the request is to add an option to disable ctrl+c behavior of "copy current line to clipboard if there is no selection".

Closing as dupcliate


Windows 10 UWP Support?

Does this plugin currently support creating UWP projects for Win10? I noticed in the doc only Windows 8.1 is listed as supported.

Bump

The docs say:
visualstudio
(for Windows only) Opens the project file of the generated Windows 8.1 / Windows 10 app in Visual Studio
package
Creates an APPX package for uploading the Windows 10 app to the Store, where  is the folder that contains the app contents, including the appmanifest.xml file and the app's icons, and  is the path to the APPX file to be generated
http://manifoldjs.com/documentation
But from my own test the app that is generated is actually a Universal Windows 10 App targeting 10.0.10240.0 (so the original release of Windows 10).  You can retarget if you want.  And there is nothing in there that I am aware of that would prevent you from just targeting Windows 8.1 if you wanted.


Support filepath globs for replacements

Is your feature request related to a problem? Please describe.
When doing some replacements for projects I want to make the same change to many files.  These files have the same name but are listed in separate directories.  Instead of having to list each of those replacements it would be nice to just do something like path/to/**/file or path/to/*.ext or path/to/file.*.
Describe the solution you'd like
Using filepath globs would be a nice solution for this.
Describe alternatives you've considered
Listing out a replacement for every filepath...but that can get super tedious and is just waiting for a mistake.
Additional context
Similar to the last issue I opened this is while working with helm charts.  I have many Chart.yaml files I want to modify when releasing a change to one of the charts.  All the Chart.yaml files have the same basic structure and as such I'd like to be able to give a filepath glob to make a replacement on all of them, if necessary, when releasing a change to one.  Given a file structure and a config in changie like the following I'd like it to be able to modify each Chart.yaml:
common/
|- Chart.yaml
other/
|- Chart.yaml
main/
|- Chart.yaml

projects:
  - label: Common
     key: common
     replacements:
       - path: ./**/Chart.yaml
          find: "version: .*"
          replace: "version: {{ .VersionNoPrefix }}"

A config like this should allow me to make changes to any Chart.yaml found in any subdirectory changie is currently working in.

I kinda figured this would happen at some point lol.
I believe moving to glob search is fine.

I'm always happy to contribute where needed

I'm always happy to contribute where needed

Of course, PRs are appreciated. Let me know if you need any help.


Whether the display layer should be modified to add additional information to the text?

Hi everyone~
I want to add some additional information to the text, such as a custom id, to make it easier to use the code to find the specific text.
After looking at some source code, I found that I could add custom properties to add additional information when the appendText function of display/text_layer.js generates a span element containing text.
https://github.com/mozilla/pdf.js/blob/33f5d94f23f16073dd35cecebe88065b0d4bc43d/src/display/text_layer.js#L157-L168
Should I do this? There are other, more elegant ways to do this?

Should I do this? There are other, more elegant ways to do this?

We cannot decide that for you, and you've also not clearly explained why you need to do this (or what sort of information you intend to add to the DOM).
Generally speaking, there's two arguments against doing that: First of all, any modifications to that part of the code-base could make it more difficult for you to update to new PDF.js versions. Secondly, adding a bunch of additional data to the DOM might affect overall performance for large documents with lots of text.

For future reference: When opening an issue, please provide all of the information requested in https://github.com/mozilla/pdf.js/blob/master/.github/ISSUE_TEMPLATE.md such that any issue becomes easily actionable.

Should I do this? There are other, more elegant ways to do this?

We cannot decide that for you, and you've also not clearly explained why you need to do this (or what sort of information you intend to add to the DOM). Generally speaking, there's two arguments against doing that: First of all, any modifications to that part of the code-base could make it more difficult for you to update to new PDF.js versions. Secondly, adding a bunch of additional data to the DOM might affect overall performance for large documents with lots of text.
For future reference: When opening an issue, please provide all of the information requested in https://github.com/mozilla/pdf.js/blob/master/.github/ISSUE_TEMPLATE.md such that any issue becomes easily actionable.

For example, in a pdf there is a piece of text

The trees, the river, everything. Like nothings changed. Not true of course, everything' s changed. If I brought my parents back here now, they probably wouldn't recognize any of it.

In the div of the text layer, it looks like this

Now I want to be able to find that sentence directly through something like document.getElementById and highlight it
So should I modify text_layer.js to add additional information to span like custom id to locate it? like this?

Or is there another way(method) to identify the text and locate the text?
Thanks for your reply.

sorry for issue format


Projects created aren't being saved

case/722054
Windows 7.4.184 user is unable to create new Projects on the desktop app, despite being able to do so on the web app.
"I clicked Add New Project, entered the name, selected the client, then tried pressing Enter or clicking Save, but the project was not created (time record doesn't have a project or client, and the project is not in the drop-down list)."
I am also unable to create Projects on my macOS 7.4.129

Same issue with /case/722628 on OSX


[Feature request] Integration with optax

optax is the most popular JAX library for optimizers. Feature request: Let users pass an optax.GradientTransformation to strategy constructors, rather than a combination of opt_name, lrate_init, etc. This has a few advantages:

Automatic access to all current and future optax optimizers.
Can delete most of the code under evosax.core.optimizer (they are already implemented by optax).
Simplify the code for strategy classes (e.g. OpenES).

Thank you for creating this library. Look forward to hearing your thoughts.

Hi @carlosgmartin -- thank you for raising this and please excuse the late response! I have actually been thinking about this for a second. For now, we have opted for the arguably awkward re-implementation of most common optimizers. This had a couple of reasons:

The opt_params can directly be stored in the es_params dataclass, which enables easy mapping across different learning rates/decay parameters. But to be entirely honest -- this doesn't happen so frequently.
All ES operate on flat parameter vectors and not pytrees, which simplifies some aspects of the optimizer.

In general, I am very open to switching to optax in the long run, especially since I am also personally interested in trying out some of the learned gradient-based optimizers in the context of ES (e.g. LION or VeLO), which already all have optax support. Furthermore, it may make population-parallelism (similar to data-parallelism in multi-device settings) a lot more smooth. I have started playing around with some of these ideas for OpenAI-ES here.
Let me know if you would be interested in supporting me in this endeavor. My bucket list right now is pretty large -- so at the moment I can't guarantee that this will happen within the next week(s). Cheers and again thank you, Rob

@RobertTLange Perhaps a good first step could be to reimplement https://github.com/RobertTLange/evosax/blob/main/evosax/core/optimizer.py in terms of optax (perhaps via an OptaxWrapper class), and gradually change the API "outwards" from there. What do you think?

That indeed sounds like a great start ;)
The question is how we ultimately want to parse the optax optimizer to the finite-difference style strategies (OpenAI-ES, PGPE, ARS, ASEBO, etc.). Should this be a string as done right now.  Maybe for the start we can support both?

It seems to me that, at least in the long run, the optax optimizer should be passed in directly. I see a few advantages to this approach:

It saves evosax from having to "keep up" with optax's expanding list of optimizers.
It simplifies evosax's code.
It makes evosax more flexibe, since users can pass in arbitrary compositions of optax gradient transforms.

What do you think?

@RobertTLange If it's of interest, here's an example of how I'd implement a simplified API:
import jax
import optax
from jax import lax, numpy as jnp, random
from jax.flatten_util import ravel_pytree

class OpenAIES:
    def __init__(self, fun, opt, samples, std):
        self.fun = fun
        self.opt = opt
        self.samples = samples
        self.std = std

    def init(self, x):
        return x, self.opt.init(x)

    def step(self, state, key):
        x, opt_state = state
        x, unravel = ravel_pytree(x)

        keys = random.split(key, 1 + self.samples * 2)
        z = random.normal(keys[0], [self.samples, x.size])
        z = jnp.concatenate([z, -z])
        y = jax.vmap(lambda x, key: self.fun(unravel(x), key))(
            x + z * self.std, keys[1:]
        )
        g = y @ z / (z.shape[0] * self.std)

        x = unravel(x)
        g = unravel(g)

        updates, opt_state = self.opt.update(g, opt_state, x)
        x = optax.apply_updates(x, updates)
        state = x, opt_state

        return state, y.mean()

    def get_params(self, state):
        return state[0]

def main():
    def f(x, key):
        return x["a"] @ x["a"] + random.normal(key) * 0.1

    x = {"a": jnp.ones(4)}
    strat = OpenAIES(f, optax.radam(1e-2), 3, 1e-1)
    key = random.PRNGKey(0)
    keys = random.split(key, 10**4)
    state, outputs = lax.scan(strat.step, strat.init(x), keys)
    print(strat.get_params(state))
    print(outputs)

if __name__ == "__main__":
    main()

Output:
{'a': Array([ 0.00540975, -0.02944659, -0.06126042, -0.03289966], dtype=float32)}
[ 4.0403309e+00  3.6317477e+00  3.5216484e+00 ...  1.8467555e-02
 -1.4750160e-02  1.8528154e-03]


Promotions Notifications - Error Messages and Confirmations

This is a placeholder for issues related to error messages and confirmations

Closing in favor of #168


Calling Activity::buttons on an empty Vec causes DiscordIpc::set_activity to silently fail

I noticed that calling Activity::buttons on an empty Vec<Button> causes DiscordIpc::set_activity to silently fail. I don't know if this is expected behavior or not but I didn't see it documented anywhere so I thought I should create an issue about it.

Silently fail as in, other data in the set_activity payload is also ignored, or the buttons data is ignored? An Activity::buttons with an empty Vec should be serialized properly - and if it's failing in that scenario, it seems like it'd be a Discord problem.

By failing silently I mean the rich presence status doesn't get updated -- any part of it, not just the buttons. It's like the call to set_activity never happened.
I can believe it's a bug in the discord implementation but it might be worth noting in the docs at least, and perhaps even just handling it gracefully in this library (by not including the buttons data in the serialization if the vector is empty).


Document to struct and back that has binary data

I am trying to save and retrieve crypto data in a mongo collection.  I managed to create a code mess to do it.  Before I insert and after a find, I convert the binary data to base64 string.  I have pasted my structure, From implementation and document.  I am not happy with the code, as you can see why.
Is there a way to write binary to mongo using rust?
What can I do to clean up the code?
How do I handle errors?  there are 12 unwrap()
I can not find any examples of mongo dealing with structures, am I doing it the correct way?
#[derive(Debug)]
struct TmpLogin {
  sess: PublicKey,
  addr: String,
  ts: i64,
  prekey: PrecomputedKey,
  nonce: Nonce,
}

impl From<Document> for TmpLogin {
  fn from(doc: Document) -> TmpLogin {
    let nonce: &[u8] = &decode(doc.get_str("nonce").unwrap()).unwrap();
    let sess: &[u8] = &decode(doc.get_str("sess").unwrap()).unwrap();
    let val = TmpLogin {
      sess: PublicKey::from_slice(sess).unwrap(),
      addr: doc.get_str("addr").unwrap().to_string(),
      ts: doc.get_i64("ts").unwrap(),
      prekey: PrecomputedKey::from_slice(&decode(doc.get_str("prekey").unwrap()).unwrap()).unwrap(),
      nonce: Nonce::from_slice(nonce).unwrap(),
    };
    println!("FROM {:?} {:?}", doc, val );
    val
  }
}

OrderedDocument({"_id": ObjectId(ObjectId(59a4967c3732382d788aa61e)), "sess": String("NHwCJgP8KZ3ErCPYbH6TkA+hE/rlEANBKkVjm2+9VjY="), "addr": String("<IP_ADDRESS>"), "ts": I64(1503958652), "prekey": String("ect+TYPu1WndhoL5IUnU7N4G1aDYv+TseXjYy7vOn4s="), "nonce": String("tcvm+hE5Gv6GDSM/XLHlJfdtlzWw8Sxi")})

This is currently a wart in the Rust language; the idiomatic way to deal with this would be to implement From<Document> for Result<TmpLogin, ...>, but since both Result and Document are defined in external crates, this wouldn't compile. The proposed solution for this is the TryFrom trait, but unfortunately it's still unstable. Assuming that you're not doing any automatical serialization/deserialization with serde (which it looks like you're not), the best solution is probably to just implement an into_document method directly on TmpLogin that returns a Result.

I found some good docs that helped on bson-rs website.  One of the problems I am having is find the correct docs. As you stated earlier that returns are difficult.  I would suggest that on the frist page you would add a example of a structure being read inserted and find into mongodb with a result being returned. the examples using println does not help with returns.
If there is an easier way I would love to learn it
the structure
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct Person {
  email: String,    // EMail
  salt: String,
  pass: String,
  fname: String,
  lname: String,
  age: i8,
  wealth: i8,
  fiscal: i8,
  social: i8,
  role: i32,
  id: String,
  first: i64,
  last: i64,
}

convert struct to bson
  pub fn to_bson(&self) -> Document {
    let doc = doc! {
      "email" => (&self.email),
      "fname" => (&self.fname),
      "lname" => (&self.lname),
      "salt" => (&self.salt),
      "pass" => (&self.pass),
      "age" => (self.age as i32),
      "wealth" => (self.wealth as i32),
      "social" => (self.social as i32),
      "fiscal" => (self.fiscal as i32),
      "id" => (&self.id),
      "first" => (self.first),
      "last" => (self.last)
    };
    doc
  }
}

Document to struct
impl From<Document> for Person {
  fn from(doc: Document) -> Person {
    let person = Person {
      email: doc.get_str("email").unwrap().to_string(),
      fname: doc.get_str("fname").unwrap().to_string(),
      lname: doc.get_str("lname").unwrap().to_string(),
      salt: doc.get_str("salt").unwrap().to_string(),
      pass: doc.get_str("pass").unwrap().to_string(),
      age: doc.get_i32("email").unwrap() as i8,
      wealth: doc.get_i32("email").unwrap() as i8,
      social: doc.get_i32("email").unwrap() as i8,
      fiscal: doc.get_i32("email").unwrap() as i8,
      role: doc.get_i32("role").unwrap(),
      id: doc.get_str("id").unwrap().to_string(),
      first: doc.get_i64("first").unwrap(),
      last: doc.get_i64("last").unwrap(),
    };
    person
  }
}

Thanks for the feedback! I believe that the reason this doesn't feature prominently in the documentation for this driver because at the time when the driver was initially written, the bson crate was using rustc-serialize rather than serde, and we assumed the standard way users would use the driver would be through manual use of the bson crate's types. It's probably worth at least pointing out the bson crate's documentation about automatic serialization/deserialization features somewhere in our docs, though.

hi everyone,
i'm try this, but i'm get a error when i try convert vector:
  let vec1 = vec!( "a","b","c");
  let doc = doc!{ "vector" : (&vec1) };

let doc = doc!{ "vector" : (&vec1) };
|                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait std::convert::From<&std::vec::Vec<&str>> is not implemented for mongodb::Bson


[WIP] Port deployments/Dockerfiles folder into autonomy framework

Proposed changes
This PR ports the deployments/Dockerfiles folder into autonomy framework as static data folder
Types of changes
What types of changes does your code introduce? (A breaking change is a fix or feature that would cause existing functionality and APIs to not work as expected.)
Put an x in the box that applies

[ ] Non-breaking fix (non-breaking change which fixes an issue)
[ ] Breaking fix (breaking change which fixes an issue)
[x] Non-breaking feature (non-breaking change which adds functionality)
[ ] Breaking feature (breaking change which adds functionality)
[ ] Refactor (non-breaking change which changes implementation)
[ ] Messy (mixture of the above - requires explanation!)

Checklist
Put an x in the boxes that apply.

[x] I have read the CONTRIBUTING doc
[ ] I am making a pull request against the main branch (left side). Also you should start your branch off our main.
[x] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have locally run services that could be impacted and they do not present failures derived from my changes

Can you please update documentation to reflect this?


Using Custom Elements is broken since Glimmer v0.22.0

Problem
Since Glimmer v0.22.0 using custom elements created with Polymer nested inside each other does not work.
My addon ember-polymer did not pass tests since ember 2.13.0-beta.1. All the tests basically do is try to render a custom element and check whether it was successful. I noticed the cause was the upgrade to Glimmer v0.22.0, since the errors are thrown by glimmer code. The error occurs only when custom elements are nested inside each other.
Reproduction
Ember Twiddle does not work with beta versions of ember. Therefore I created a repository called glimmer-bug-example to show the error.
Using ember v2.12.0 (glimmer < v0.22.0)

(master branch)
Using ember v2.13.0-beta.1 (glimmer ^ v0.22.0)

full error log
(ember-beta branch)
This error does though, only occur when nesting custom elements. Just using custom elements is just fine:

Solving this problem
It would be great if someone takes a look at this! I think there might be some conflicting mechanisms in Glimmer's DOM processing and in the custom elements spec.

Thank you for the detailed bug report and digging that you have done to track this down!

Looks like we do not register a statement for Component wireformat opcode (which is number 9 in this enum) here.
I'm not quite sure of the right implementation for it, but that seems to be the issue.
@chadhietala - Do you have an idea on what the implementation should be?

just hit this issue as well -- let me know if I can provide any additional context that would be helpful

@JackCA - You hit this in Ember 2.13?

@rwjblue yessir

@rwjblue let me know if I can provide any specific information that will help. I'm using a combination of tagless and custom-tag components

This has also broken ember-paper for me on Ember 2.13, specifically the paper-chips component. After updating, the main content area of my application wasn’t rendering, with this error in the console:
ember.debug.js:19829 Error: expected an implementation for 6

Stacktrace

    at Object.debugAssert [as assert] (ember.debug.js:1498)
    at Compilers.compile (ember.debug.js:1201)
    at compileStatement (ember.debug.js:1200)
    at ember.debug.js:1200
    at Array.forEach ()
    at WrappedBuilder.compile (ember.debug.js:1200)
    at ComponentLayoutBuilder.compile (ember.debug.js:1173)
    at Object.compileLayout (ember.debug.js:1173)
    at Cache._emberMetal.Cache.owner [as func] (ember.debug.js:11330)
    at Cache.get (ember.debug.js:18578)

Thanks to @rwjblue’s suggestion on the Ember Community Slack, I changed the relevant template from having md-chips-wrap and md-chip elements to have divs instead and the error disappeared.
If there’s any additional information that would be helpful for me to share here, let me know!

I'm also getting this with an A-Frame project in 2.12 => 2.13:
<a-scene>
  <a-assets>
    <a-asset-item id="headObj" src="{{rootURL}}tex.obj"></a-asset-item>
    <a-asset-item id="headMtl" src="{{rootURL}}tex.mtl"></a-asset-item>
  </a-assets>

  {{! more stuff }}

</a-scene>

The error is:
ember.debug.js:19829 Error: expected an implementation for 9
    at Object.debugAssert [as assert] (http://localhost:4200/assets/vendor.js:12742:19)
    at Compilers.compile (http://localhost:4200/assets/vendor.js:12445:465)
    at compileStatement (http://localhost:4200/assets/vendor.js:12444:8728)

Someone mind opening an issue on ember regarding the regression in 2.13? Also, we are working on this, it's just a bit involved.

Fixed by https://github.com/glimmerjs/glimmer-vm/pull/488.

Great work @rwjblue and @krisselden !

While this fixes Error: expected an implementation for 9 you can still get Error: expected an implementation for 6. Is this expected error and something that needs be fixed at application level?
Noted in the attempted upgrade for ember-paper here https://github.com/miguelcobain/ember-paper/pull/709.
@backspace described the problem above involving paper-clips.

@bjornharrtel - please open issues for each of those, we'll need template snippets that cause them to be able to fix...

@rwjblue great to hear that. I've opened https://github.com/emberjs/ember.js/issues/15258 with two separate jsbin template snippets that demonstrate additional issues.


Support for dark mode OFF

Unreadable when dark mode is disabled.

as is:
text is difficult to read

to be:
text can be read

environment:
Dark mode OFF
Mac OS 12.3.1（21E258）
❯ mint run auramagi/NewIcon -h
🌱 Finding latest version of NewIcon
🌱 Running new-icon 0.1.1...
OVERVIEW: macOS icon customization

❯ mint version
Version: 0.17.1

❯ swift --version
swift-driver version: 1.45.2 Apple Swift version 5.6 (swiftlang-<IP_ADDRESS>3.62 clang-13<IP_ADDRESS>)
Target: arm64-apple-macosx12.0

to reproduce:
❯ mint run auramagi/NewIcon text /Applications/Xcode-13.3.1.app 13.3.1
🌱 Finding latest version of NewIcon
🌱 Running new-icon 0.1.1...

workaround:
Dark mode ON
Rerun!

@novr
Thank you for opening this issue!
I fixed this in #2. If you can check that this works, I will merge and make another release.
mint run auramagi/NewIcon@feature/issue-1 text /Applications/Xcode-13.3.1.app 13.3.1

Released as v0.1.2, let me know if you have any other issues.


UnhandledPromiseRejectionWarning: Error: Page crashed!

I ran into this issue and was wondering if this problem is already known.
(node:25) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 178)
(node:25) UnhandledPromiseRejectionWarning: Error: Page crashed!
    at Page._onTargetCrashed (/app/node_modules/puppeteer/lib/Page.js:209:28)
    at CDPSession.Page.client.on (/app/node_modules/puppeteer/lib/Page.js:129:57)
    at CDPSession.emit (events.js:189:13)
    at CDPSession._onMessage (/app/node_modules/puppeteer/lib/Connection.js:166:18)
    at Connection._onMessage (/app/node_modules/puppeteer/lib/Connection.js:83:25)
    at WebSocketTransport._ws.addEventListener (/app/node_modules/puppeteer/lib/WebSocketTransport.js:25:32)
    at WebSocket.onMessage (/app/node_modules/ws/lib/event-target.js:125:16)
    at WebSocket.emit (events.js:189:13)
    at Receiver.receiverOnMessage (/app/node_modules/ws/lib/websocket.js:797:20)
    at Receiver.emit (events.js:189:13)

Once the error is thrown it won't 'recover' and throw the same error until I restart the docker container.
According to this issues it's related to too small shared memory files:
https://github.com/puppeteer/puppeteer/issues/1321\
https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md#tips
I haven't debugged the problem thoroughly but It should be solved with this simple flag.
const browser = await puppeteer.launch({
  args: ['--disable-dev-shm-usage']
});

If you think it's a good idea, I am happy to prepare a pull request.
Thanks!

@DiskoPete Thanks your error report.
I don't recommend adding the above options as default.
See the discussion below.
https://github.com/puppeteer/puppeteer/issues/1834
However, you can expect the same effect with the command below.
docker run --shm-size=1gb ...

Thanks for your feedback!
I will close this then


Reference develop branch in travis-badge in README

@vutran I can take this.

@jleajones Go ahead. 👍

Merged #29


Add MySQL support.

Which Issue(s) this Pull Request Resolves

Resolves #453
Release Note

NONE

Notes for Reviewers

Superseded by https://github.com/kubearchive/kubearchive/pull/469.


Add autocomplete plugin for minikube

Minikube can generate zsh completion code since version v0.24.0.
This PR allows to enable this easily with oh-my-zsh.

@robbyrussell Is there a reason this hasn't been merged yet?

This works fine on my machine; I had similar #s as @Frederick888 and I don't notice any noticeable delay so it may just be local issue:
minikube completion zsh  0.18s user 0.02s system 58% cpu 0.354 total

@AnthonyWC Hmmm... isn't ~0.400s still abnormally high? I'd expect a delay of ~0.01s... I don't do Go programming but apparently cobra takes quite a while to generate the auto-completion script compared with clap which is used by Rustup in my example.
But since it's platform-specific, perhaps the issue goes deeper than I thought into the language itself, which makes it hard to address... (in fact, minikube version takes much longer than rustup --version.) Maybe compile-time evaluation or some build script tricks could be a better way to go. This can even be done by updating this PR, via caching the script somewhere and re-generate only in case of minikube updates.

Is there a reason this hasn't been merged yet?
ping @mcornella

Thank you!


Update ES6 syntax and add appropriate semicolons in event-handlers.js

Sorry, no, please don't send PRs like these. We don't use semicolons, and the let/const/var change is not meaningful.

Got it,
Although I didn't mean to make the pull request until I had made these updates throughout the whole repo. I just forgot to fork first.

Definitely don't do that to any project without consulting with the repo-owners first. It's a passive aggressive comment on the chosen style of the project. It comes off as an insult. I choose not to use semi-colons, and I prefer not to use let/const unless there's a specific reason to do it.

Alright, thanks for the pointer.
Semicolons I can understand, but using let and const instead of var doesn't have any effect on whether the code works or not if done correctly, and has the benefit of being more up-to-date and progresses that standard for developers. I've always seen people push for updating ES6 syntax in my experience.
Also, why would I consult the repo-owners first before making the pull request? They could always just refuse and close it if they like.
You call it a "passive aggressive comment on the chosen style of the project" but I think that's just how you're taking it. Oftentimes, it's not the chosen style of the project, but rather that the developers are not keeping it up to date. I've done this to other repos, and the owners have always been fine, even pleased about it.
Nonetheless, I understand your declination, and I assure you I meant no offense.
Thank you for your understanding.


Binance DEX integration

Related: #14 (Generic DEX model)
Describe trades on the Binance DEX chain

Let's hold off on this a bit

Already implemented

@kolya182 This issue was for token trades / swaps, not for transfers


Unknown word

Having an issue since upgrading to the new version. This plugin is failing with the following message:
There was a problem adding namespaces to this CSS. Error: <css input>:5:5: Unknown word
 CSS:
  && {
    fake-element-placeholder
    fake-element-placeholder
    transition: ease-in-out 50ms;

    fake-element-placeholder
    &:hover {
      transition: ease-in-out 100ms;
    }
  }

It's failing with the repo here: https://github.com/zachhardesty7/semantic-styled-ui
I'm currently working on reducing the factors that could cause this and getting a minimal reproducible test case going but as of now, it should be reproducible with the above files!

UPDATE: found 2 bug conditions that will break the babel transformation, guaranteed. Mind you, these all compile and function properly with the regular babel plugin for styled-components. Hope these help with bug fixing! An error that states which file the CSS came from would be super helpful. Let me know if I can help with these, may try to write a pull request later.
Any sort of comment inline in the style definition where the next line starts with a nested template expression. Adding a ; after the comment works but produces stylelint errors. Ex:
const StyledComponent1 = styled.div`
  /* comment */
  ${'color: blue'};
`

Any nested template literals that don't have a trailing ;, regardless of if they always return a semicolon. Ex:
const StyledComponent2 = styled.div`
	${props => 'color: blue;'}
`

Thanks for the heads up  and the possible files to repro!

Is there any update on this? Seems like a pretty big deal considering the whole thing about styled components is the ability to use javascript inline

@supadupdip - Not yet. However, the only inline js that should be affected currently are cases like those demonstrated in https://github.com/QuickBase/babel-plugin-styled-components-css-namespace/issues/33#issuecomment-472494080
E.g., the following should work as expected:
const StyledComponent2 = styled.div`
	color: ${props => isSuccess  ?  'green' : 'red'};

The following fixtures are currently passing for this plugin which show using  inline js:  https://github.com/QuickBase/babel-plugin-styled-components-css-namespace/blob/master/src/tests/fixtures/complex_styled_component.js
The next block of time I have available to work on this plugin is 5/24 where I hope to close out many  of the open issues. However, PRs are always welcome.

The two reproducible cases @zachhardesty7 mentioned above should be fixed  in this PR: https://github.com/QuickBase/babel-plugin-styled-components-css-namespace/pull/39
Once  approved, I'll get a new release candidate out for  further testing in the wild.


Added an option to change severity levels from npm, cli, and syslog; added showMeta option; added support for cli-table3 to make tables

The orignal only had support for npm severity levels. This small change will allow the user to choose between all triple-beam defined log levels, accessed by winston.config[schema].levels where schema can be replaced by npm, cli or syslog.
Also added showMeta option. This is useful if you have multiple transports. For instance I have a File I want to have all the meta, but I don't want the whole meta object being logged to the console
I also added integration with cli-table3 to output tables as meta instead of stringified objects. Demo for tables can be found in demo3 png

Hey there :) you still want me to merge this?

Sure! If you like the changes haha. You can merge which ever parts you like. Sorry about all the pushes, not sure if you were getting notified for every push. I'm new to github and know all the best practices yet 😅


Remove unneeded quotation mark

Learn Build status updates of commit 952f17c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

powerbi-docs/fundamentals/service-basic-concepts.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


File upload: partial upload and job failure

File upload is zero byte size or partial, user tries to use it in a job, and job fails. We need better indication to prevent user from using partial or failed upload files in services.

[12/12/16, 10:52:40 AM] Rebecca Wattam: They ALWAYS have this specific problem that he’s talking about
[12/12/16, 10:52:51 AM] Bob Olson: the empty file thing?
[12/12/16, 10:53:00 AM] Rebecca Wattam: Yes…its a point of great confusion
[12/12/16, 10:53:08 AM] Rebecca Wattam: I have to answer several user questions about it
[12/12/16, 10:53:11 AM] Dustin Machi: yeah, it remains zero bytes until the autometa is complete, which seems to take longer under load.
[12/12/16, 10:53:25 AM] Rebecca Wattam: They think it has loaded, but it hasn’t, and they can’t figure out why the downstream job failed
[12/12/16, 10:53:39 AM] Bob Olson: I hate this part of the system. With the split between workspace and shock we get this going on; there was a fix I put in at some point to accelerate it but it’s still flaky
[12/12/16, 10:54:08 AM] Rebecca Wattam: There should at least be a warning so that they know it didn’t load successfully
[12/12/16, 10:54:18 AM] Dustin Machi: Also if the services could wait for files that are not fully uploaded, it would make the latter problem not matter.
[12/12/16, 10:54:48 AM] Dustin Machi: well that was over simplified, but it would eliminate a chunk of them anyway.
[12/12/16, 10:56:31 AM] Dustin Machi: The bottom upload tries to go to what it thinks is your most recent folder

Neal, can you look into this?
Basically, if user tried to upload files directly from the job submission interface, the submit buttom should not be enabled until the upload is complete.
Currently, the problem is that users don't notice that the upload is still in progress at the bottom right corner, and submits the job, which then failed because the file upload is not complete.
We need to prioritize this and address is by November Release.
-Maulik

Please also search for other similar tickets and make sure all relevant issues are addressed together.

ok, will do

this is similar to issue #1784 and i will look into it. it definitely will not be ready for Nov 2017 release.

@mshukla1 I got a fix, but I only tested it on assembly service. PR submitted. Need help on testing other services/cases when it's on alpha. thanks!

Thanks, Dawen. I can help with testing once it is on alpha.
-M

On Dec 6, 2017, at 10:27 AM, Dawen Xie<EMAIL_ADDRESS>wrote:
@mshukla1 https://github.com/mshukla1 I got a fix, but I only tested it on assembly service. PR submitted. Need help on testing other services/cases when it's on alpha. thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/PATRIC3/patric3_website/issues/1383#issuecomment-349693456, or mute the thread https://github.com/notifications/unsubscribe-auth/ABLd7yODQw5o-O9MVbRhAUAZSyL2wZKOks5s9sBpgaJpZM4LSF4o.

deployed on alpha (3.5.1b).

my 2nd try on this is on alpha (3.5.1h), it should address upload related issue in the same tab (but it does not address uploading issue from a different tab).

I consider this solved for now. The new solution is working fine on production.


Training of a simple model with KerasLayer hangs on macOSX with tf 2.3.0

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
custom code

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
macOS X 10.15.4 (19E287)

TensorFlow installed from (source or binary):
binary

TensorFlow version (use command below):
v2.3.0-rc2-23-gb36436b087 2.3.0

Python version:
Python 3.7.3

Describe the current behavior
Simple model training hangs on macOS X with tf 2.3.0, but works in Colab and on macOS X with tf 2.2.0
Describe the expected behavior
should wourk
Standalone code to reproduce the issue

import tensorflow as tf
import tensorflow_hub as hub
import tensorflow_text as tf_text

print(tf.__version__)
print(tf.keras.__version__)

EMBEDDING = "https://tfhub.dev/google/universal-sentence-encoder-multilingual/3"

embed = hub.KerasLayer(EMBEDDING, dtype=tf.string, trainable=True)

s1 = tf.keras.Input(shape=[], dtype=tf.string)
s2 = tf.keras.Input(shape=[], dtype=tf.string)

v1 = embed(s1)
v2 = embed(s2)

cd = tf.reduce_sum(tf.multiply(v1, v2), axis=-1)

train_model = tf.keras.Model(inputs=[s1, s2], outputs=[cd])
optimizer = tf.optimizers.SGD(learning_rate=0.001)

i1 = tf.constant(["x", "y", "z"])
i2 = tf.constant(["a", "b", "c"])
c0 = tf.constant([1.0, 1.0, 1.0])

train_model.compile(optimizer=optimizer, loss="mse", metrics=["mse"])
train_model.fit(x=[i1, i2], y=c0, batch_size=1, epochs=5, verbose=2)

@andreyryabov
I have tried in colab with TF version 2.3 and i am not seeing any issue. Please, find the gist here.Can you please share error log you are getting. Thanks!

I does work in colab, as I mentioned in the description.  It freezes only when launched macOS. I traced it's a deadlock on some conditional variable deep in C++ code. There are no errors in the log since the code just hangs on .fit()

@andreyryabov In the ticket I see v2.3.0-rc2-23-gb36436b087. What Is your version?

My version of TF:  2.3.0,   GIT: v2.3.0-rc2-23-gb36436b087
returned by command:
python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"

Can you reproduce this on your machine with tf-nightly?

The problem reproduces with tf-nightly.

What is your installed version of tensorflow-hub?

tensorflow-hub: 0.9.0

Can you just try to temp change your TFHUB cache dir on a new one with:
import os
os.environ["TFHUB_CACHE_DIR"] =<you_new_selected_cache_dir>


Please allow questions to be asked in the Microsoft Q&A

Hi,
Why any question for VScode should be asked on the Stackoverflow website? I am not comfortable with  Stackoverflow.
Please allow questions to be asked in the Microsoft Q&A (Microsoft Learn). Like Visual Studio and other Microsoft products.
Thank  you

... or here, in Discussions 😕

This is an issue tracker for bugs and feature requests in vscode. There are other places where questions and discussions can happen, including github discussions https://github.com/microsoft/vscode-discussions/discussions

including github discussions microsoft/vscode-discussions/discussions

Not accurate

and
https://github.com/microsoft/vscode-discussions/discussions/5#:~:text=When will more,consider take action.


⚠ Bofrost.de has degraded performance

In 32bdb0a, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1671 ms

Resolved: Bofrost.de performance has improved in 4112c12.


Update 15-Median.py

use one line to deal with two cases

@KinGiluob can you please format the code properly, so I can merge it?


Don't fail build if curling of casher fails.

Some config issues in Enterprise showed the issue of if we failed to pull down casher it'd fail the build. We'd prefer to failover to githubusercontent. Or just move on, simply not using caching.
/cc @BanzaiMan - do I understand this issue correct and this fix?

Testing this right now in an Enterprise build.

Looks good. Doesn't failover to githubusercontent but does continue the build at least. Still issues when curling a self signed cert setup, but that's to be expected.  At least it doesn't fail now!

@bnferguson

Doesn't failover to githubusercontent

I wonder why that is. It may not be critical, but it would be great to figure out why.


node-newrelic incompatible with Bluebird

Unfortunately, this patch does not remedy the issue fully. After diving deeper, it appears the /* routes are reported because node-newrelic is incompatible with Bluebird.
I've reached out to New Relic support about this, and will update when I hear back.

Any news on this?

NewRelic fixed the issue in node-newrelic v1.25.5.


OpenApi output from /replay resource is invalid

(or at least it does not look good to me or the swagger editor)
I am running with versions Quarkus 2.16.9 and quarkus-github-app 1.17.1 (I have not tried the 2+ version)
The q/openapi output contains:
  /replay/events:
    get:
      responses:
        "200":
          description: OK
          content:
            text/event-stream:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReplayEvent'
...
components:
  schemas:
...
     Swagger editor says:
Semantic error at components.schemas.JsonObject
Schemas with 'type: array', require a sibling 'items: ' field

Having upgraded to Quarkus 3.6.0 and quarkus-github-app:2.1.1 I now get the more appropriate:
    JsonObject:
      type: array
      items:
        type: object
        properties:
          key:
            type: string
          value: {}

Hey there.
Yeah looks like the issue was fixed in a later version of SmallRye OpenAPI. I recommend to switch to the newest version, it should be easy with quarkus update.
Closing this as I don't think we will be able to push the SmallRye OpenAPI fix to earlier versions, thanks for the report anyway.
Feedback very welcome so don't hesitate to post here (positive feedback also welcome as it's nice to know what works well so that we don't break it!).

I retired all the references to 1.x in the docs. (Deployment to follow)


Add R.adjustAll

I was looking into an alternative for evolve that worked with arrays, but the closest thing I found was adjust. However it only works in a single element. I propose we do something similar to evolve, or a variant of adjust that could take a transform object to apply to difference indexes.
Here is currently my workaround (it won't work as good as evolve, since it doesn't account for nesting):
const adjustAll = R.curry((transforms, arr) => {

    const newArrEls = Object.keys(transforms)
        .reduce((r, i) => {
            const fn = transforms[i];
            r[i] = fn(arr[i]);
            return r;
        }, {});

    return Object.assign(
      [],
      arr,
      newArrEls
    );
});

Here is a demo: https://goo.gl/ZbcpJj
What do you guys think?

It's an interesting function.  But it's not clear to me how great the need for it is.  Usually when that happens, we put it in the Cookbook until it becomes clear that a number of people need it.  Feel free to edit the Cookbook to include it.
Another way to approach this is to use lenses.  Here's one possibility for the example you linked:
compose(
  over(lensIndex(1), assoc('name', 'Julio')),
  over(lensIndex(2), assoc('id', '17')),
)(myArr)

Or you could create this from your example format via a version something like this:
const adjustAll = curry((transforms, arr) =>
   apply(compose)(map(([idx, fn]) => over(lensIndex(Number(idx)), fn), toPairs(transforms)))(arr)
)

adjustAll(transforms, myArr)

(I'm not suggesting that this is a better way to write your function, only that if you're invested in that transforms format, then this might move you toward lenses.)
You can see this in the REPL.

Thanks for the quick reply and the suggestions!
I wasn't aware we had a cookbook :smile: :+1:
We can close this issue, until other people finds this useful or not :nerd_face:

:+1: for cookbook

I just worked this up in response to a question in the Ramda Gitter:
const evolveArray =
  template =>
    addIndex( map )
            ( ( x, i ) => template[ i ]( x ) )
evolveArray( [ add( 1 ), add( 2 ), add( 3 ) ] )
           ( [ 1, 2, 3 ] )
//->[ 2, 4, 6 ]

I wasn't aware we had a cookbook

This is a common statement. I think we should have a link to the cookbook (or the wiki in general) somewhere on website or in the readme...


Feature/cassandra provider

What type of PR is this?
/kind feature

What this PR does / why we need it:
In order to interact with Cassandra
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Reivewers List:
@recallsong @liuhaoyang
Does this PR introduce a user-facing change?

Additional documentation usage docs, etc.:

Provide a example program, please !

done


Optimizer: add a new destroy-hoisting optimization

It hoists destroy_value instructions  without shrinking an object's lifetime.
This is done if it can be proved that another copy of a value (either in an SSA value or in memory) keeps the referenced object(s) alive until the original position of the destroy_value.
  %1 = copy_value %0
  ...
  last_use_of %0
  // other instructions
  destroy_value %0       // %1 is still alive here

->
  %1 = copy_value %0
  ...
  last_use_of %0
  destroy_value %0
  // other instructions

The benefit of this optimization is that it can enable copy-propagation by moving destroys above deinit barries and access scopes.
This is part of fixing benchmark regressions when enabling OSSA modules.
rdar://129803961

@swift-ci test

@swift-ci benchmark

@swift-ci test

@swift-ci benchmark


How to get text from Byte Array

Hi all,
I am making a class in Boo to automate some tasks. I did it in VB.Net earlier. This is my VB.Net code.
`Public Function EnumWindowProc(ByVal Hwnd As IntPtr, ByVal LParam As IntPtr) As Boolean
    If IsWindowVisible(Hwnd) Then
        Dim Length As Integer = GetWindowTextLength(Hwnd)
        Dim Ret(Length * 2) As Byte
        GetWindowText(Hwnd, Ret, Length + 1)
        Dim Text As String = ""
        For i As Integer = 0 To (Length - 1) * 2
            If Ret(i) <> 0 Then
                Text &= Chr(Ret(i))
            End If
        Next
        If Text <> "" Then    ' if window has a title
            Output.Add(Text)
        Else                    ' if window has no titles
            Output.Add((Hwnd))

        End If

    End If
    Return True

End Function`

And this is my try in Boo.
`private def EnumWindowProc(Hwnd as IntPtr, LParam as IntPtr) as bool:
	if IsWindowVisible(Hwnd):
		Length as int = GetWindowTextLength(Hwnd)
		Ret as (byte) = array(byte, ((Length * 2) + 1))
		GetWindowText(Hwnd, Ret, (Length + 1))
		Text as string = ""
		for i in range(0, (((Length - 1) * 2) + 1)):
			if Ret[i] != 0:
				Text += String.Chr(Ret[i])
		if not string.IsNullOrEmpty(Text):
			// if window has a title
			Output.Add(Text)
		else:
			// if window has no titles
			Output.Add(Hwnd)

	return true

`
I am having an error in "String.Char(Ret[i]) ". Please help.

edited

What error are you encountering?  Can you paste it in here?

Looking at this, it appears that you're starting with UTF-16 characters and trying to lower them to ANSI by discarding the 0s.  This will break and give you weird mojibake if you have non-ANSI characters in there anywhere.  So I'd start by reinterpreting the buffer as an array of 16-bit elements:
	var Ret = array(byte, (Length * 2) + 1)
	var chars = array(UInt16, Length + 1)
	GetWindowText(Hwnd, Ret, Length + 1)
	Buffer.BlockCopy(Ret, 0, chars, 0, Ret.Length)

If you want an equivalent of VB.NET's Chr() function for 16-bit characters, you'd use Microsoft.VisualBasic.Strings.ChrW.  Getting a 16-bit 0 here would mean the end of the string, so you could do it like this. First, make sure to import System.Linq.Enumerable at the top of your file.  Then:
	Text = string(chars.TakeWhile({c | c > 0}).Select(Microsoft.VisualBasic.Strings.ChrW).ToArray())

Having said all that, why are you using a GetWindowText that marshals the value back to you as a byte array rather than as a StringBuilder?

@masonwheeler ,
Thanks for the reply. To be frank, I was so frustated when i saw the result of my boo program. After posting here, today i started a new project. In this project, i compiled all this vb.net unmanaged code as a class library. Then i am trying to add it in my boo project.  Anyways, now i see your reply. Let me try your suggestions.
Frankly speaking, i don't know about how to deal with this with StringBuilder. I am hobby programmer. Anyways, i will check it for sure.,


Refresh token not working for google talk client

Moved from here

Hi J,
I have studied & played with your google talk client. The flow is smooth, quite good though. But I have noticed that you may have mistaken the use of RefreshToken when having an oauth2 authorization for your application use, or too confident with my auth handling in my code, haha ;)
According to Using OAuth2 to Access Google API, you should only use Access token to access an API while the refresh token is used for access token refreshment.
Let me take my code as an example, you may have found that for every web api to Google in the GoogleCloudPrintClient.cs, there is an "await UpdateTokenAsync(cancellationToken)" there before any implementation of the web call. If you track down to the definition, you will find the following:
if (_token.ExpireDateTime > DateTime.Now)
     return;

_token = await _oAuth2Provider.GenerateAccessTokenAsync(_token.RefreshToken, cancellationToken).ConfigureAwait(false);

In the code snippet, I have checked the expireDateTime of the token, and refresh the access token using the refresh token if the token has been expired (or near expiration). This ensures that the access token must be valid for my application use.
Let's get back to your google talk code, you may have probably known something after the above explanation. You have missed the token refresh part in your code, you may want to make a modification on the code, such that when the token is near the expiration, regenerate the access token & make a handshake again to google cloud for xmpp subscription.
Best,
Karl

Fixed


Re-organized Compose install docs into tabs

What's changed

reorganized Compose install topics into tabs

Related
Follow-up on:

PR #4130
Issue #4126

Reviewers
@shin- @dnephin
Signed-off-by: Victoria Bialas<EMAIL_ADDRESS>

@mstanleyjones this is fixed now, ready to publish after review

Look slick :+1:

LGTM, it might be cool to have a little bit more visual separation between the tab area and the rest of the article.

@mstanleyjones added subtle <hr> at end of tabbed topics, other ideas re: backgrounds didn't work as well

Merging, Netlify is failing on several PR's right now.


refactor(helper): update page usage [PART-5]

This PR updates the usage of the page attribute from the SearchParameters. Its value is now optional which implies that we have to fall back on a default value at the connector level. The default value is not always required though, it depends on the use case. I've tried to make as few changes as possible to stick with the current behavior.

The CI does not pass, it's expected. It won't pass until the last PR of the stack.

I'll change the PR to have the exact same behaviour as today, it's slightly different at the moment.


Checking correctness of Json for noise and split parameters.

As described above the Json schema can be implemented using this module Here.
The schema is just a fancy word to describe all the operations that have to be made on the Json to make sure it has the right structure and datatypes.

On this topic check what happens (allow it or not) when the user specifies "noise" : None .

should be done in stimulus-py


Redash Customisations

Redash visualisations has to be customised so that UX/UI patterns are aligned with MET.

Font changes to align with MET .

Hiding Filter choice for survey id/engagement Id so that user wont be presented with the filter .

CI/CD approach also has to be evaluated in this task since custom image has to be built on top of redash base image and also the custom code has to be stored in github.

Added the bc fonts on to the below files:
client/app/pages/dashboards/DashboardPage.less
client/app/pages/dashboards/PublicDashboardPage.less
Page header and Footer removed on the public dashboard by editing the below file:
client/app/pages/dashboards/PublicDashboardPage.jsx


Brew cask uninstall claims app is not installed

$ brew cask uninstall sourcetree
Error: sourcetree is not installed
$ brew cask list
little-snitch	sourcetree	sublime-text3
$ ls ~/Applications/
'Chrome Apps.localized'  SourceTree.app  'Sublime Text.app'

Any idea why this is occuring?
Output of brew cask doctor https://gist.github.com/fuzzyroddis/bc5ea5702c78a4d95a00084ff20b61eb

Uninstalled with brew cask uninstall --force sourcetree


Using --continue flag in test run configs causes build failures to not fail the build.

Test the test run configs without the usage of --continue (from command line and IDE).

ensure that dev environment via IDE and CLI run all tests even if one test fails.
ensure that CI environment allows for early build failure.

Note:  Changes will need to be made in all projects
Per talking with @nbilyk, ripping the --continue flag seems to allow tests to be able to run beyond the first failure, so it should be ripped from all Run All Tests-like run configs

Done in all projects


Feature request : Ability to control qadapt_conf and eco_conf

Hi @Noltari ,
First of all, thank you very much for your amazing work. I have an Airzone multi-zone system at home, and I am very pleased to be able to integrate it into my Home Assistant.
I’d like to request a new feature to control Eco-Adapt and Q-Adapt. These parameters are important because they allow for better energy efficiency and noise control, which are critical for optimizing the comfort of my home. Having these features in Home Assistant would make it much easier to manage them automatically through my smart home setup.
Unfortunately, Eco-Adapt is read-only through the local API, while Q-Adapt is currently unavailable. However, I’ve found that both features are supported in the Airzone Cloud API. Adding them to the Airzone Cloud integration would provide significant added value, and it would be a compelling reason for me to migrate from the local integration to the cloud-based one.
If this is something you’re considering implementing, I’d be happy to help with testing or provide further feedback.

Best regards,

Hi @Zanuuu,
I already reported to Airzone that Eco-Adapt is read-only through the Local API in the past and they told me that they would fix this in the future (but no ETA).
As for the Cloud API I will create new select entities as soon as I can for both Eco-Adapt and Q-Adapt, but I'm currently a bit busy so I'm not sure when I will be able to do it.

Hi @Noltari
In the meantime, I made 3 python scripts integrated with pyscript. One for eco-adpat, one for q-adapt and a third one to change the mode.
I'm pretty happy with the 3rd one which allows me to change the mode when the zones are off and without turning them on. Each script has its input select and its automation.
For the mode, I added a button per mode. It looks like that 🙂

No worries, we are all busy. Take your time to add the mode too 😅