Banned after sent a few messages

Hi guys, how do you going?
Last week I'd been trying to send message for new users using:
const chatId = new Store.UserConstructor(user.country_code+user.phone+'@c.us'); Store.Chat.find(chatId).then(chat => {     chat.sendMessage(welcome_message); });
I get the new users by web service, but, when I'm sending the messages for 20 persons I get banned :(
To test I'm using a new number for Whatsapp and my test base I'm using the team numbers to send the welcome message.
I added all numbers to whatsapp contact list but I'm still getting banned. I tryed to send:

every 30 seconds per user (I got banned after 18 messages)
In group of 5 persons every minute (I got banned after 20 messages)
All 40 numbers (I got banned and can't seen who's receive the message)

Have you tried to use official whatsapp url for new messages? ...whatsapp.com/send?phone=[phone_number]
The project has a method for this purpose, check the Python code.

Have you tried to use official whatsapp url for new messages? ...whatsapp.com/send?phone=[phone_number]
The project has a method for this purpose, check the Python code.

I'll try. Thanks.

That's the point, Whatsapp knows that it's uncommon for someone to send so many messages to people they've never talked to each other before so it considers as spam/marketing junk pretty fast.
Bot's are not wrong from Whatsapp's point of view you should only reply and never start a new conversation.

try:

random interval between new conversations creation (5-30s)
don’t send the same message
don’t send links or media in the first message communication before the user reply you
don’t create more than 20 new conversations in an interval of 1 hour

That’s worked for me.

What has worked so far for sending up to 120 new messages/hour ~and I hope Zuckerberg doesn't come here~:
Dos and Don'ts:

Have a real content, a survey that the person agreed with is different than a marketing message on a saturday night
Add every contact you will send a message to your contacts list
Send messages written in different ways, you could make a script that places spacebars randomly on your string AND include the person's (first) name
Never use fixed times, always go for sending the first message, wait a random time between 30 ~ 60 seconds and then send the second message
It's expected that you run Whatsapp Web on the same network of the primary app on your phone. If you have whatsapp (app) running on your real phone with you and whatsapp (web) on some cloud solution like AWS that is hosted far away from you, I'm sure you will be banned
Unless you know how to crack whatsapp's number validation system very well (there are some tutorials), prefer to use physical devices other than emulators
A good proxy is a must, make sure that both phone and bot are on the same IP and that this IP matches with your contacts country
Always try to group contacts by their area code, Whatsapp expects a regular person to talk mostly with contacts that are within the same area of your phone number
Have a profile picture, this is not related to Whatsapp Bots Catcher® but sending a new message for someone not having a picture/name/status will elevate your chances of being manually tagged as spam
Don't keep sending messages to people that have already blocked you, I suggest checking before sending the message if the contact is blocked
Even though you will be able to send messages to contacts that doesn't have whatsapp, you must never do that. Always check if your contacts have whatsapp before sending a message
There are some special numbers that I believe are under tests from whatsapp, if you send a message to<EMAIL_ADDRESS>a official whatsapp advertising account will get the message, it's like selling cocaine to the police
Don't let your code make requests that a regular Whatsapp Web wouldn't, for example reaching a number without @c.us, some errors are logged as well
Send "seen" confirmation to messages or disable it on Whatsapp
Don't instantly reply to messages, a nice wait time is a random value from 5 to 10 seconds
It's a good practice when sending messages to open the chat, mark as read, send a "typing..." status, wait a few seconds and then send the message
Have a new browser everytime you open Whatsapp Web, I mean, don't keep cache. It's a real pain to always have to enter the QR code but unless you have only one account and the bot isn't overloaded it's for the best
Avoid sending links that were previously marked as spam on Whatsapp or non-HTTPS. A URL shortener is a good idea
IMPORTANT: It's really bad if you send messages 24/7 without giving it some time to wait. Random belays between messages are not enough, send a resonable amount of messages keeping in mind your conversions rate, for exemple: for one hour send a maximum of 4 messages per contact that have replied to your message, stop sending messages for one hours, then start again. Again, don't send messages without stopping for a while between every "package"
Send only one short message when starting a conversation, one should not send long texts or multiple messages without the user conscenting
If you have to send multiple messages as a reply, send the first one, wait a few seconds and then go for the second message. You can still get banned if it's too fast even though you waited some seconds to reply. Always try to get everything inside one message
Don't send different messages to different people at the same time, make it one-way only.
Avoid prefixes for messages
Do not use yowsup-cli

Have in mind:

For everyone you send a message that doesn't have your number on their contact list will be asked it that's spam, being tagged as spam a few times (5 - 10) will definitely get you banned
Whatsapp records every movement you do, you can even check the logs when sending simple support email, it contains all kinds of information, this said: act as human as possible
There seems to be no penalty for things like checking if the number has whatsapp, download profile pictures, etc. You can run those without any delay smoothly because you just shouldn't send messages to new people
Apps that duplicates whatsapp are generally not a good idea because whatsapp knows it's running under a nonauthorized app and may also ban you
Try to engage in conversations, as long as you send a message and the person doesn't automatically blocks you it'll be quite okay. People constantly talking to you and adding you to their contact list will make your number stronger against a ban
Think about that like a points system, you start with zero points (negative if your IP or device were previously blacklisted), if you reach zero you are out, if you engage in conversations you get a point, if you are tagged as spam you lose some points, if you are blocked you may lose more points
Don't let your bot running alone for too long, from time to time open Whatsapp on the device, roll over some chats, close Whatsapp Web and open again, etc
In some countries virtual numbers will be from a specific range that whatsapp generally knows, on most of cases you won't be able to even register without a "Not a valid number for country XX" error
If whatsapp is not reachable on the device and Whatsapp Web doesn't notice, you will be able to execute some commands but it won't take long to get you banned, so avoid at all costs doing anything if the phone is not connected.
If you are running multiple whatsapp accounts under the same IP doing basically the same thing and you notice one of them got banned, stop and close everything of the other accounts, otherwise they will be all banned sequentially. As I'm writing this, I just got 7 out of 9 numbers banned together
If your content is clearly spam, it doesn't matter if you are using a broadcast list, group or direct contact, you will still be banned

Let's say you just got banned but you won't give up:

Delete whatsapp and everything related to it
Do a factory reset on the phone if possible
Get a new IP address
Install whatsapp again
Let the first message be special: don't register the number and start sending messages, first start a conversation with this new number from an old and trusted number, like your own phone.
There are people saying you should wait 12 ~ 36 hours after this first message to start sending more, on the other hand some people will say that if you just register a phone and don't send messages for a day, you will be banned as soon as you start sending messages. I personally send the first message, wait a few hours and then start sending messages

What happens if you send an email to Whatsapp asking the reason you were banned?
There's a remote chance of being unbanned, I have cases where the number was unbanned after 1 day and cases that it has been months and it's still banned. Their reply time is quick but the answer is final and immutable:
## - WhatsApp Support - ##
Hello,
Thanks for getting in touch with us!
Your WhatsApp account has been disabled because you have violated our Terms of Service when using an unauthorized app or an unsupported device.
Please remove the application and install an authorized version on a compatible device at: www.whatsapp.com/download
Please keep in mind that we do not allow support for unofficial or jailbroken / rooted clients (including emulators) and unsupported devices.
To use WhatsApp on your computer, visit our website from your computer's browser. Then open WhatsApp and scan the QR code using the WhatsApp application on your phone (look for WhatsApp Web in the WhatsApp settings on your device). WhatsApp can only be installed on your computer if you are using Windows operating systems 8.0 and higher or Mac OSX.9 and above.
You have the option to access WhatsApp through your browser here if you are using non-compatible operating systems.
Your account will be permanently disabled, and without the possibility of appeal if you continue to violate our Terms of Service.

Cheers,
Roshan
WhatsApp Support Team
Take a look at our FAQ.

Final Considerations and Conclusion:
After a few months trying different ways of sending messages I can only say all that's left to do right now is agreeing with Whatsapp's policy, not sending spam messages and always wait for the other person to contact you first, you could make it by sending an SMS to the person with a link to start a chat on Whatsapp with you.
 Everyone I contact has previously accepted it irl but whatsapp doesn't really care.
I will be more than happy to keep this up-to-date with any suggestions that you have to add here.
All of the above text is meant for a large scale production environment and may not work for tomorrow, who knows if Whatsapp will start to brutally ban anyone that doesn't pay for their official API. If you just ignore all of it and it still works, you probably have a low flow of messages and that's perfectly acceptable

Thank you guys.
I'll do a refactoring of this functionality, with the points you've shown me, not to be banned again.

Guys, I'll close this issue, after I test I'll put here the conclusion. Thanks again.

@lfdelphino thanks a lot for all the tips.
I couldn't find where we can send a "typing..." status before sending the message tho...could you please assist me with that?

Take a look at the following:
#275 - how to send typing.. expaction to chat_id
#487 - Get 'typing' status for any chat


Next release of lolex ETA?

I have seen that #181 merged to master that resolves how tests can error out if Performance is not found.
Until the next release is published, this commit isn't available through NPM, right?
I was just curious when a release with this commit is planned. We're still forcing the version to an older version so that our builds don't fail.
Thanks.

It's out as 2.7.0 :+1:

I was just curious when a release with this commit is planned. We're still forcing the version to an older version so that our builds don't fail.

Hey, this is my bad!
I didn't realise it was a show-stopper for users and I didn't want to do another release so quickly.
Apologies - I will do better and ask next time!


Add a .reload() to models

It would be handy to have a .reload() on the models to re-fetch them from the DB instead of having to manually get the id and then load by id. This would be especially useful when writing unittests if you want to check an API modified a model as expected.
For reference Arangodantic has such functionality.

Yep my tests do a lot of such refreshing too, so +1 for the need from here. No idea about the best design but maybe it's just such a reload method indeed.


Graphic component

Epic https://github.com/x-team/auto/issues/573

Create new component to render graphics.

Props
id: string,
className: object,

Behaviour
Graphics can be styled in many different ways in the page, this component is not meant to provide layout options for the graphic. It main purpose is to encapsulate defaults  and <svg> HTML tags and centralize it's behaviours.

It should accept ...props  and pass it to the html tag (the availables for  and <svg>)
if id is invalid, render null
(optional) create 404 render for onError event, accepted by  tag
this component stores all the images available in the UI set, for layout purposes, not content. the id will map to the correct render.

@bernardodiasc I'm not 100% sure about the value of this yet, rather than just using  or <svg> elements directly within other components... Even though this is listed as a dependency of other components, let's try building some of those larger components first without it, and see whether the need for it becomes clearer.

Alright, that sounds reasonable. This component might not be needed at all. The use case I had before was to render custom 404 images, something useful for large databases and scenarios where images url can break more often, like large news websites, definitely not this case.
There was another use case, that was on styles matter. Instead using global css for img selector, we used a Image component for all  uses in the app. The styles in that cases had element isolation  (reset css) and the max-width: 100%;. Again, no big deal, I think this one can be skipped. :)

Just for the record, this is what I have:
import React, { PropTypes } from 'react';
import classNames from 'classnames';
import { compose, withState, onlyUpdateForKeys } from 'recompose';
import notFoundImage from 'file-loader!./not-found.png';

/**
 * Image React component
 * @param  {string}     options.src           src attr for
 * @param  {string}     options.alt           alt attr for
 * @param  {string}     options.classNames    aditional className from parent component
 * @param  {bool}       options.error         default to false, will become true when  return onError
 * @param  {func}       options.handleError   function to change error state value
 * @param  {object}     options.theme         theme object with all css classNames
 * @param  {...object}  options.rest          any unpredicted prop
 * @return {component}                        react component
 */
const Image = ({ src, alt, className, error, handleError, theme, ...rest }) => (
   handleError(true)}
    {...rest}
  />
);

Image.propTypes = {
  src: PropTypes.string.isRequired,
  alt: PropTypes.string,
  className: PropTypes.string,
  error: PropTypes.bool,
  handleError: PropTypes.func,
  theme: PropTypes.shape({
    image: PropTypes.string,
  }).isRequired,
};

Image.defaultProps = {
  alt: '',
};

export default compose(
  withState('error', 'handleError', false),
  onlyUpdateForKeys(['error']),
)(Image);

The use case I had before was to render custom 404 images, something useful for large databases and scenarios where images url can break more often, like large news websites, definitely not this case.

This makes total sense if the images are coming from some outside source, or user uploads.  But in our case we can 100% assume that the images are available.
Let's close this one for now, and revisit if we have a case in future where we need to display images that are < 100% reliable.


Adding flake8 hook and checking all files

We could do ruff as well. I'm wondering how is the hook integration though. If people wouldn't need to download another binary separately.


time zone announce when discordConnector is set to false

the mod is sending a timezone selection announcement via discord connector even though the discord data option is set to false.

Isn't this just general console output?


Install Database for Liberty Throughput Benchmark on x86 Perf Machine

I want to add Liberty Throughput benchmark for perf testing as part of https://github.com/AdoptOpenJDK/openjdk-tests/issues/1127. This benchmark is the one of the most popular ones, and it would be essential to have that on Adopt. One of the pre-requisites of that benchmark is to have Db2 installed. The setup for Liberty throughput would look like this:
Machine 1: Liberty Server (DayTrader)
Machine 2: Database (Db2) + Client
We usually use the same configs across all DB2 setups to that it's easier to remember, maintain and use them for benchmarking, eliminating the need to have different config files for Db2 setups on different machines.
Username: db2inst1
Password: Usually same as username
Port: 50000
Home: /home/db2inst1
Free Db2 can be downloaded from here: https://www.ibm.com/us-en/marketplace/ibm-db2-direct-and-developer-editions
Please let me know if you need help with the installation.
Machine Requirement
This machine must be at least as powerful as the app server (i.e. machine running Liberty) it will support. Strong the database machine, the better, so that database doesn't become a bottleneck while benchmarking.
Since we currently have 2 perf machines (https://ci.adoptopenjdk.net/label/ci.role.perf/) and both seem to have similar configs, we can use any of them.

Does this require Db2 specifically or could a fully open-source database be used in place?

My preference will be an open-source DB.  If it is not possible at the present moment, we should make it possible.

Does this require Db2 specifically or could a fully open-source database be used in place?

@sxa555 Doesn't have to be Db2. We should be able to use some other database besides Db2 but requirements would be similar as mentioned above.

My preference will be an open-source DB. If it is not possible at the present moment, we should make it possible.

Sounds good! Let me find some alternative (i.e. MongoDB, PostGreSQL or other newer ones) that's open-source and do some internal testing to verify that it can be work with Open Liberty without any issues. I'll get back on this issue. Thanks!

@piyush286 Any update on  this one? Previous action was with you

Sorry, forgot to put an update here.
I've managed to use an alternate database (Apache Derby), and made it part of my build step of my test to download it and populate it for running the benchmark. Due to other pressing issues, I didn't get a chance to clean up my code and make a PR yet.
Hence, we wouldn't need to machine to be installed with it before hand, so closing this issue. Thanks!


Indexing lifecycles hooks

Is your feature request related to a problem? Please describe.
Some functionality would require code to be run before/after ES indexing.
Describe the solution you'd like
Indexing should supply hooks that can be used to execute. Proposed hooks:

post-index
pre-index (optional/debatable)

Possible solutions: Django signals. If we want to fire these from models, requires #1533
Describe alternatives you've considered
Just adding the code on index requests.
Additional context
Would be used in e.g. #1535

A problem with a post-index signal (or adding the code at the end of the index function) is that we often index (or re-index) on a separate server. I don't think there is an "easy" solution to trigger a signal on one server after updating the index from another?


MODCXEKB-69: Add support for search by subject in codex-ekb

Purpose
Per https://issues.folio.org/browse/MODCXEKB-69, add support for being able to search by subject in mod-codex-ekb.
Approach

Add support for receiving "subject=xxx" from mux and passing back results
Add unit tests accordingly

TODOS and Open Questions

[ ] Figure out if we need to change any handling in mux to be able to return response from here to UI. Noticed that Inventory already supports this kind of search.
[ ] Figure out if we need to do anything in the UI module to enable the search by subject for codex users

INFO: lint-raml-cop: Investigating mod-codex-ekb/ramls/raml-util/ramls/codex
INFO: lint-raml-cop: Looking for schema files: ./ramls/raml-util/schemas/codex
INFO: lint-raml-cop: Assessing schema files:
ERROR: lint-raml-cop: instance.json: Missing top-level "description".
ERROR: lint-raml-cop: instance.json: Missing "description" for: contributor, publisher, type, lastModified, format, version, name, type
ERROR: lint-raml-cop: instanceCollection.json: Missing "description" for: instances
INFO: lint-raml-cop: Assessing RAML files:
INFO: lint-raml-cop: Processing RAML v0.8 file: codex.raml
INFO: lint-raml-cop:   raml-cop did not detect any errors with codex.raml
ERROR: lint-raml-cop: There were processing errors. See list above.


Provide a structured log feed at both the host and function level

Customers expect that host-level errors will be persisted (red bubble errors). The portal has no good way to show these errors, since it would have to parse a log stream. Related portal issue: https://github.com/projectkudu/AzureFunctionsPortal/issues/608
This structure log should handle the following scenarios:

Host level logs that will be displayed at a Function App Level
Errors and warnings that are displayed in a tab next to Logs (see mock screenshot)

Portal resourcing is still unclear. Moving this issue into next-triaged.

Is any of this supposed to work? I'm seeing zero msgs in Errors and Warnings, but I get loggings saying
Exception while executing function: Functions.GetCards -> Script compilation failed.


Add pr telescope merge

Describe what this PR does / why we need it
This PR adds the ability to directly merge a PR from telescope using
Does this pull request fix one issue?
NONE
Describe how you did it
Describe how to verify it
Special notes for reviews

Thanks for the contribution!


Give us the option to have root pages as same name as folder

Describe the problem
The +page stuff kinda sucks. It's annoying and is giving people headaches.
Why not give us the option below along with legacy support for +page names.
This is a far better pattern.
Home/home.svelte
Messages/messages.svelte

Describe the proposed solution
This is a far better pattern.
Home/home.svelte
Messages/messages.svelte

Alternatives considered
No response
Importance
nice to have
Additional Information
No response

This proposal sucks way more, is way more annoying, and would give way more people headaches.

I knew I recognized this name from somewhere. https://github.com/sveltejs/kit/issues?q=is%3Aissue+author%3Aollyde Apparently all the other times you opened this same issue and it got closed wasn't enough of a hint.


Support Mocking Query/Scan operations on DynamoDBContext

Okay, I’ve had another bash at this:

added a public default constructor on AsyncSearch
all public members on AsyncSearch are now virtual

This allows mocking frameworks to generate mock AsyncSearch instances to test query & scan operations, without changing the context method signatures.

Any feedback as to what's wrong with this one?


Add regex support in Auto Color for track, marker, region name filters

Exact matching didn't really work for track names for me. So I added regex support to define a pattern, and keywords like "gtr", "bass", "synth" won't conflict with "lead", "rhythm", "double" etc and each combo would be able to have its own color.

Any chance of getting this thing to work? This could be a really powerful addition

Unfortunately, My c++ FU is not good enaugh to resolve the conflicts.
But I would really like to have this feature, as it's very handy if you have track names that have the description in the front and a labelling in the back, for example: "FX:  A", "FX:  B" etc. With Regex, one could assign track icons like FX:A, FX:B, ignoring the role name.
So ... please count this as an upvote for this request :)


autofocus brings desktop to foreground if discrete graphics active

Normally, focus_follows_mouse autofocus causes the mouse to focus application windows but ignores the desktop.
But, if the discrete graphics adapter is active, moving the mouse pointer over any uncovered area of the desktop causes Finder.app to come into focus. It also seems to cause other problems, like automatically clicking on items in the dock and on menu items when the mouse pointer is over them.
The problem seems to go away as soon as the system switches back to integrated graphics.
I am observing the discrete/integrated graphics with gSwitch, but you should be able to see the status with builtin tools by running system_profiler SPDisplaysDataType and noting which device "owns" the display. gSwitch will allow you to force discrete graphics, but a number of apps force it. The ones I've noticed are Geogebra Classic 5, FreeCAD, and most Java GUI apps.
The entire contents of my .yabairc is:
yabai -m config focus_follows_mouse autofocus

I'm running macOS 11.5.2 and yabai-v3.3.10 (installed from brew).

This also happens on my M2 Macbook Air on Sonoma 14.1.2 while attached to an external display, only when I move the mouse from internal display to a portion of the desktop on the external display, and never while I mouse over the desktop on the external display.


add more functions for room invitation

Refer to issue: https://github.com/Chatie/wechaty/issues/1823

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


Chaining methods from Big constructor

Hey there,
I've started using big.js to avoid floating point problems in an app that could get relatively big, and deals with numbers like sales value, discount et cetera.
I was wondering if its possible to chain methods straight away from the constructor, instead of having the name a variable first.
IE:
instead of
const x = 10
const X = Big(x)

const y = X.times(4)

but this
const x = 10
const y = Big(x).times(4)

Yes, of course.

Thank you.


Added secondary nav markup

@Scotchester

What's the purpose of having two levels of macro? I.e., why does _render_secondary_navigation need to call _secondary_navigation, instead of just incorporating the contents of _secondary_navigation into itself?

What's the purpose of having two levels of macro? I.e., why does _render_secondary_navigation need to call _secondary_navigation, instead of just incorporating the contents of _secondary_navigation into itself?

Mmm, it may have to do with the {% call() expandable(sec_nav_settings) %} that surrounds _secondary_navigation, either to make the call bit stand out or (less likely) call can't handle an import statement inside itself. I'll check in cfgov-refresh whether it can be removed.

:+1:

Tagged, released, published on npm.


Fix: Recover boolean test flag after visiting subexpressions

Summary

This PR corrects the logic for handling the boolean test flag during expression analysis.
Since the flag can be modified during subexpression traversal, it must be restored before analyzing the full expression.
Additionally, this change allows the in_bool_test() method in crates/ruff_python_semantic/src/model.rs to be used outside of boolean operations, such as in conditional tests within Stmt::If, Stmt::While, Stmt::Assert, and others.

Thanks. Would you mind adding a test demonstrating that restoring the flag is necessary?

@MichaReiser Could you direct me to where this test would fit?

We unfortunately don't have any semantic model tests. So the best you can do is to extend the tests of a rule that uses the flag. One such rule is RUF019 and the tests are defined here https://github.com/astral-sh/ruff/blob/e37bde458e9928f1997cba249471459d31136aee/crates/ruff_linter/src/rules/ruff/mod.rs#L46 (in RUF019.py)

Take for example this simple code:
if not f(a):
    pass

Currently, when visiting the expression f(a), it loses its BOOLEAN_TEST flag. This happens because it doesn’t match the conditions for BoolOp or Not, following the logic noted in the comment (lines 1032-1033):

// If we're in a boolean test (e.g., the test of a Stmt::If), but now within a
// subexpression (e.g., a in f(a)), then we're no longer in a boolean test.

But the f(a) it self should be in bool test so the flag should be recovered before analysis.

Example with Current vs. Proposed Behavior
To see the difference, here’s a comparison using various test cases:
if not a(b):
    pass

assert c(d)

x = e(f) or g(h)

while i == j:
    pass

Current BOOLEAN_TEST Flag Behavior (restoring the flag after analysis):
Expressions with BOOLEAN_TEST flag:

not a(b)

Proposed BOOLEAN_TEST Flag Behavior (restoring the flag before analysis):
Expressions with BOOLEAN_TEST flag:

not a(b)
a(b)
c(d)
i == j

Testing the Change
Testing this change with current rules is difficult, as they cover only Expr::BoolOp. However, implementing rule use-implicit-booleaness-not-len / C1802 would reveal the issue, as it checks for cases where BOOLEAN_TEST is essential to detect rule violations (in process).

However, implementing rule use-implicit-booleaness-not-len / C1802 would reveal the issue, as it checks for cases where BOOLEAN_TEST is essential to detect rule violations (in process).

Can you expand on why do you think it's an issue for this specific rule? I think that rule would need to be implemented at the ExprCall level for which the BOOLEAN_TEST flag should be test. It's only when the checker is visiting a sub-expression like an argument to the function call when the flag is being reset.

I intended to illustrate with the rule example that the BOOLEAN_TEST flag is not limited to BoolOp and Not expressions, even though it isn’t used elsewhere in the project.
I agree with your interpretation of how the BOOLEAN_TEST flag should function, but the current implementation doesn’t reflect this expected behavior.

Store the initial flags.
Remove the BOOLEAN_TEST flag for any expressions that are not BoolOp or Not.
Visit subexpressions.
Analyze the expression.
Restore the original flags.

BOOLEAN_TEST flag should be restored between steps 3 and 4.

Thanks and nice find!


Notifications backend

From morpho-app created by neema-orual: Radiant-Industries/morpho-app#16
null

Mostly built out as of https://github.com/Radiant-Industries/nimbus-bluesky-client/commit/39ccd1c88a321944ed2902876311732b5f4ffcb6
Still need to handle some filtering and thread muting.


[Bug]: Portainer (Docker) Health Check Failing

Describe the bug
Portainer (Docker) Health Check Failing
PeaNUT runs fine just health check failing
Debug Output
ATTACHED PICTURE

Docker Network

Steps to reproduce

Run PeaNUT in docker under a network

Device Type
Asustor 6706T
UPS Device
CP1500PFCLCD
Last Working Version
Works, Health Check Fails

Would you mind sharing your docker command or docker compose yml? That may make debugging easier.

Would you mind sharing your docker command or docker compose yml? That may make debugging easier.

Sure! here you go!
version: "3"
services:
PeaNUT:
image: brandawg93/peanut:latest
container_name: PeaNUT
restart: unless-stopped
ports:
- 8080:8080
environment:
- NUT_HOST=<IP_ADDRESS>
- NUT_PORT=3493
- WEB_PORT=8080
networks:
default:
name: lan
external: true

Did some additional testing seems like docker health checks were added in 2.2.0.
2.1.0 does not have this issue and all is good for me, if that helps you any.

If you docker exec into the peanut container, are you able to send a request to http://localhost:8080/api/ping? That's essentially what the health check is doing.

http://localhost:8080/api/ping

what type of request? docker exec peanut ping  http://localhost:8080/api/ping          ?

From inside the container

http://localhost:8080/api/ping

However, my local IP does work.

Interesting. I straight up copied the health check from Homepage. I'm curious if that works for you. It's also an awesome project. 😀

Interesting. I straight up copied the health check from Homepage. I'm curious if that works for you. It's also an awesome project. 😀

I use homepage! and the healthcheck does indeed work

What if you customized the health check in your docker compose yml?
healthcheck:
   test: wget --no-verbose --tries=1 --spider http://localhost:8080/api/ping || exit 1
   interval: 1m
   timeout: 3s
   retries: 3
   start_period: 20s

You could try changing localhost to the ip you used before.

There's parse errors it doesn't seem to like the health checks. My question is why does homepages work?

healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:8080/api/ping || exit 1
interval: 1m
timeout: 3s
retries: 3
start_period: 20s

Fixed the parse errors seems to work, main question now is why does homepages work out of the box? Everything is the same with a homepage setup except the LAN IP.

I just checked and mine has the same 172 type ip.
My theory is that the healthcheck is checking too quickly and failing. I created a test version of the app that you can install via brandawg93/peanut:test. I added extra verbosity to the healthcheck so you can see what is happening. Let me know if that helps!

Tried the test version same thing, nothing additional in the server log either.

I just thought of something. Do you have wget installed OUTSIDE the container? In your host environment?

I'm actually unsure, and not sure I can check until I get home from work today. PeaNUT is running on my NAS (https://www.asustor.com/en/product?p_id=78).

Actually, thinking about it, it shouldn't matter if you got the health check working in your compose file. Just thinking out loud 😅. I'll try backing the interval back to 1 minute like your compose. Then it will be exactly the same as what you have working.
Thanks again for helping with this! I'll have a test ready soon but no rush.

I'm actually unsure, and not sure I can check until I get home from work today. PeaNUT is running on my NAS (https://www.asustor.com/en/product?p_id=78).

Looks like it is installed
admin@NAS:/volume1/home/admin $ wget
wget: missing URL
Usage: wget [OPTION]... [URL]...
Try `wget --help' for more options.
admin@NAS:/volume1/home/admin $

Ok. I'm pretty sure I fixed it!
Context:
Homepage uses the older NextJS pages implementation while peanut uses the newer app router implementation. For some reason, the newer one binds to the external docker ip instead of localhost like you noticed. I simply changed localhost to host.docker.interal and it works perfectly for me now!
Let me know if it works for you and I will push an official fix.

Unfortunately, the fix doesn't work for me.
On Mon, Jan 8, 2024, 12:41 PM Brandon McFarlin @.***>
wrote:

Ok. I'm pretty sure I fixed it!
Context:
Homepage uses the older NextJS pages implementation while peanut uses the
newer app router implementation. For some reason, the newer one binds to
the external docker ip instead of localhost like you noticed. I simply
changed localhost to host.docker.interal and it works perfectly for me
now!
Let me know if it works for you and I will push an official fix.
—
Reply to this email directly, view it on GitHub
https://github.com/Brandawg93/PeaNUT/issues/17#issuecomment-1881630120,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALNQACWJKE7ZE2D4VEBB3ADYNQ4WTAVCNFSM6AAAAABBQT7FCKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBRGYZTAMJSGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Ok. This one has to be it. 😅
NextJS has a HOSTNAME environment variable that has the weird local address.
Let me know if it works now.

Ok. This one has to be it. 😅
NextJS has a HOSTNAME environment variable that has the weird local address.
Let me know if it works now.

Works!

Thanks for your help resolving and great project! There isnt any other project super simple just plug and play UPS monitoring.

Awesome! Thanks again for troubleshooting. v2.2.1 will be live soon!


webkit_server throws an error if 32-bit plugin is available

I was setting up some tests for my Google Analytics integration, and started getting the following error. I know that GA tries to determine which plugins are available and that's why the plugin is now being poked at whereas before it wasn't; but I thought I'd let you know. I don't need the plugin to work, but the error is annoying.
The plugin mentioned is a Mach-O dynamically linked shared library (i386) as that's all osx provides.
2015-08-02 18:50:03.723 webkit_server[37439:1716598] Error loading /Library/Internet Plug-Ins/QuickTime Plugin.plugin/Contents/MacOS/QuickTime Plugin:  dlopen(/Library/Internet Plug-Ins/QuickTime Plugin.plugin/Contents/MacOS/QuickTime Plugin, 265): no suitable image found.  Did find:
    /Library/Internet Plug-Ins/QuickTime Plugin.plugin/Contents/MacOS/QuickTime Plugin: mach-o, but wrong architecture

It also seems to make communication with webkit_server unreliable.

In trying to quantify just how much less reliable the connection becomes I noticed that the connection isn't actually very reliable at all to begin with.
10 runs with GA:  1 failure, 21 errors
10 runs w/o GA: 10 failures (GA test failing), 11 errors
Running test suite manually once usually passes with no errors. I'm not sure how long capybara-webkit needs between runs to make this evaluation fair.

Closing due to age, if this is still an issue with current versions and a way to replicate is provided we can reopen


The word format is misspelled multiple times in the az bicep format examples section

The word Format is misspelled multiple times in the az bicep format examples section. Currently says Foramt instead of Format. See screenshot and Diff below:

Diff
- Foramt a Bicep file.
+ Format a Bicep file.

- Foramt a Bicep file and print all output to stdout.
+ Format a Bicep file and print all output to stdout.

- Foramt a Bicep file and save the result to the specified directory.
+ Format a Bicep file and save the result to the specified directory.

- Foramt a Bicep file and save the result to the specified file.
+ Format a Bicep file and save the result to the specified file.

- Foramt a Bicep file set indentation kind. Valid values are ( Space | Tab ).
+ Format a Bicep file set indentation kind. Valid values are ( Space | Tab ).

- Foramt a Bicep file set number of spaces to indent with (Only valid with --indent-kind set to Space).
+ Format a Bicep file set number of spaces to indent with (Only valid with --indent-kind set to Space).

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

ID: 9ed4cbd3-8434-dd97-a842-5ececa8010cb
Version Independent ID: 60edc003-8f74-62af-e9fd-79efb5a77d9f
Content: az bicep
Content Source: latest/docs-ref-autogen/bicep.yml
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

route to CXP team

@gorlandor Thanks for reaching out to us and reporting this issue. We are looking into this issue and we will provide an update.

@gorlandor The above PR has been created to address this. It is currently under Review.


Gradle: Extract simple task names from subproject tasks

Currently, only tasks with complete subproject specifier are added to
.gradletasknamecache. Gradle commands can be called for all (sub-)projects
they are defined for, using their name as defined in the subproject, here
called "simple" task names. One example is "gradle clean".
This patch adds support for parsing out those "simple" task names from the list
of fully specified task names. The .gradletasknamecache file will contain
both the fully specified names, and the "simple" names for your autocompletion
pleasure.

@mcornella @froth Seeing as you guys were very helpful on my last pull request to this file, I thought it might be a good idea to ping you this time as well! Please accept my apologies if I am bothering you.
Thanks!

Hi @bes,
sure thing :)
Tested your branch with my own projects as well as the gradle multiproject sample:
https://github.com/gradle/gradle/tree/master/subprojects/docs/src/samples/java/multiproject
Works like a charm 👍
Thanks for your work, I really appreciate it!
Greetings from Stuttgart,
Fred


Repository in project.json is wrong

https://github.com/aspnet/JsonPatch/blob/dev/src/Microsoft.AspNetCore.JsonPatch/project.json#L13

Fixed in https://github.com/aspnet/JsonPatch/commit/78d3428eb7494f7f8e53fc15b5ca8e84a892ed55.


Write new Testcases

We should write testcases for the following topics:

[ ] Xrefs on Methods, Classes and Fields
[ ] Decompiling Arrays (all types: byte, int, float, double, long, String, Objects, ...)
[ ] Decompiling try/catch blocks
[ ] Decompiling switch/case blocks (attention: there are two types!)
[ ] Decompiling types (see #254 )
[ ] Ensure different dex formats can be read
[ ] Test instructions
[ ] Automated testing of large scale APK collections
[ ] ...

add #371


add logitnormal distribution

The entropy is approximated to the one from the normal, will fix in a separated PR
The mean and var are estimated by sampling. There are other numerical method that could be a better idea. Also deferred to another PR.

[x] Code style is correct (follows pylint and black guidelines)
[x] Includes new or updated tests to cover the new feature
[x] New features are properly documented (with an example if appropriate)

Codecov Report

Merging #206 (2086247) into main (a209e3a) will decrease coverage by 0.06%.
The diff coverage is 90.00%.

@@            Coverage Diff             @@
##             main     #206      +/-   ##
==========================================
- Coverage   83.42%   83.37%   -0.06%
==========================================
  Files          26       26
  Lines        2872     2941      +69
==========================================
+ Hits         2396     2452      +56
- Misses        476      489      +13

Impacted Files
Coverage Δ

preliz/distributions/__init__.py
100.00% <ø> (ø)

preliz/tests/test_maxent.py
100.00% <ø> (ø)

preliz/tests/test_mle.py
100.00% <ø> (ø)

preliz/tests/test_quartile.py
100.00% <ø> (ø)

preliz/distributions/continuous.py
92.90% <89.70%> (-0.20%)
:arrow_down:

preliz/internal/distribution_helper.py
95.65% <100.00%> (+0.09%)
:arrow_up:

preliz/tests/test_distributions.py
100.00% <100.00%> (ø)

preliz/distributions/discrete.py
92.28% <0.00%> (-1.86%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Always says it's installing to ~/.cargo/bin even when it's not

If $CARGO_HOME is not ~/.cargo, cargo quickinstall still says it's installing to ~/.cargo/bin, which is quite confusing.  If it could be updated to correctly show where it was installed, that would be great.
For example,
> mkdir bin
> CARGO_HOME=. cargo quickinstall ripgrep
Installed ripgrep 13.0.0 to ~/.cargo/bin:
-rwxr-xr-x runner/docker 28338504 2021-06-12 09:38 rg
> ll bin
.rwxr-xr-x  28M kkysen 12 Jun  2021 rg*

Week spotted. Thanks for the bug report.
I'm at festival until Monday, so I might not get around to fixing this until next weekend. If you can see an easy way to fix it, I'm happy to merge PRs from my phone.


Building ginkgo as a static library

In order to build ginkgo as a static library, the version files had to be modified because the operators <, >, ... were defined in the header, and therefore defined in all build static libraries, which leads to linker error.
The linking to OpenMP was also changed to both fit the modern CMake and work properly with a installed version of ginkgo.
For CUDA, it is a bit more complicated. For some reason, the varialbe CMAKE_CUDA_DEVICE_LINK_EXECUTABLE needs to be set (see the currently open issue from CMake). This can be bypassed by using enable_language(CUDA) where ginkgo is used (also needs to be done at the top level of ginkgo, which is done in this PR). However, this also has to be done whenever ginkgo itself is used, which is why it is also added as a comment of the install_test CMake file.
Unfortunately, I haven't found any way around the enable_language(CUDA).
The suggested fix on the CMake issue only prevents the CMake error, however, building fails in that case because it does not find the symbols related to CUDA for some reason.
I also added some instructions on how to build ginkgo statically in the README.md.
When #217 is merged, the enable_language(CUDA) in the install_test can be done inside an if that tests if ginkgo was build statically.

LGTM!

@pratikvn Since I referenced it as an example in the Readme, I wanted to point out that the enable_language(CUDA) is necessary for the cmake and build process to work if it was build statically (if dynamically, it is not necessary). Do you think I should remove the comment completely?

No, I guess it is okay.


Demeteorized app - error on "npm install"

I am on Mac OSX Yosemite, node V 4.0.0
The project has a dependency on fibers 1.0.5 and errors out during installation.
Any help or insight would be greatly appreciated.
node) child_process: options.customFds option is deprecated. Use options.stdio instead.
CXX(target) Release/obj.target/fibers/src/fibers.o
../src/fibers.cc:132:44: error: too many arguments to function call, expected at
most 2, have 4
return Signature::New(isolate, receiver, argc, argv);
~~~~~~~~~~~~~~                    ^~~~~~~~~~
/Users/.../.node-gyp/4.0.0/include/node/v8.h:4675:3: note: 'New' declared
here
static Local New(
^
../src/fibers.cc:140:3: error: no member named 'SetResourceConstraints' in
namespace 'v8'; did you mean simply 'SetResourceConstraints'?
v8::SetResourceConstraints(isolate, constraints);
^~~~~~~~~~~~~~~~~~~~~~~~~~
SetResourceConstraints
../src/fibers.cc:139:7: note: 'SetResourceConstraints' declared here
void SetResourceConstraints(Isolate* isolate, ResourceConstraint...
^
2 errors generated.
make: *** [Release/obj.target/fibers/src/fibers.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 14.5.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release"
gyp ERR! cwd /Users/.../Meteor/boldvueDeploy/bundle/programs/server/node_modules/fibers
gyp ERR! node -v v4.0.0
gyp ERR! node-gyp -v v3.0.1
gyp ERR! not ok
Build failed
npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v4.0.0
npm ERR! npm  v2.14.2
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>install: node ./build.js
npm ERR! Exit status 1

Meteor is supported only on Node 0.10.36 (regardless of the old README). Make sure to use that version.  There should be a compiled Fibers binary for Mac OS X 0.10.36 (I use it all the time).  Remember also that you must "npm install" ON the architecture you want to run on.  Doing an NPM INSTALL on Mac OS X and shipping everything to a Linux machine (or Windows) to run will NOT work.

Ahh thanks for the info, I appreciate it.  As far the architecture I want to run on, I am attempting to run it using "Azure Web App service" do you by chance know what architecture would apply in this situation?

No -- never used Azure (anything).  However, I would be hard pressed to guess that it is not running under a Windows scheme. :) .  This is a pretty difficult combination to choose -- development on Mac OS X and deployment on a Windows PaaS.  Unless you can run an "npm install" on the remove PaaS before launching -- you will (I think) need to configure a Windows machine (including VS Express 2012) to demeteorize / npm install.  Once that works (and it may take a few times to get everything right) , you can bundle the whole thing up with however you do that to Azure and it "should" run.  That's my best guess.  Make sure you can control the node version on Azure to 0.10.36 too, or can you bundle node with the package (?).  Again, not sure about Azure Web App at all .
Good look!

Oh okay, i'll work on setting up a vm where I can go through the demeteorize process and git it a go.  Thank you for your advice and insight.  It is greatly appreciated :)


optimizing orbit.sample

Hello, @Juanlu001
Did I understand correctly how you proposed it to be? Perhaps the current version seems quite ugly, though uses dense_output.
The problem is that cowell function can be called from propagate and from sample methods, that's why we need at some places first wrap into [] and then unwrap [0].

Did I understand correctly how you proposed it to be? Perhaps the current version seems quite ugly, though uses dense_output.

You did it exactly the way I thought of it, and it's uglier than I thought :)
To justify the ugliness, can you do a simple %timeit with both versions to see how faster is the dense output one? If it's a really noticeable performance increase, let's get this merged and I will propose an alternative object design.

With your permission @nikita-astronaut, I'm pasting here your screenshot :) This change makes cowell sampling an order of magnitude faster. Until we have proper benchmarks (#376), this is more than enough to merge, even if the code is not extremely beautiful.

Merging!


Peek Reference doesn't focus on selected reference

VSCode Version: 1.40.1
OS Version: Windows 10 Pro x64 Version 1903 Build 18362.418

In my C workspace I'm working in a 2 column layout. If I select a reference in Peek References and double click on it or press Enter while it's active, if the selected reference is in a file that's open in the other column, the caret in the other column moves on it but the editor doesn't focus on that column but remains on the symbol that I invoked Peek References on.
It works correctly on single column layout OR if the file is not open OR the file is open in the same column.
Does this issue occur when all extensions are disabled?: Yes

This is fixed in insider, go get it: https://code.visualstudio.com/insiders/


operator: use high priority for admin operators

What problem does this PR solve?
Currently, the priority of the operator whose kind is opAdmin is normal. But the high priority is much suitable for this kind of operators.
What is changed and how it works?
This PR changes the priority of this kind of operators to high.
Check List
Tests

Unit test

Related changes

Need to cherry-pick to the release branch (Maybe)

Codecov Report

Merging #1687 into master will decrease coverage by 0.19%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master    #1687     +/-   ##
=========================================
- Coverage   76.75%   76.55%   -0.2%
=========================================
  Files         157      157
  Lines       15457    15460      +3
=========================================
- Hits        11864    11836     -28
- Misses       2586     2603     +17
- Partials     1007     1021     +14

Impacted Files
Coverage Δ

server/schedule/operator/operator.go
86.06% <100%> (+0.08%)
:arrow_up:

server/kv/etcd_kv.go
70.12% <0%> (-11.69%)
:arrow_down:

pkg/etcdutil/etcdutil.go
72.46% <0%> (-10.15%)
:arrow_down:

server/tso/tso.go
74.52% <0%> (-4.72%)
:arrow_down:

server/core/storage.go
76.08% <0%> (-1.45%)
:arrow_down:

server/region_syncer/client.go
79.74% <0%> (-1.27%)
:arrow_down:

server/server.go
82.31% <0%> (-0.96%)
:arrow_down:

server/config/option.go
91.85% <0%> (-0.75%)
:arrow_down:

server/handler.go
49.6% <0%> (-0.54%)
:arrow_down:

server/cluster.go
82.41% <0%> (-0.26%)
:arrow_down:

... and 2 more

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 00ca522...a3beaec. Read the comment docs.


Bug: 2024.1.7 auth flow doesn't work when MFA is enabled

Disabling MFA allows authentication to function

Yep, the update broke the add-on for me. Worked before while having MFA active.

Yup. Same here. Disabling MFA is not an option.

What is MFA? My fusion now shows my setup only everything is unavailable

What is MFA? My fusion now shows my setup only everything is unavailable

Multi-factor authentication. The 6 "pin" digit that generates every 30 seconds (if enabled)

What is MFA? My fusion now shows my setup only everything is unavailable

Multi-factor authentication. The 6 digit "pin" that regenerates every 30 seconds (if enabled)

That is off for me.

What is MFA? My fusion now shows my setup only everything is unavailable

Multi-factor authentication. The 6 digit "pin" that regenerates every 30 seconds (if enabled)

That is off for me.

Yeah I think generally this login prompt doesn't work very well. I created a test user without MFA and this user isn't able to login either with no error message whatsoever

Indeed. I try to login and have only a spinning wheel.

I don't even have a spinning wheel lol

I'm seeing this error:
Failed to load http://homeassistant.local:8123/api/hassio_ingress/L1f6sqmPu40HmdeletedGwAKVwAr8/api/auth resource: the server responded with a status of 500 (Internal Server Error)

Better to create a dedicated user for Fusion with only local and non-admin access, instead of disabling MFA on your main account.

Works fine for me on local network but when trying to access remotely I just get the spinning wheel after entering credentials.

Had the same issue, i changed  under option the url from "homeassistant.local:8123" to "http://homeassistant.local:8123" and then i was able to log in. Maybe it will help someboday

nothing work for me :( maybe because I'm on Unraid ?


fix(39245): Weird related diagnostic for missing rest parameter arguments

Fixes #39245

Part of me is unsure about this because in some places these paramerters aren't explicitly declared (like in the original sample).
But let's try it out!
@typescript-bot pack this

@DanielRosenwasser Ok, will wait for your feedback.

@typescript-bot pack this

@DanielRosenwasser I've merged master, you can try to pack it

@typescript-bot pack this

@DanielRosenwasser I'm not sure why @typescript-bot failed to pack these changes :confused:.

@DanielRosenwasser this looks fine to me. Do you still want to play with it interactively before I merge it?

I'm going to update from master and then merge this.


174 updated gender code 1 to F

closes #696
Potential to add a check for "1" as well as "F". I'm assuming the DFE changed gender codes?

@WillLP-code Yes DFE have created a new codeset that clarifies what they're collecting (previously sex/gender terms were used interchangeably within and between returns).  Note that this comes in from the 2024/2025 return (not 2023/2024) so you need to move your file forward a year in the folder structure!


Notes on MC/diffusive CNmod code

A place for Inland Team to foster an understanding of how the CNmod code for mainstem channels works and suggest ways to improve

This chunk of code initializes depth in the downstream-most node of each reach with normal depth, then calls mesh_diffusive_backward to instantiate depth at remaining nodes.
https://github.com/kumdonoaa/t-route/blob/dbed6dbc17f3822bd92e13dbcb5900e193cb2305/src/fortran_routing/diffusive_v02frwk/diffusive_cnmod_mainstem/diffusive_cnmod_mainstem_f2py.f90#L347-L375
There is an interesting handling of depth arrays, oldY and newY. First, we populate oldY for reach bottom nodes only. Elsewhere, this array is just empty memory fillers. Then, we set newY values for reach bottom nodes equal to the values in oldY. The call to mesh_diffusive_backward fully populates newY with diffusive depths at all domain nodes. Finally, oldY is set equal to newY, because the oldY contains our initial depth estimates and is therefore the "old"  relative to the first "new" timestep.

https://github.com/kumdonoaa/t-route/blob/dbed6dbc17f3822bd92e13dbcb5900e193cb2305/src/fortran_routing/diffusive_v02frwk/diffusive_cnmod_mainstem/diffusive_cnmod_mainstem_f2py.f90#L376-L385
What is the purpose of this?

What is the point of writing MC-results out via the q_ev_g array? cant we just write out results for the "mainstem" nodes only?
https://github.com/kumdonoaa/t-route/blob/dbed6dbc17f3822bd92e13dbcb5900e193cb2305/src/fortran_routing/diffusive_v02frwk/diffusive_cnmod_mainstem/diffusive_cnmod_mainstem_f2py.f90#L419-L435

https://github.com/kumdonoaa/t-route/blob/dbed6dbc17f3822bd92e13dbcb5900e193cb2305/src/fortran_routing/diffusive_v02frwk/diffusive_cnmod_mainstem/diffusive_cnmod_mainstem_f2py.f90#L376-L385
What is the purpose of this?

This is the initialization of water depth for nodes except the last node (ncomp) so that water depth for the rest nodes is at least equal or higher than that of the last node.  The main purpose is to start simulation with  lots of water (so depth) for numerical stability (not reaching to zero depth in early phase)

What is the point of writing MC-results out via the q_ev_g array? cant we just write out results for the "mainstem" nodes only?
https://github.com/kumdonoaa/t-route/blob/dbed6dbc17f3822bd92e13dbcb5900e193cb2305/src/fortran_routing/diffusive_v02frwk/diffusive_cnmod_mainstem/diffusive_cnmod_mainstem_f2py.f90#L419-L435

You can definitely do that. I just want to make sure that q_ev_g and elv_ev_g contains information for tributaries as well (actual computation won't be impacted without putting MC to them)   When handling out_q and out_elv, they contain all info both from MC and Diffusive. But if we plan to handle output seperately,  we can simply ignore it.

This chunk of code initializes depth in the downstream-most node of each reach with normal depth, then calls mesh_diffusive_backward to instantiate depth at remaining nodes.
https://github.com/kumdonoaa/t-route/blob/dbed6dbc17f3822bd92e13dbcb5900e193cb2305/src/fortran_routing/diffusive_v02frwk/diffusive_cnmod_mainstem/diffusive_cnmod_mainstem_f2py.f90#L347-L375
There is an interesting handling of depth arrays, oldY and newY. First, we populate oldY for reach bottom nodes only. Elsewhere, this array is just empty memory fillers. Then, we set newY values for reach bottom nodes equal to the values in oldY. The call to mesh_diffusive_backward fully populates newY with diffusive depths at all domain nodes. Finally, oldY is set equal to newY, because the oldY contains our initial depth estimates and is therefore the "old" relative to the first "new" timestep.

I think I need to take a look more carefully why I designed such way.  I will circle back to it soon.


Noob question re: pulling 2017 data

after installing python and nflgame via pip without problems, I do this from a command prompt:
python
import nflgame
nflgame.combine_max_stats(nflgame.games(2017)).csv("c:\users\xxxxx\desktop\2017.csv")
with the above, and other variations, the csv is not saved to my desktop (file shows up in c:\users\xxxx directory) and only contains stats for one game rather than season to date.
what am I doing wrong that is resulting in only one week of game data to be in the csv file?
thank you.

closing issue....I had to go to nflgame directory because I didnt have environment variable setup correctly and run python update_sched.py --year 2017 from that directory.

What can we do to alleviate the scheduling / data issues?
Looking at the issue history it should be very evident that something should be done to automatically keep the schedule up to date.  Juuuust about once a week i see someone posting that they "Dont have any games" or something like that...
Has anybody proposed a viable solution to keep data up-to-date?


Feature/add css

This PR adds a CSS style sheet and an updated HTML file for the pre-work Study Guide application

m


Installing ruby fails in the openssl step when having set MAKE env variable to make -j 16

Steps to reproduce: Install ruby 3.0.2 on MacOS 10.15.7 (19H1217)
Observed result:
Configuring OpenSSL version 1.1.1k (0x101010bfL) for darwin64-x86_64-cc
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile

**********************************************************************
***                                                                ***
***   OpenSSL has been successfully configured                     ***
***                                                                ***
***   If you encounter a problem while building, please open an    ***
***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***
***   and include the output from the following command:           ***
***                                                                ***
***       perl configdata.pm --dump                                ***
***                                                                ***
***   (If you are new to OpenSSL, you might want to consult the    ***
***   'Troubleshooting' section in the INSTALL file first)         ***
***                                                                ***
**********************************************************************
/Users/myusername/.asdf/plugins/ruby/ruby-build/bin/ruby-build: line 595: make -j16: command not found

Exptected result: it works

I think I found the reason -- somehow my MAKE env variable was set to export MAKE="make -j$(nproc)". Could one adjust L959 so it also works in case flags have been configured?

$MAKE is the standard env var to tell which *make program to use, not to pass flags.
There is nothing we can do if that's set incorrectly.
For gmake (and maybe others) use export MAKEFLAGS=-j8 instead.


Automated cherry pick of #5173: fix: sync cloud provider should change its cloud account's sync_status

Cherry pick of #5173 on release/2.12.
#5173: fix: sync cloud provider should change its cloud account's sync_status

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.12@fc81a23). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.12   #5174   +/-   ##
==============================================
  Coverage                ?   6.84%
==============================================
  Files                   ?     504
  Lines                   ?   85829
  Branches                ?       0
==============================================
  Hits                    ?    5871
  Misses                  ?   79465
  Partials                ?     493

Flag
Coverage Δ

#aFlag
6.84% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/cloudproviders.go
1.01% <0%> (ø)

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 fc81a23...6630b2b. Read the comment docs.

/lgtm
/approve

/lgtm
/approve


Bug in CodeOwners file

Please check https://screenshot.googleplex.com/8KPy4ZYbdw4Eyer.png
While browsing https://github.com/googleapis/python-secret-manager/blob/main/.github/CODEOWNERS  found error This CODEOWNERS file contains errors
Unknown owner on line 12: make sure the team @googleapis/python-samples-reviewers exists and has write access to the repository
/samples/   @googleapis/python-samples-reviewers

Fixed. Thanks @msampathkumar !


Not working

I think the Google Finance API is changed, so the version is not working. Any plans to update?

Yes, same here. Nothing new from google, they always strive to make it horrible for developers, thats their motto. Thats they change API, deprecate it, or change the format. I get this error even when running the example code:
....lib/python2.7/site-packages/googlefinance/client.py", line 15, in get_price_data     basetime = int(cols[0][1:]) ValueError: invalid literal for int() with base 10: 'erial vehicles (UAV)'

Check the other thread for the fix: https://github.com/pdevty/googlefinance-client-python/issues/3

@thomashaselwanter  Thank you.


Fix evaluation of metrics

Fixes #173
Fixes #85

Move cluster metrics to other metrics
Fix: Truth and predicted were flipped for DM metric
Rename parameter: labels -> predicted
Fix: Total should be based on truth, not predicted
Track cluster metrics: Handle case of empty arrays
Normalize LHC metric to n_clusters; change output keys
Add comments and tests
Type output keys/types of dict
Fix unit test for nan case
Simple performance improvements
Completely new way of getting DM
Document return values
Evaluate metrics with multiple pt thresholds

Codecov Report

Merging #175 (cb972ac) into main (425c89e) will increase coverage by 1.12%.
The diff coverage is 97.39%.

@@            Coverage Diff             @@
##             main     #175      +/-   ##
==========================================
+ Coverage   67.82%   68.94%   +1.12%
==========================================
  Files          34       37       +3
  Lines        1762     1826      +64
==========================================
+ Hits         1195     1259      +64
  Misses        567      567

Impacted Files
Coverage Δ

src/gnn_tracking/postprocessing/clusterscanner.py
80.51% <84.61%> (+0.51%)
:arrow_up:

src/gnn_tracking/metrics/cluster_metrics.py
98.18% <98.18%> (ø)

src/gnn_tracking/metrics/test_cluster_metrics.py
100.00% <100.00%> (ø)

src/gnn_tracking/postprocessing/dbscanscanner.py
89.65% <100.00%> (ø)

src/gnn_tracking/training/tcn_trainer.py
89.70% <100.00%> (+0.13%)
:arrow_up:

src/gnn_tracking/utils/math.py
100.00% <100.00%> (ø)

src/gnn_tracking/utils/nomenclature.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Use ID or Where to instead directly use Get when load object from database (#11925)

Backport #11925
Use ID or Where to instead directly use Get when load object from database

make lg-tm work


Evaluation Context Merging 3.2.2 is missing before hooks

Requirement 3.2.2 should included the before hook.
API (global) -> client -> invocation -> before hooks
An explanation of why the before hook has the highest priority should be included in the non-normative section.

I mentioned this in a previous PR and I'm not sure about it...
I'm not sure I agree. This doesn't really have much to do with hooks - it's really about setting context at various levels. Personally, I would rather get rid of this requirement entirely then basically have the exact same information in 2 places.

Maybe we could just have a link in the non-normative section of 3.2.1 to 4.3.4?


Proposal : Enhancing the UI of contact section.

Enhanced the UI of the contact section by improving the color combination to create a visually appealing and user-friendly design. The updated color scheme ensures better readability and aligns with the overall aesthetic of the website.

Please assign this issue to me.I would make the form visually appealing and user interactive. @aslams2020

please assign me with this task @aslams2020


Linear search using python in few lines

Linear search using python in few lines, less than the previous commit
#73

Linear search using python in few lines . #73
I did it in just few lines. Better from previous commit.

Please add your own code, do not edit others. :)

I added my own code with a pull request
On Wed 3 Oct, 2018, 12:07 AM Ayan Banerjee<EMAIL_ADDRESS>wrote:

Please add your own code, do not edit others. :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ayan-b/Linear-Search/pull/80#issuecomment-426384739,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AkBZW1oxQUyt_-vxYLP7l_yDY5BP8wNdks5ug7J0gaJpZM4XEmyK
.

Sorry, but I am unable to understand. Please post the link of your PR which was merged.
Also please read CONTRIBUTING.md if you haven't already.


Bump to Hadoop 3.0.0

This PR has been open for a while now. Is anyone reviewing PR's for this project?

Sorry about the late response.


fix ItemSeparatorComponent position in horizontal and inverted mode

Motivation
There's a positioning bug in VirtualizedList when ItemSeparatorComponent is defined for a list in horizontal or inverted mode. And also we face this bug in FlatList, because it is using VirtualizedList to render lists.
This commit will fix the #15777.
Before fix:
<FlatList
  ...
  horizontal={true}
  inverted={true}
  ...
/>

<FlatList
  ...
  horizontal={true}
  inverted={false}
  ...
/>

Test Plan
I ran this code with all possible values of horizontal and inverted props in FlatList and VirtualizedList and the results of each run was as below:
After fix bug:
<FlatList
  ...
  horizontal={true}
  inverted={false}
  ...
/>

<FlatList
  ...
  horizontal={true}
  inverted={true}
  ...
/>

Thanks for the pull request! This is a great first PR.

@hramos Thank you very much.

@hramos Thank you very much.

I'm still facing this Issue
<FlatList
               horizontal={true}
               inverted={false}
               data={characters}
               ItemSeparatorComponent={ () => <View style={ { width: 10} } /> }
               renderItem={({item}) => this._renderItem(item)} />

@chiranjeevisaride It's not released yet.

When are you planning to release?

@VahidBo When are you planning to release?

@hramos when is it expected to have a release with this fix?

You can find which release any commit has shipped to by looking at the list of tags. In this case, this commit is already part of the 0.50 Release Candidate.


GH-37728: [Java] Add methods to get an Iterable for a ValueVector

Rationale for this change
Simplify validating the values in a ValueVector in unit tests.
What changes are included in this PR?
Methods for creating an Iterable and Iterator for a ValueVector. Also updated some unit tests to use the new methods.
Are these changes tested?
Some unit tests were updated.
Are there any user-facing changes?
The new methods are publicly available in the ValueVectorUtility class.

GitHub Issue: #37728

@lidavidm should we upgrade to Junit5?

We can do that separately

@lidavidm I have added unit tests for each vector that implements ValueIterableVector.

Thanks. I think the last thing is just, can we add a test suite that exercises these new methods for each vector?


spelling mistakes - uppercase german "Sie"

Description
simply a few spelling corrections

Questions
Answers

BC breaks?
no

Tests pass?
yes

Related tickets?
-

How to test?
-

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/SW-17965.
Please use this issue to track the state of your pull request.

Thank you for your contribution. Looks good to me. We´ll take this one for one of the next releases.


Make sure the _enginePromise variable is cleared when not needed.

ee https://forum.babylonjs.com/t/engine-at-dumptools-is-not-being-disposed-properly/54259?u=raananw

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/15723/merge
Test environment:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15723/merge/index.html
To test a playground add it to the URL, for example:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15723/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/15723/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/15723/merge
https://gui.babylonjs.com/?snapshot=refs/pull/15723/merge
https://nme.babylonjs.com/?snapshot=refs/pull/15723/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/15723/merge#BCU1XR#0

WebGL2 visualization test reporter:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15723/merge/testResults/webgl2playwright/index.html

Visualization tests for WebGPU (Experimental)
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15723/merge/testResults/webgpuplaywright/index.html


jsonpatcher: sort events by ts in the reducer

Partially address #332
Here is the example I had an issue with. It was solved by this PR.
https://gist.github.com/requilence/a9d1c4ceab32e1f09b1ce2f3e895e242
It's too dumb to add it as a test, cause it can be false-positive. But maybe I can modify it somehow. Let me know.

Re-running the folder sync test... I don't think this change should cause that to fail.

Hey @requilence, the code checkout in CI on this PR is failing with,
git checkout --progress --force fad35c4f7bc371e5a75405939e5f15b8779c85cb
##[error]fatal: reference is not a tree: fad35c4f7bc371e5a75405939e5f15b8779c85cb
##[error]Git checkout failed with exit code: 128
##[error]Exit code 1 returned from process: file name '/home/runner/runners/2.169.1/bin/Runner.PluginHost', arguments 'action "GitHub.Runner.Plugins.Repository.v1_0.CheckoutTask, Runner.Plugins"'.

I copied the change and can see that all tests pass fine. Do you want to resubmit in a different PR, or maybe just for push from latest master + the change to here?

@sanderpick done

Hrm, still seeing this reference is not a tree: f823a06e20fc80a3d471befb2723406ee651b279 error... pretty odd.

@sanderpick it seems like circleCI tries to checkout from textileio repo instead of anytypeio fork

Looks like it only happens in the re-run: https://github.com/actions/checkout/issues/23#issuecomment-525307647
Eh, I'll just merge this.. I've tested it locally. Thanks!


Training on Mid-Air Dataset

Thanks for your work! Now I want to train the lite-mono-8m model on the Mid-Air Dataset, and in this dataset there are depth maps expressed in meters and stored as 16-bit float matrices in lossless 1-channel PNGs. The depth maps are shown as follows:

So that's what I do to create a MidAirDataset class:

Then I changed the min_depth to 1 and max_depth to 1250, for it is the depth range of Mid-Air dataset. And in the function compute_depth_loss, I changed the related parameters to fit my dataset. But when I checked the tensorboard I found that all the metrics went bad, then I found that the depth that I predicted is 1.00000 for all pictures. Could you please help me to analyze what is the problem? Appreciated for your reply!

Hi, I want to know some more information.

Is the intrinsics matrix correctly computed? Here is a reference.
Can you try using a smaller depth range? Since the disp_to_depth function convert a sigmoid output to a depth value, the range [0, 1250] is too large maybe.

I found that the depth that I predicted is 1.00000 for all pictures.

Do you mean that all the pixels are predicted to be 1? Could you show some predicted depth images? In your get_depth function, if you use np.log for the ground-truth, it probably also needs the same operation on the prediction?

If you change the depth range, you also need to change them in options.py

Yes, I already computed the intrinsics matrix. Ss the technical specifications of Mid-Air dataset points out that for an image of height h and width w, the matrix is given by fx=cx=w/2 and fy=cy=h/2,  I think I have the correct intrinsics matrix.
In the function process_batch I have the outpus['disp', scale] of one picture saved as txt files. And I find that it seems to be weird.

The values of outputs['disp', 0] are all around 0.50000. Do you think it is related to the range [0, 1250]?
As it is shown above, the values of outputs['disp', 0] are around 0.50000, so I think that leads to the bad depth prediction as follows:

In my get_depth function I followed the example script of Mid-Air dataset to decode the ground-truth depth maps. But I think that although I use np.log for the ground-truth, it shouldn't have any influence on the outputs['disp', scale]? I think I only need to do the same operation when I want to get the real-world depth from the outputs[('depth', 0, scale)] in the picture above.
I have already changed the depth range in options.py.
There is one more thing that makes me confused: in the pictures shown in tensorboard, I find that though I got bad metrics, the reconstructed frame looks the same as target frame.

As shown above, the first frame is the target frame and the second frame is the reconstructed frame.  So I don't understand if I get a wrong predicted depth, how can I get the reconstructed frame that seems correct?

Thank you for spending your time to help me!

Hi, according to the definition of the sigmoid function. If you get all the output close to 0.5 it means that your input to sigmoid is almost all 0.  Can you first check this first?

Not yet haha. But I guess it is because this dataset is very different from the self-driving datasets, and it contains a lot of grass and leaves. And they are all green that may let the module predict the same depth values for a whole area. That may lead to a huge difference between the prediction and the ground-truth.

I think the problem is not from the dataset itself. I have also tried my network on real indoor drone images and high-altitude drone images and both worked.

I am now closing this thread due to lack of response. You can reopen it or create a new issue if you have further questions.


Check SQL Queries

Use clockwork to view how many SQL queries are on each page, make sure they are optimized.

Might want to check $appLinks query. Select statement should be added to not pull content with every single web page.


💡 [Feature]: Support debug option

🎯 Aim of the feature
Based on the problem we had in issue #278 it is not the first time that running local instance of CLI for M365, and related commands in debug, gave some answers on what could be the problem. This is some problem as the user needs to install CLI for M365 locally to make the double check which in general is not needed for this Toolkit to work.
The idea is to:

Add a VS Code setting to the extension, maybe a checkbox like 'run CLI commands in debug'

Setting this would add the --debug option to each CLI for M365 command and will show their output in the VS Code extension output logs. We should add the debug option when any CLI command is executed in this methods https://github.com/pnp/vscode-viva/blob/b66d97f889c913a416518ec0b4e426c373cfb2f9/src/services/CliCommandExecuter.ts#L25

I would like to work on this problem

I would like to work on this problem

All yours.
Please keep in mind this issue participates in Hacktoberfest event so if you want this PR to count towards this event please be sure to open the PR during October (not sooner and not later 👍)

I noticed that when I set the debug flag to true and then switch it back to false, the command responses still behave as if they are in debug mode. Do you know of any way to reset or clear the command responses when switching the flag back to false? From what I’ve researched so far, it seems like there isn’t anything that directly addresses this. Could you help me with this?
Another thing I noticed is that when entering debug mode, many outputs are directed to stderr. Most of these outputs are not actual errors, but since they fill stderr, there are validations in the code that treat any output in stderr as an error, preventing the flow from continuing. This happens, for example, during the deploy stage.

Could you guide me on how to proceed? I would like to help with this task.

I noticed that when I set the debug flag to true and then switch it back to false, the command responses still behave as if they are in debug mode. Do you know of any way to reset or clear the command responses when switching the flag back to false? From what I’ve researched so far, it seems like there isn’t anything that directly addresses this. Could you help me with this?

The way it works is that the debug is a flag. So it does not matter if we pass true or false as long as we add --debug then CLI will use this option to present debug info.
Just check it out when I run come CLI for M365 command in terminal passing --debug false. As you see I still get the debug info.

So in order not to get debug info we may not pass --debug at all to the command. Same kind of case we already have in this extension where we dynamically create the list of options that will be passed to the command
https://github.com/pnp/vscode-viva/blob/c76154ea024bb116a9fcde51a858376c87887c81/src/services/actions/CliActions.ts#L203-L211

Another thing I noticed is that when entering debug mode, many outputs are directed to stderr. Most of these outputs are not actual errors, but since they fill stderr, there are validations in the code that treat any output in stderr as an error, preventing the flow from continuing. This happens, for example, during the deploy stage.

This I did not figure out when prototyping this issue. Sorry for that.
CLI for Microsoft 365 have many configs https://pnp.github.io/cli-microsoft365/user-guide/configuring-cli
And one of it is errorOutput which allows to define if errors should be written to stdout or stderr. We could use that and set the config to sprint all errors to stdout instead. But this is kinda tricky as this setting may also modify the config of CLI for M365 someone might have already installed on the local machine outside of SPFx Toolkit.
So to sum up it is an option we may use but not the most (as of now) secure way. I will need to think about that 🤔.
Another way is we may just avoid error handling in SPFx Toolkit when debug setting is set 🤔, we are trying to debug SPFx Toolkit to get more error info right? This setting is suppose to show errors to try to get more info about a problem that might occur in SPFx Toolkit. This does make sense right

The issue is that after enabling the debug flag and then removing it, the responses in debug mode seem to persist. I followed the approach you suggested in the code. I believe we could go ahead with your suggestion to disable error validation during debugging. However, the problem seems to be that there's some form of caching happening. After entering and exiting debug mode, even when the flag is no longer passed, the debug responses still appear.

@DevPio do you have this on some branch on your fork? Could I have a check at the code?

Yes, I have this on a branch of my fork. You can check the code here: issue-282 branch.

@DevPio I had a check on that but TBH I have no idea why it behaves like this 😅. I did some experimenting but didn't find any work around it and I am checking why CLI actually always returns debug info as soon as we pass debug only once. I will try to do a bit deeper dive on this one next week


Bug: Improper error message at forgot password place

What happened?
User must get a proper error
message like
" USER NOT REGISTERED" while
submitting an invalid email id at
forgot password page but they get a very bad error message.

How can we reproduce this bug?
It happens when user enters an email address that is not registered.
Additional context (if any)
Please assign this task to me.
Urgency (Optional)
High priority

@Devika-Sahu This is a valid issue.
But, I can see you have created 3 issues and all of them are valid issues. Also, at a time you can work on only one issue, so which one do you want to work on right now?

@varunKT001 I would like to work on this issue right now.

/assign

@Devika-Sahu
First of all

/assign

you cannot self-assign 😅
Now, coming to the issue. Not only for the forgot-password, but you also have to solve this error for all the other parts too that handle auth.
So what you have to do is to create a centralized firebase error handler that handles all types of firebase auth errors. you can create the error handler file in the src/utils directory.
I'm assigning you this issue 🚀

@Devika-Sahu Any updates?

@varunKT001 I have completed it approximately. Just have to make a few changes. I will upload the new code by day after tomorrow.


_middleware.ts is not loaded for deeply nested param routes

What version of HonoX are you using?
0.1.25
What steps can reproduce the bug?

Add _middleware.ts with console.log() to app/routes/organizations/[organizationId]/products/[productId]
Add index.tsx to app/routes/organizations/[organizationId]/products/[productId]
Navigate to /organizations/:organizationId/products/:productId and see that the log is not shown

What is the expected behavior?
Deeply nested param routes load the _middleware.ts file.
What do you see instead?
_middleware.ts file is not loaded for deeply nested param routes.
Additional information
This bug is related to https://github.com/honojs/honox/issues/184
Using replaceAll instead of replace fixes the issue.
https://github.com/honojs/honox/blob/main/src/server/server.ts#L138

Hi @jakelee8
Thank you for the issue. I've fixed and released the new version v0.1.26. Try it!


CB-9124 AuthZ is not checked for DistroX recipes/templates/imagecatalogs

See detailed description in the commit message.

http://ci-cloudbreak.eng.hortonworks.com/job/cloudbreak-real-ums-test/1316/


using s3 as caching store

I signed it!

+1

I rewrote this commit to use the new -cache parameter which greatly simplified the amount of code needed. Merged as ec96fcbc90b346244548b967d2e536a0098e2868.  Thanks for the patch!


fix: updated copyright to 2020

That's not how copyright notice works though. The notice shows the beginning of the Copyright claim and since DevWars is older than 2020, yeah. 😁
I'd rather do something like DevWars © 2018-2020 if we'd want it to show the currentYear. Maybe let currentYear be added programmatically with new Date().getFullYear() so that you don't have to update it periodically?

@Freakspot Something you are up for doing as per @stephfh  recommendation?


Customize AWS and Minikube Terraform Install with the same input parameters as CLI and outputs

The current CLI allows users to configure the AWS installation by passing in their own:

VPC ID
Instance Types of the Node Cluster

On successful creation, the CLI outputs the following URLs:

Host URL
API
NGROK

This functionality needs to be replicated in the Terraform installation modules and install.sh script.

For Minikube, these variables are: profile, driver, cpus, memory, nodeport.


[Feature request] dropping chunk throttle

Current implementation doesn't consider prometheus_local_storage_persistence_urgency_score.
https://github.com/prometheus/prometheus/blob/v1.5.0/storage/local/storage.go#L1210-L1250
I think it should consider prometheus_local_storage_persistence_urgency_score to prevent, dropping chunk activity cause too many disk iops, and finally cause rush mode.

That's a good point. While maintenance of in-memory series needs to be fast in rushed mode to persist more chunks, obviously all archived chunks are persisted already.

With a server in effectively permanent rushed mode (which is going to be most large servers), if this is slowed down then you're going to run out of disk space.
These iops do not contend with the persistence iops, as at most one of these functions can be running at a given time.

Right. I thought for a while the maintenance of archived series would be sped up as well with increased persist urgency. But I did the right thing from the beginning, see https://github.com/prometheus/prometheus/blob/v1.5.0/storage/local/storage.go#L1238
So yeah, I think leaving it in the normal even throttling is the right thing to do. In rushed mode, the maintenance frequency of archived series will be much lower than the one for memory series, so that's the right trade off.

@beorn7
Actually, we have a problem to drop too old chunks from our production Prometheus server.
We use Prometheus more than 1 year.
We set the retention period to 1 year (I know it is extraordinary use case) 1 year ago, and now the disk usage becomes too high, we need to reduce disk usage.
To reduce disk usage, we want to drop old chunks by setting retention period to 6 months.
But, it is too difficult to dropping chunks.
Prometheus need to read so much chunks and sometimes need to write so much chunks (partial drop cause copy chunks from file A to file B).
In our test, setting retention period to 11 months, it cause too much I/O, prometheus_local_storage_persistence_urgency_score becomes worse.
To accomplish our goal, I consider to optimize dropping chunk code.

don't read chunk itself if the last time of time series is older than drop retention like following (not tested yet...)
https://github.com/mtanda/prometheus/commit/ef5fa35e2f7cd11971430c9b56f20173dc62920b#diff-4e4190468707536b578e5df823345c0eR883

search drop-able position by binary search
https://github.com/prometheus/prometheus/blob/v1.5.0/storage/local/persistence.go#L884-L920
This part, to search drop-able position, do linear search.
I think if all chunk is ordered by time, we can use binary search.

I'm not familiar with Prometheus code, so I might misunderstand something.
Please give me feedback.

In general, the Prometheus server is not optimized for sudden decreases of the retention time (and I'm reluctant to do so if that increases the code complexity significantly or if it makes the regular use case (i.e. a constant or slightly changing retention time) worse).
About your suggestions:

seems straight forward enough, but it will only make a dent for the sudden dramatic decrease of retention time you have performed in your use case. Since you already did the coding, how about creating a PR? I might be convinced to accept it, but it would also give others the chance to chime in. (Please document the rationale in doc comments.)

The assumption is that in most cases, the cut off will happen very close to the beginning of the file, so a binary search will probably make things worse in the average case. Also, it will "seek backwards", while the current approach creates a forward read pattern (which might only matter on HDD). This would definitely need benchmarking. But a first step would be to establish if it is a bottleneck at all.

Of course, I don't want to add complexity or bad effect to Prometheus, too.

seems straight forward enough, but it will only make a dent for the sudden dramatic decrease of retention time you have performed in your use case. Since you already did the coding, how about creating a PR? I might be convinced to accept it, but it would also give others the chance to chime in. (Please document the rationale in doc comments.)

I'll try to make a PR for this.
And I think it may be worth if the environment is highly dynamic, the Prometheus store many short (the lifetime is 1 day or less) time series.
In such environment, reduce retention period only 1 day cause much I/O.

The assumption is that in most cases, the cut off will happen very close to the beginning of the file, so a binary search will probably make things worse in the average case. Also, it will "seek backwards", while the current approach creates a forward read pattern (which might only matter on HDD). This would definitely need benchmarking. But a first step would be to establish if it is a bottleneck at all.

I'm sorry, I miss the point. And I understand backwards read (and random read?) is not good for HDD.
The binary search is a bad approach for most of the cases.
I reconsider how I can drop too old chunks effectively.
Adding time range options to "deleting series" API might be good.
https://prometheus.io/docs/querying/api/#deleting-series
In "deleting series" API, we can take more specific optimization method.
I'll make another feature request for this feature.

I found the same issue what I met.
I'm not only one doing such strange thing :-)
https://github.com/prometheus/prometheus/issues/1740

#1740 has been commented on already. Obviously, truncating series files at the right place requires IO. If you reduce the retention time, the work has to be done. If your server was heavily loaded already, it might need to throttle ingestion to do so.


[FEATURE REQUEST] Enterprise Risk and Security Management Elements

This is a request to add risk and security architecture elements to the Archi tool. Archimate doesn't support any security architecture and I saw that chaps from Bizzdesign created their own version of ERSM shown in the below link.
https://support.bizzdesign.com/display/knowledge/Elements+for+ERSM+modeling
This feature request is to ask to add those elements (perhaps as a plugin as the Bizzdesign elements are not in the standard) to Archi Tool.
Please let me know your thoughts on this request.

These elements are specializations of existing ArchiMate elements. You can create specializations in Archi.


Rename uReplicator-Worker-3.0 to uReplicator-Worker

Rename module uReplicator-Worker-3.0 to uReplicator-Worker
Delete some duplicated dependencies declaration in pom.xml
Fixed some logging messages.
Rename a variable
Bump the version

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

LGTM, don't forget to update https://github.com/uber/uReplicator/wiki/uReplicator-User-Guide

LGTM, don't forget to update https://github.com/uber/uReplicator/wiki/uReplicator-User-Guide

Thanks for the reminder. Updated.


After custom form is generated, page load fails

Fixed ccda48e24011ba525921ffae74c38b2d8f042594.
Caused by redirect refactoring #29.


"Gostilele" is listed in the drop-down menu

Description:
"Gostilele" is listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Gostilele" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Gostilele, CĂLĂRAȘI (FUNDULEA)".


Add option to don't display emojis?

Is this on the roadmap?
Why:

Most of the Linux distros don't support them well by default
Most of the ssh gateways don't support them at all; e.g: continuous integration/deployment
We cannot catch the output for other issues without parsing first
That's imho: are annoying

I can do the PR if you think is an interesting feature.
Good job with the module, btw. Really nice the interactive shell.

Great idea, I'd be happy to accept a PR for this.

Interesting, I did not know this.
Makes sense given the first point.
I'd like to make this easier (see #36).
I've gotten positive feedback, but I agree. It was my attempt to help the module "stand out".

I for one think the emojis is awesome and what gives this module its soul :raised_hands:
Maybe it's a better idea to have a flag for more "parseable output", there are a few other unix tools that does this...

Great idea, I'm going to add a flag to disable emoji. I hoped to do it automatically but I haven't figured out how. I created a module-request for supports-emoji if anyone is interested in a challege!

@edravis - with this option, do you think it would be ok to use characters that work instead of emoji, or no characters at all?
For example:

characters from figures ♥ Your modules look amazing. Keep up the great work. ♥

or

just text Your modules look amazing. Keep up the great work.

I've decided for the --no-emoji option to just not show any symbols.

I <3 you

@edravis haha! I showed my wife, she laughed and wasn't jealous. :)


added cancel button and beta testing note

Pull Request Template
1. Targeted Issue
Ticket # 71
2. Overview of Solution
Created a cancel button component and added it to the current availabilities component. Also added the beta testing note to the main page.
3. Tools Used
React/CSS/MUI
4.
5. Future Implications
May need to add an edit button in the future.
6. Screenshots

7. Code Reviewers
@nzeager

Before you go...

[✓  ]  I have linked the relevant issue
[✓  ]  I have provided an overview of my solution
[ ✓ ]  I have shared the tools I've used
[ ✓ ]  I have outlined my testing strategy
[✓  ]  I have considered future implications of my changes
[✓  ]  I have included relevant screenshots
[✓  ]  I have kept my team in the loop

Big high-fives for your incredible pull request! We're thrilled to have you as a contributor! Our team will dig into your proposed changes and give you some feedback or merge them if they're good to go. Your contributions mean the world to us!

Sorry about that. New code without the console log submitted.