Greetings!

This is a very well put together project. Could you list more about the project, your motives, etc on the readme?
I am currently creating a gameboy emulator written in C++. I am also writing an assembler (with uniquely named opcodes) which in its core targets specifically the gb.
Here are some easy resources I have found for quick lookup of ops:
http://www.pastraiser.com/cpu/gameboy/gameboy_opcodes.html
http://imrannazar.com/Gameboy-Z80-Opcode-Map
In my assembler, I have switched LD (HL), * to SV (HL), * and some other changes that make sense. Like ADD A, * is just ADD *. I am interested in where you are leading this project and how you are going to implement state saving. For example, are you just going to dump a rom's-worth of memory or just the changes to the memory... are you going to make it modular in the sense you can serialize data structures and just reimport them?
I want my assembler to be able to export standard roms (and mine generated matches that of the standard bin) into source.

Hi,
As English is not my native language, it might be difficult for me to express what I mean clearly.
I'm working on this project mostly fo fun and learning purpose. This tutorial inspired me a lot, so the idea of my emulation is similar to that tutorial. Modules in my emulator is close to reality. For example, CPU is just a struct union with variables to store registers and flags, Memory is just an array, of which first 32KBytes are copied from the game's ROM.

If you want me to proof read, I can contribute. I am a native English speaker.

If you want me to proof read, I can contribute. I am a native English speaker.

That would be great!


Remove reblog option on already reblogged post

Expected behavior
I expected not to see reblog in the option of reblogged posts.
Actual behavior
Reblog option is shown.

How to reproduce

Open app
Login
Reblog a post or skip to the next option
Tab on the 3 dots of a reblogged post
See reblog option

App version: v2.0.9
Operating system: Android 8.0.1

Recording Of The Bug

Fixed.


BUG: Error Cannot estimate Gas for Pepe Momentum Bot with TRIBE token vs. PEPE

Sell Token: Tribe
Loom: https://www.loom.com/share/5ce9b5221c094546b8a6d51ceefa7ba7?sid=a37461ab-181c-4c6e-9e18-d073e9df9b65
3514-d2fa8ff46dfc14d2.js:1 e Error: cannot estimate gas; transaction may fail or may require manual gas limit [ See: https://links.ethers.org/v5-errors-UNPREDICTABLE_GAS_LIMIT ] (reason="execution reverted", method="estimateGas", transaction={"from":"0x83334ef0C6f6396413C508A7762741e9FD8B20E9","to":"0x320c6cb95DeA7743fAD58ee91479a8eD30AB803E","value":{"type":"BigNumber","hex":"0x354a6ba7a18000"},"data":"0x750c025b00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000bb3b00bb049091b0000000000000000000000000000000000000000000003fc3183c631abf01b3400000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000003000000000000000000000000c7283b66eb1eb5fb86327f08e1b5816b0720212b000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000006982508145454ce325ddbe47a25d4ec3d2311933","accessList":null}, error={"code":-32000,"message":"execution reverted"}, code=UNPREDICTABLE_GAS_LIMIT, version=providers/5.7.2)

User error. Balance was too low


k8sgpt: 0.3.41 -> 0.3.46

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/k8sgpt-ai/k8sgpt/releases.
meta.description for k8sgpt is: Giving Kubernetes Superpowers to everyone
meta.homepage for k8sgpt is: https://k8sgpt.ai
meta.changelog for k8sgpt is: https://github.com/k8sgpt-ai/k8sgpt/releases/tag/v0.3.46
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.3.46 with grep in /nix/store/ynzh38955vwa2lzvzxy9qpbgyysd6s98-k8sgpt-0.3.46
found 0.3.46 in filename of file in /nix/store/ynzh38955vwa2lzvzxy9qpbgyysd6s98-k8sgpt-0.3.46

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

k8sgpt

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/ynzh38955vwa2lzvzxy9qpbgyysd6s98-k8sgpt-0.3.46 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A k8sgpt https://github.com/r-ryantm/nixpkgs/archive/06c4131f5bab42e12d992f091566f976866ac829.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/06c4131f5bab42e12d992f091566f976866ac829#k8sgpt

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/ynzh38955vwa2lzvzxy9qpbgyysd6s98-k8sgpt-0.3.46
ls -la /nix/store/ynzh38955vwa2lzvzxy9qpbgyysd6s98-k8sgpt-0.3.46/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

k8sgpt

Maintainer pings
cc @developer-guy @kranurag7 @mrgiles for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

Package built and tested locally:
nix build github:r-ryantm/nixpkgs/06c4131f5bab42e12d992f091566f976866ac829#k8sgpt

/nix/store/ynzh38955vwa2lzvzxy9qpbgyysd6s98-k8sgpt-0.3.46/bin/k8sgpt version
k8sgpt: v0.3.46 (v0.3.46), built at: 1970-01-01-00:00:01

@NixOS/nixpkgs-merge-bot merge


a few changes

Changes:

no need select statement when trying to get data from a simple channel. for loop is enough.
add notify for back to work! we want be rich people, so should never lost times. :))
also need reset ticker. in your implementation, in each period, in 20 min work | 2 min break config, in each period, 2 minute reduce from work time until be zero and then back to 20! you need to reset it.

@mrpalide
Awesome points Mohammad!
I forgot to remove the "select" after messing around with channels. (blame it on the AI exam 🤣)


Lock down user contract updates

Don't allow normal users to update other user contracts. user-admin
and users with operator role are allowed to edit other user contracts.
Change-type: patch
Signed-off-by: Josh Bowling<EMAIL_ADDRESS>
Testing with https://github.com/product-os/jellyfish/pull/8916

@balena-ci retest

@balena-ci retest

@balena-ci retest

@balena-ci retest

@balena-ci retest

@balena-ci I self certify!


Usage of dyn_ref vs dyn_into

Summary
When would you use dyn_ref vs dyn_into? From the book examples, it is hard for me to see the difference between them. My guess is that dyn_ref is used for converting a JsValue that is already owned by some other variable while dyn_into is for converting a JsValue that is not owned by another variable.
Also, why does dyn_ref return a Option while dyn_into returns an Result?
Additional Details
I finished reading the Rust Programming Language Book, but am new to wasm-bindgen, web-sys, and js-sys.

If you have a &self then you have to use dyn_ref.
If you have a self then you can choose whether to use dyn_ref or dyn_into:

dyn_ref returns a &T, and you can continue to use self
dyn_into returns a T, and it consumes self so you can no longer use it

Which one should you use? It depends on whether you have a self or &self, and it depends on whether you need a T, or whether a &T is good enough. That's all there is to it.
Because Rust's ownership model is pervasive throughout the language, this sort of owned/ref/mut split is quite common.
For example, with iterators you have into_iter for the owned version, iter for the & version, and iter_mut for the &mut version.
The reason why dyn_into returns a Result is because the conversion might fail.
Also, because dyn_into accepts self by value, that means you cannot use self after calling dyn_into.
But if dyn_into fails, you probably still want access to self, and so dyn_into returns Err(self). This lets you do something like this:
match foo.dyn_into() {
    Ok(t) => {
        // Successfully converted into T, and foo is consumed
    },
    Err(foo) => {
        // foo is the original value
    },
}

That means that dyn_into only consumes self if conversion succeeds. But if conversion fails then it will return self back to the caller.
So why doesn't dyn_ref return a Result? It accepts &self, which means it doesn't consume self, so you can continue to use self even after you call dyn_ref. Thus there's no need to return Err(self), so it returns None instead.

@Pauan Thanks for the crystal clear answer!


Enable external contributions via Flowzone

Change-type: patch
Signed-off-by: Kyle Harding<EMAIL_ADDRESS>

@balena-ci I self-certify!


first-timers-only: Add test spec for sentences with variables in the middle

first-timers-only
This issue is tagged first-timers-only. It is only for people who have never contributed to open source before, and are looking for an easy way take their first steps.
Thank you for your help :heart:
The Issue
The test specs do not currently test for adding commands when they contain named variables in the middle of the sentence (e.g. annyang.addCommands({'Time for some :description heroics': myFunction});). This should match any sentence with any one word replacing the named variable (:description), such as: 'Time for some thrilling heroics', but not 'Time for some thrilling and fun heroics' or 'Time for some heroics'
The tests described inside describe("annyang.addCommands", function() {…}); in test/spec/BasicSpec.js include a number of tests for other uses of addCommands(), and should be used as a template for your code.
Add a test spec that tests that the following code matches the correct commands only: annyang.addCommands({'Time for some :description heroics': function() {}});
It should be very similar to the test spec for it('should match commands with named variables')
Contributing to annyang

[x] Fork the repository from the annyang GitHub page.
[x] Clone a copy to your local machine with $ git clone git@github.com:YOUR-GITHUB-USER-NAME/annyang.git
[x] Make sure you have node.js and npm installed on your machine. You can use this guide for help.
[x] Install all of annyang's development dependencies with npm. $ cd annyang; npm install
[x] Run grunt to make sure everything runs smoothly $ grunt
[x] Code, code, code.
[x] Run $ grunt after making changes to verify that everything still works and run the build process. Alternatively, you can just run $ grunt watch once, and leave that process running. It will continuously run all the tests and build the files every time you make a change to one of annyang's files. It will even beep if you make an error, and help you debug it.:+1:
[x] Before committing your changes, the last step must always be running $ grunt. This makes sure everything works, and all files are kept up to date with your changes.
[x] Once you've made sure all your changes work correctly, and committed all your changes, push your local changes back to github with $ git push -u origin master
[x] Visit your fork on GitHub.com (https://github.com/YOUR-USER-NAME/annyang) and create a pull request for your changes.
[x] Makes sure your pull request describes exactly what you changed and references this issue (just include the issue number in the title like this: #49)

About the tests
annyang is tested using Jasmine.
BasicSpec.js contains a series of spec groups (e.g. describe('a spec group', function() {})) which each contain 1 or more specs (e.g. it('should do stuff', function() {})). Some of the spec groups also contain some code which runs before each spec (beforeEach(function() {})).
To simulate Speech Recognition in the testing environment, annyang uses a mock object called Corti which mocks the browser's SpeechRecognition object. Corti also adds a number of utility functions to the SpeechRecognition object which simulate user actions (e.g. say('Hello there')), and allow checking the SpeechRecognition's status (e.g. isListening() === true).

I'd like to try to do this. Should have time for it tomorrow.

Seems to already have been fixed
it('should not match commands with more than one word in the position of a named variable', function () {
    var spyOnMatch = jasmine.createSpy();
    annyang.addCommands(
      {
        'Time for some :description heroics': spyOnMatch
      }
    );
    recognition.say('Time for some thrilling and fun heroics');
    expect(spyOnMatch).not.toHaveBeenCalled();
});

it('should not match commands with nothing in the position of a named variable', function() {
    var spyOnMatch = jasmine.createSpy();
    annyang.addCommands(
      {
        'Time for some :description heroics': spyOnMatch
      }
    );
    recognition.say('Time for some heroics');
    expect(spyOnMatch).not.toHaveBeenCalled();
});

There isn't one that tests for a positive match. Those two just test that named variables won't match >1 and <1 words.
It's a good idea to also have a test that it does match in case the matching functionality is broken by a future commit.

Got it, thanks :)

Close in pull request #159.
Great job @chrifpa.
Thank you :heart:, and congrats on your first pull request :octocat:


Intermittent failure in TestScheduleOneWayConflict

This test sometimes fails (see https://semaphoreci.com/coreos/fleet/branches/pull-request-1501/builds/3 ) due to a race condition in the test case. There is actually a comment in there saying:
// TODO(jonboulle): fix this race. Since we no longer immediately
// remove unit state on unit destruction (and instead wait for
// UnitStateGenerator/UnitStatePublisher to clean up), the old unit
// shows up as active for quite some time.

I guess it could be fixed by using a similar loop as the one in WaitForNActiveUnits(). I wonder though whether checking the number of known units like that before checking the active units is really necessary? Maybe it could just be moved after the active units check -- or even dropped altogether?..

@antrik I think you might be right - looks like it's probably just redundant with WaitForNActiveUnits?

@jonboulle well, it's not entirely redundant, as it checks the total number of units, rather than "only" the active ones. It's not clear to me though whether or not there is much value in doing this...
Note that once https://github.com/coreos/fleet/pull/1501/commits/520a90f269c3bfd554d99f4b39371eb37a157c96 lands, it will be very easy to fix the race while keeping the extra test. I'm fine with either option.

@jonboulle in fact, https://github.com/coreos/fleet/pull/1509/commits/8a22f07cf4c842723491dbbf06335fba0e41e9fe (and the followup https://github.com/coreos/fleet/pull/1509/commits/cd3a786cb655e5bb9d8eb46a5ad2283ab87aeb1b ) want to add a dedicated function just for that, which could be used here as well... I could just go ahead and add this function independently.

Finding an appropriate wait condition turned out slightly more involved in the end; but it's working now with https://github.com/coreos/fleet/pull/1531.


Create factorial_using_recursion.cpp

Link your PR to the issue you solved

I am new to open source that's why having problem linking it. Can you help me out.

@tanyalava  yes tell me

I am writing down all the steps I followed. Correct me if I am wrong somewhere.

fork the repository Algo-Tree
2 Created folder on desktop and opened it and inside folder, I opened git bash.
3 these are the commands I used on git bash
git init
git clone (the link of the forked repo)
4 Then I move to the C++ folder inside the Code folder and then added a new file named factorial_using_recursion.cpp and then
add the code to the file.
5 git add factorial_using_recursion.cpp
6 git commit -m "changes added"
7 git push
8 and then I created a pull request

If I am not following the correct sequence, can you tell me the right one.

Create another branch from main using "git branch "
and keep following from 4th step after it....It's not right to code on the main/master branch
and also add #issue_no in the comments.

Thanks for the help


Issue #82 - Contributors page

Fixes #82
Summary of changes:

[x] Remove first 'Find a Job' nav item completely, rename 'Quick Filter' to 'Find a Job'
[x] Add a 'Contributors' nav item between 'Get in Contact' and 'Post a Job'
[x] Add route for /contributors to App.js and routes.js
[x] Create Contributors.js file in /pages directory
[x] Add dummy-content/styling to Contributors.js
[x] Add a test to make sure the Contributors page loads

Extra modifications:

[x] Adjusted navbar_spec.js test, as it was not accounting for the correct nav bar items count

Meant to say I'm reviewing THIS now @ottogutierrez

Thanks @pickleat!


How to subscribe to multiple pub-sub topics?

Hi, please clarify the issue, subscribe as client or as server?


Support for defining filtering mods.

A try, I don't know if setting an extra property is an optimal solution, if there is a better way, please cancel this pr.

Can you explain how this is different from columnFilterModeOptions that already exists?
By filter mod, did you mean filter mode?

Can you explain how this is different from columnFilterModeOptions that already exists?你能解释一下这与已经存在的 columnFilterModeOptions 有什么不同吗？
By filter mod, did you mean filter mode?通过过滤器模式，你的意思是过滤器模式吗？

columnFilterModeOptions determines which filter modes a column will have, but it is not possible to customize a new mode.

That's what filterFns are already for then


Including README as part of the release diff target

Current dependencies on/for this PR:

main

PR #603   👈

This comment was auto-generated by Graphite.


[Keyvault] az keyvault create: Add warning for upcoming breaking change that --enable-rbac-authorization will default to true

Related command

az keyvault create
Description

Keyvault is planning to enable rbac authorization by default in next breaking change window. This PR is to add a warning to notify customers in advance.
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Keyvault


Add path removals for clean

I'm not an advanced user when it comes to Typescript, so not sure how best to change the types here, to enable providing the strings function with a dot-separated path:
clean<K extends keyof T>(exclude: K[] = []) {
I just switched the type of exclude to an array of strings so I could run the tests.
clean<K extends keyof T>(exclude: string[] = []) {
Other than that all seems to work well.

For the type checking, I suspect with these type utilities:
type Prev = [never, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
    11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ...0[]]

type Join<K, P> =
  K extends string | number ?
    P extends string | number ?
      `${K}${'' extends P ? '' : '.'}${P}`
      : never
    : never

type KeyPath<T, D extends number = 10> =
  [D] extends [never] ?
    never
    : T extends object ?
      { [K in keyof T]-?:
        K extends string | number ?
          `${K}` | Join<K, KeyPath<T[K], Prev[D]>>
          : never
      }[keyof T]
      : ''

You can have a signature that properly type checks key paths up to a certain depth (by default, 10):
clean(exclude: KeyPath<T>[] = []) {
  // ...
}

P.S. I picked this solution from here.

I suspect better type-checking will also satisfy the security issue raised by the static code analyzer.

Nice find, I'll implement and see if that fixes the issues.

At the moment I have it so that if a property is deleted and leaves the parent key with an empty object, then that parent key is also removed:
so removing s in this object would also remove b
z: {     o: {         r: 'amigo',         b: {             s: 'siracha'         }     } }
is that fine? Or would you prefer to leave b:{}

Okay, cool. For now, I've left it intact, you're right, it's more intuitive and no real benefit to removing it that I can see at the moment. Changes seem to do the job, had to implement this fix as it was breaking the compiler

ok so I had to make some changes as some execution branches were effectively unreachable, and also cleaning up a deep path changed the original model as well.
P.S. I think I've forgotten to add the coverage check for PRs.


Android export does not use signing keys

Godot version
4.2.beta6.mono
System information
macOS
Issue description
When exporting an android package, it seems the signing of it is not being applied to the final output.
I've noticed that althought my editor settings are set to use the debug.keystore and my export settings for Android are also set to use a custom keystore, when uploading to the GooglePlay store an error is returns saying that the AAB is not signed.
Steps to reproduce
Steps

Create a new project
Create a new android keystore or use the debug.keystore provided by google
Install the Android Build Template
Add the following logs to build.gradle

Export AAB

Example
Signin config

First build output
It is already strange that the message No custom release keystore is printed altough it is clearly set.

Second build output
Sadly the window closes too fast to capture it. But if you added the logs as explained above, you should see the messages:
No custom debug keystore and No custom release keystore
Minimal reproduction project
AndroidKeystoreBug.zip

@duarteroso I've added logic in RC1 to print the build output to the console when the verbose flag is enabled.
Can you retry on that build and provide the output logs.

Sorry, I don't have source built at the moment (never managed to get .NET working actually, if only there was a script available that would build everything...)
But managed to get the last popup on camera, this is on RC1

Sorry, I don't have source built at the moment (never managed to get .NET working actually, if only there was a script available that would build everything...) But managed to get the last popup on camera, this is on RC1

@duarteroso You don't need to build the editor from source; simply using the latest RC build should log the build output to the console when the verbose flag is enabled, which you can then copy and paste in this issue.

Got it 👍🏽  Hope it helps!
output.txt

@duarteroso Looking at the logs, things seem to behave as expected:
Updating ANDROID_HOME environment to /Users/duarteroso/Library/Android/sdk
Build Android project using gradle command:
/Users/duarteroso/code/Godot/dreamdevour/DreamDevour/android/build/gradlew clean bundleDebug -p /Users/duarteroso/code/Godot/dreamdevour/DreamDevour/android/build -Pexport_package_name=eu.rookies.dreamdevour -Pexport_version_code=1 -Pexport_version_name=1.0.0 -Pexport_version_min_sdk=24 -Pexport_version_target_sdk=33 -Pexport_enabled_abis=arm64-v8a -Pplugins_local_binaries=/Users/duarteroso/code/Godot/dreamdevour/DreamDevour/addons/rookies/google/playgames/.bin/android/GooglePlayGames.debug.aar -Pplugins_remote_binaries=com.google.android.gms:play-services-games-v2:17.0.0|com.google.android.gms:play-services-auth:20.6.0|org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.4.1 -Pplugins_maven_repos= -Pperform_zipalign=true -Pperform_signing=true -Pgodot_editor_version=4.2.rc2.mono
Thread exit status: 0

> Configure project :
Warning: Please apply google-services plugin at the bottom of the build file.
Has custom debug keystore
No custom release keystore

In this snippet of the logs, we can see you're doing an aab debug build. Doing so cause the debug keystore to be passed along (it's not in the printout for privacy / security reasons), which is why the Has custom debug keystore message is printed.
The No custom release keystore is also expected because we're not passing the release keystore info for this build since it's a debug build.
Copying Android binary using gradle command:
/Users/duarteroso/code/Godot/dreamdevour/DreamDevour/android/build/gradlew copyAndRenameDebugAab -p /Users/duarteroso/code/Godot/dreamdevour/DreamDevour/android/build -Pexport_path=file:/Users/duarteroso/code/Godot/dreamdevour -Pexport_filename=DreamDevour.aab
Thread exit status: 0

> Configure project :
Warning: Please apply google-services plugin at the bottom of the build file.
No custom debug keystore
No custom release keystore

In the second snippet of the log, the export process is performing the copy and rename operation. This step doesn't require the keystore info (the binary is already signed at this point) hence why you're seeing the No custom [debug|release] keystore log given we're not passing the keystore info for this step.
In general if the build is successful, it means that the right keystore info was passed along, otherwise the build would fail with an error message.
You can use the keytool tool to validate the signature of the generated aab

Exactly, and it says it isn't signed 😅
After doing a release build, I need to sign the aab using jarsigner otherwise google console won't accept it.
I'll try and post something useful later tonight.

Hopefully this MRP will show the error.

AndroidDebugSign.zip
Building in release does sign the final package. This only affects debug builds

@duarteroso I was finally able to take a look and this is expected behavior. Our debug build / templates have the debuggable attribute set to true which prevent signing of the aab at build time (see https://stackoverflow.com/a/66622555 for reference).
The debug builds are used for Remote Debug operations, and thus having debuggable set to true is required for things to work as expected.
For your scenario, I'd suggest to always perform a release build when you intend to sign the build.

i need a help whit that error please

Cannot access a file in the destination directory (What is your output path?)
https://github.com/godotengine/godot/issues/90033

 i need a help whit that error please

This has already been fixed by https://github.com/godotengine/godot/pull/90802.


Can't see my toots on Mastodon

Hello Matthias,
thanks a lot for this great plugin! :)
I can see my account here: http://maiadereva.net/author/maia/
and there: https://mamot.fr/web/accounts/206070
without any problem.
But the toots don't appear in Mastodon :thinking:
I published a new post after I followed my blog but nothing appears.
Do I miss something?
Cheers
Maïa

If you enter one article URL in the search bar, it doesn't show up ?
edit: just tested, it doesn't work.
For my wordpress I had to enter the URL of an article to finally see it on mastodon, as well as on the website profile.
(I suppose the federation takes time ? :thinking:)

Have you published a post after you followed your profile on mastodon?
ActivityPub uses WP-Cron to federate new posts. Have you enabled WP-Cron?

Hello @pfefferle

Have you published a post after you followed your profile on mastodon? : yes
Have you enabled WP-Cron? Now yes, and I published a new post, but nothing appears on Mastodon

@MaiaDereva can you see a list of followers in the AP settings?

@pfefferle : yes I see 4 followers including you :)

If it can help to make a diagnosis: I noticed that I've modified the avatar, description and public name of the user but they didn't change on Mastodon

Hi Matthias,
avatar, description and public name of the user have been modified if I have a look here : https://mastodon.xyz/web/accounts/319528
but not here : https://mamot.fr/web/accounts/206070
Both of them leads to http://maiadereva.net/author/maia/ if I click on the avatar via Mastodon.
I don't understand...
And still no toots visible :(

It seems to show toots now, is this still a problem?

Hi Matthias,
yes,  there is still a problem, see here: https://mastodon.xyz/web/accounts/319528
The total number of toots is correct, but I don't see any toot in the profile. Do you?

I am having the same issue, here, on https://cambridgeport90.org, as well. If you follow<EMAIL_ADDRESS>you won't find me. I tried searching myself, and that's how I discovered that there was an issue at all. For kicks, as well, I looked up https://cambridgeport90.org/author/cambridgeport90 on webfinger.net, and the resulting log gives a 400 bad request error message (see the full error message copied into my post called "current IndieWeb glitches")

@Cambridgeport90 Your profile/author URLs are not available, which is necessary for the plugin to work. The author page redirects to the main page. Maybe you use YoastSEO or something similar, that forces this redirect.

You hit the nail right on the head. I do use Yoast. Will removing that plugin fix the error? Or is there a way I can work around it by forcing a profile page in the IndieAuth settings?
From: Matthias Pfefferle<EMAIL_ADDRESS>Sent: 15 November 2020 12:13
To: pfefferle/wordpress-activitypub<EMAIL_ADDRESS>Cc: Katherine M.. Moss<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [pfefferle/wordpress-activitypub] Can't see my toots on Mastodon (#48)
@Cambridgeport90https://github.com/Cambridgeport90 Your profile/author URLs are not available, which is necessary for the plugin to work. The author page redirects to the main page. Maybe you use YoastSEO or something similar, that forces this redirect.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/pfefferle/wordpress-activitypub/issues/48#issuecomment-727603665, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADS4MAGFLHOK25TEBP36OU3SQADZRANCNFSM4HSMERCA.

Hey @Cambridgeport90 you do not have to disable the plugin completely. There is a setting somewhere, that disables the feature. Perhaps I should overrule the setting and disable it via the AP plugin in the future. I will have a look, if I can point you to the setting. Give me a sec.

@Cambridgeport90 you find the setting here: SEO -> Search Appearance -> Archives -> Author archives settings -> Author archives -> Enabled. I hope this solves your problem.

Awesome!
From: Matthias Pfefferle<EMAIL_ADDRESS>Sent: 15 November 2020 12:21
To: pfefferle/wordpress-activitypub<EMAIL_ADDRESS>Cc: Katherine M.. Moss<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [pfefferle/wordpress-activitypub] Can't see my toots on Mastodon (#48)
Hey @Cambridgeport90https://github.com/Cambridgeport90 you do not have to disable the plugin completely. There is a setting somewhere, that disables the feature. Perhaps I should overrule the setting and disable it via the AP plugin in the future. I will have a look, if I can point you to the setting. Give me a sec.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/pfefferle/wordpress-activitypub/issues/48#issuecomment-727604911, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADS4MACSJZZ54UH2R7OIXN3SQAEYVANCNFSM4HSMERCA.


⚠ Bofrost.de has degraded performance

In 8306b1d, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1154 ms

Resolved: Bofrost.de performance has improved in 41d66ac.


Snapshot creating duplicates (updated)

Describe the bug
Snapshots are not inserting new rows. (This seems to be causing another issue around trying to merge/update multiple rows, however it may be an unrelated issue)
When I run the same SQL that is generated by dbt, this works just fine, so I don't believe it to be the data itself causing the issue.
Steps To Reproduce
There doesn't seem to be anything odd about the data itself, below is one model that is facing this issue ...
{% snapshot dim_jobs_order_item %}

{{
    config(
        target_schema='commercial',
        alias='dim_jobs_order_item',
        tags=["daily"],
        unique_key= 'order_item_number',
        strategy='check',
        check_cols=['order_item_number'
                    , 'start_date'
                    , 'end_date'
                    , 'opportunity_id'
                    , 'order_number'
                    , 'client_cam_id'
                    , 'account_id'
                    , 'account_name'
                    , 'category'
                    , 'type'
                    , 'product_type'
                    , 'product_string'
                    , 'territory_code'
                    , 'account_relationship'
                    , 'quantity'
                    , 'oracle_net_price'
                    , 'net_price'
                    , 'business_type'
                    , 'recruitment_category'
                    , 'discount_reason'
                    ],

        post_hook="delete from {{ this }} where end_date < DATE_SUB(CURRENT_DATE(), INTERVAL {{ env_config('retention_6_years_in_days') }} DAY)"
    )
}}

SELECT DISTINCT
              oi.order_item_number                                              AS order_item_number
            , oi.start_date                                                     AS start_date
            , oi.end_date                                                       AS end_date
            , oi.opportunity_id                                                 AS opportunity_id
            , oi.order_number                                                   AS order_number
            , oi.client_cam_id                                                  AS client_cam_id
            , oi.account_id                                                     AS account_id
            , oi.account_name                                                   AS account_name
            , oi.category                                                       AS category
            , oi.type                                                           AS type
            , oi.product_type                                                   AS product_type
            , oi.product_string                                                 AS product_string
            , oi.territory_code                                                 AS territory_code
            , oi.account_relationship                                           AS account_relationship
            , oi.quantity                                                       AS quantity
            , oi.oracle_net_price                                               AS oracle_net_price
            , oi.net_price                                                      AS net_price
            , oi.business_type                                                  AS business_type
            , oi.recruitment_category                                           AS recruitment_category
            , oi.discount_reason                                                AS discount_reason

FROM        {{ source('staging', 'jobs_salesforce_order_line_item') }} oi

{% endsnapshot %}

Expected behavior
when running a snapshot, I expect to get a MERGE(x) notification at first, and then followed by MERGE(0) on the second run. Additionally, I expect all records in the target table to match the records in the source table.
Instead, I repeated get MERGE(x), and the target table is missing that x number of records.
Screenshots and log output

System information
Which database are you using dbt with?

[ ] postgres
[ ] redshift
[x] bigquery
[ ] snowflake
[ ] other (specify: ____________)

The output of dbt --version:
installed version: 0.17.0
   latest version: 0.17.0

(also tested with previous versions)
The operating system you're using:
Windows 10
The output of python --version:
Python 3.8.2
Additional context
Add any other context about the problem here.
Originally found this problem trying to chase down a MERGE/UPDATE error. As such, I believe this is somehow creating duplicates at the point of the snapshot - although these may be unrelated issues.

@Hayleycsck2 It's hard to know exactly what's going wrong here. Here's one theory:
You have a post_hook configured to delete records from the snapshot after running if it has an old end_date. If those underlying records remain in the source table, and they have either

(a) a different order_item_number from the records in your target table; or
(b) the same order_item_number as a record in your target table, with a different combination of distinct values of your check cols,

Every time you run dbt snapshot, dbt is going to:

identify those X records as (a) new or (b) updated
add or update them via a MERGE(X) DML operation
delete all X records in the post-hook

As a result, you'll always see MERGE(X) (where X > 0) and yet those X records will appear to be missing from the target table.
I think you could avoid this by doing one of the following:

Include your filter on end_date within the snapshot's actual select logic, instead of or in addition to the post hook
Simplify! Let the snapshot do its snapshotting, and create a view model to perform the filter instead:

select * from {{ ref('dim_jobs_order_item') }}
where end_date < DATE_SUB(CURRENT_DATE(), INTERVAL {{ env_config('retention_6_years_in_days') }} DAY)

I'm happy to follow up on your Slack thread to continue debugging this. Since this doesn't seem to reflect a bug in dbt's snapshot logic or require a code change in this repository, I'm going to close the issue.

On second thought: there's a lot going on here, including what sounds to be an adjacent issue:

Originally found this problem trying to chase down a MERGE/UPDATE error. As such, I believe this is somehow creating duplicates at the point of the snapshot - although these may be unrelated issues.

As excited as I am by my "the post-hook's the thing" theory, I'm going to reopen until I have a chance to hear back and get to the bottom of what's really going on here. In particular, we'll need answers to:

Do the X records that are being merged and then missing actually have old values of end_date?
Is order_item_number actually unique in the snapshot query? The select distinct is of twenty columns in combination...
I see that order_item_number is both the unique_key and in the list of check_cols. Is there unexpected behavior when one column is both? That would be grounds for a code change to dbt's check strategy.

Hi @jtcohen6
Thank you for looking into that for me. I have tested out the post hook, and that was the issue with not inserting new data. Our prod & dev environments have different retention variables, and the variables set in prod (about 6 years) allowed for a successful merge, at least locally.
However, this still leaves the question of the MERGE/UPDATE error, as this seems to be the real issue here.
I hit this error when I remove the posthook entirely, so that's not the source of this issue.  If I remove order_item_number from the 'check' list, I still encounter the error. Also, I can confirm order_item_number is definitely unique for this table.
However, when I only include order_item_number in the 'check' list, it merges just fine. However, this won't allow us to capture any other changes to the data.
I will keep testing, and update as I find out more...

Found It!
I was right that dbt is creating duplicates at the point of snapshot... and its down to the union statement at the very end ...

If you just do a quick (hack) to select distinct from that union, we get unique keys again

Now... I have no idea why the insert  CTE was creating duplicates... but I think we have it. I'm gonna see if I can test this out  locally :D

@jtcohen6
Update #2
It works! For reference, I did this

Would you be able to make this change to on your side?

Hi @jtcohen6 any update on pushing that fix? I would open a PR my side, but I don't have permissions :)

This is weird! If the issue is resolvable by adding select * to the bottom of the snapshot staging query, I feel that something must be afoot.
Could you confirm that order_item_number is unique in dim_jobs_order_item, by running a query like:
select count(*) as duplicates
from (

    select
        order_item_number

    from commercial.dim_jobs_order_item
    where order_item_number is not null
    group by order_item_number
    having count(*) > 1

) dupes

Rationale
In trying to reproduce this locally with scratch data (here's a gist), I'm stuck on how the insertions CTE in dbt's check snapshot logic could be creating exact duplicates... unless there are duplicate values of dbt_unique_key already in the existing snapshot target table.
As part of creating the staging table of updates and inserts, dbt snapshot should be running a query that looks roughly like:
...
insertions as (

        select
            'insert' as dbt_change_type,
            source_data.*

        from insertions_source_data as source_data
        left outer join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key
        where snapshotted_data.dbt_unique_key is null
           or (
                snapshotted_data.dbt_unique_key is not null
                and snapshotted_data.dbt_valid_to is null
                and (
                        (
                            snapshotted_data.order_item_number != source_data.order_item_number
                            or (snapshotted_data.order_item_number is null) != (source_data.order_item_number is null)
                            or snapshotted_data.start_date != source_data.start_date
                            or (snapshotted_data.start_date is null) != (source_data.start_date is null)

                            -- and so on, for every check column

                )
            )
        )
    ),
...

This is the query to the bottom of which you added select distinct *, and the duplicates are removed. How is that possible?

They have to be exact duplicates (every column the same), otherwise select distinct * wouldn't have any effect.
They can't be coming in from the original snapshot query. You have a select distinct to take care of that, and the column list for selection is identical to the list of columns for value-checking.
I feel like the culprit has to be a fan-out in the left outer join. If the existing snapshot table has multiple "active" records where, e.g.,

order_item_number = 'ORD-2122772-1' and dbt_valid_to is null

Then we end up with exact duplicates for insertion, which can be resolved by adding select distinct *.

Regarding the first question, this dim_jobs_order_item table is the table we are snapshotting into. Because of this, will have duplicates for the order_item_number - with different dbt_valid_to values.
However, I accounted for this and ran the following query ...

Good call, thanks for adjusting and running the query. It looks like there are no historical duplicates in dim_jobs_order_item, which is good, and seems to be a point against my hypothesis.
Could you run another query or two, to disprove it for good and send us back to the drawing board?
Let's see if there are any current duplicate values of order_item_number:
select count(*) as duplicates
from (

    select
        order_item_number

    from commercial.dim_jobs_order_item
    where order_item_number is not null
      and dbt_valid_to is null
    group by order_item_number
    having count(*) > 1

) dupes

Then, assuming there aren't any, could you run standard dbt snapshot? That's without the addition of select distinct * to snapshot_staging_table. If it still results in the insertion of exact duplicate records, I'll need to rethink.

Sorry for the delay. No current duplicates, I'm going to see if I can drill into this problem on my side...

Hi, I had a similar problem and it's also BigQuery. In my case though I found that there were actually duplicates in the snapshot. 3 dbt_scd_id's existed twice, i.e. this was 6 rows. They were totally duplicates. This seems like a dbt bug, because all these rows where created by dbt built-in code. Just wanted to share this.


[Feature Request] Option to exclude tags & front matter on word/char count

Pretty much title. I can't imagine any use case where including the tags and other metadata when looking at the unhighlighted word/char count is useful. Right now, I just highlight all of the actual content manually.

I'd very much like to second this.

More exclusion options are on the list.

Please, implement this. Having a large frontmatter often leads to misleading estimates of the content of the file, when looking at the word count.

I'd also like to see an accurate word count for the document's content intended to be read. An option to exclude the front matter from the total word seems to be sorely missing. Novel Word Count plugin for showing word counts and other statistics in the File Explorer sidebar manages to exclude the front matter from its calculations, so it may serve as a reference for how to implement this.

+1
This seems all the more important given Obsidian's new investment in Properties, which is presumably going to lead to us all having more frontmatter content.

Obsidian v1.5 will exclude YAML (front matter) / Properties from the word count, and I think the upstream change will affect the numbers this plugin reports. As for tags, that will still need a custom implementation I believe.


Improve UI of Homepage

Changes I am going to make to the UI:

make a header that has a button to add a calendar
Have the page says "Hello, user!"
Make the sidebar cleaner when displaying group information


Global Overlay can not be displayed with MaterialApp.router when i use go router

i have a listener for loading status and it get notified whenever there is a loading event and display a overlay instance
when i use home with Matrial app it works fine but when i switch to materialApp.router wiith go router the state still notified but it did not show up the overlayEntity
here is the code
  ref.listen<bool>(isLoadingProvider, (_, isloading) {
      if (isloading) {
        LoadingScreen.instance().show(context: context);
      } else {
        LoadingScreen.instance().hide();
      }
    });
    final router = ref.watch(routerProvider);
    return MaterialApp.router(
      title: 'my app',
      theme: ThemeData(
        brightness: Brightness.dark,
        primarySwatch: Colors.blue,
        indicatorColor: Colors.blueGrey,
      ),
      darkTheme: ThemeData.dark(),
      themeMode: ThemeMode.dark,
      debugShowCheckedModeBanner: false,
      routeInformationParser: router.routeInformationParser,
      routerDelegate: router.routerDelegate,

    );

Hello @omar-hadek. Thank you for filing this issue. Can you please provide the following information?

A complete and minimal, reproducible example. Ideally, a single main.dart file that can be run directly.
The output of flutter doctor -v
The output of flutter run -v

Please provide the information in the form of text. See how to make collapsible sections with Markdown here.


Create 2015-09-13-first-general-body-meeting-fall-2015.md

@natashaw did you mean to merge this instead?


Adding api authentication using an uuid

What does this implement/fix? Explain your changes.
This implements a way of protecting certain routes with an API key. This API key needs to be set on the X-APP-TOKEN header of every request. Without it, the routes will return a 401 unauthorized.
Does this close any currently open issues?
Yes, it closes #1162
What commands can I run to test the change?
Just normal tests. I added a test that sets invalid API keys just to see it fail spectacularly.
Any other comments?
I added a method to nf3 that basically sets the API keys to something. This method will be irrelevant once Nightfall Node is done, since nf3 will no longer call the optimist.

Does this passport strategy do anything more than just checking for a presence of a correct token on a header? If its as simple as that maybe we can drop it. Passport shines when you combine multiple strategies, or use more complicated ones, but this one is not more complicated than req.headers.token === env.token ?  next() : return 401. Maybe it does something extra that I am unaware of?

Yes you're absolutely right. It could be just a simple comparison. However, I think using passport will pave the way to a later proposer UI we may want to develop, maybe we want to use multiple strategies and etc.
I'm happy not using passport at all, as less code = 🤩


$translate.instant doesn't apply fallback language translation in case of translateNotFoundIndicators usage since 2.6.0

Translation table contains two languages with codes 'en' and 'de', using 'en' as fallback language and 'de' as current.Translation for key exists only for fallback language. Also translateNotFoundIndicators are configured. But when I attempt to get translation using translate filter, I get translation key, which is wrapped into indicators. Expectation is to get fallback language translation.
Issue reproduced in the plunker:  example.

If your remove the translationNotFoundIndicator it will work correctly. I assume that the translationNotFoundIndicator currently just detects if your active language doesn't contain the key and then print the indicator here.

PR is landed.

The resolution of this by commit has resulted into when an indicator is not set then the id is interpolated and sanitised opposing to the rest of the reject returns.
I will be refactoring this so that it follows the specs of all other calls most important following sanitization strategy and regards to issues: #730 and #1297 and commit: #01fecd0efd15f153aa019fda11c4a1ecc6ab0fda to be able to resolve #1722
Worth to mention in order to prevent a breaking change.
@shkrobova I need to mention as well that as discussed in #1722 with @knalli  I will provide a $sanitizeNotFound opt out for the user.


nostrict "yes"

Hi
Is it possible to implement nostrict option when we adding IP via terraform to phpipam?
It would allow to use broacast and subnet IP.
If I have huge mgmt range /18 for example and building "sub-management" ranges within /18 like /29 i would like to use entire /29 as it is not real subnet. But it is associated to specific resources.

Hi @pmraz123
I don't see parameter no strict for address controlled in the phpipam documentation https://phpipam.net/#addresses
You have example how to use no strict with phpipam API call?

Hi, we "solved" it ...we simply dont use network and broadcast. I have /19 mgmt range and building block of /29 mgmt sub-ranges and wanted to use entire /29 as it is not real "network" . But PHPIPAM didnt allow me set broadcast and network which were legitime IPs. We have now other issue - > request more free IPs in single run from one range. Looks we always get just very 1st one when we want to use it. PHPIPAM itself I think marked/filled all 4 for example but when I want to use that IP in terraform, just very 1st one is returned :(


11.21 tag missing and 11 tag points at obsolete version

$ docker pull postgres:11.21
Error response from daemon: manifest for postgres:11.21 not found: manifest unknown: manifest unknown

$ docker pull postgres:11
11: Pulling from library/postgres
Digest: sha256:5d2aa4a7b5f9bdadeddcf87cf7f90a176737a02a30d917de4ab2e6a329bd2d45
Status: Downloaded newer image for postgres:11
docker.io/library/postgres:11

which is a version using Debian stretch.

https://github.com/docker-library/postgres/pull/1129 fixes this.

Looks like this was on purpose to avoid breaking indexes between stretch and other debian versions.

Here is the rationale. https://github.com/docker-library/postgres/issues/582#issuecomment-862746990
Closing as upgrading has to be a deliberate step.


Not working for local pages (DDEV hosted, within WSL2)

I am running a page using DDEV in WSL2 i call them in Firefox (DEV) on Windows 10, like so:
http://d9-theme.ddev.site
I've set up the watcher like this:
Host-URL: http://d9-theme.ddev.site/*
Source-File-URLs:
http://d9-theme.ddev.site/themes/custom/digico/css/*.css
http://d9-theme.ddev.site/themes/custom/digico/js/*.js
I am able to open "http://d9-theme.ddev.site/themes/custom/digico/css/digico.global.min.css" so the configured paths should be correct.
I would really love to see this working.. gulp-livereload, what i've used in the past, didn't work for me withing WSL2.

Hey Thomas, please include a log.
You can view the log by visiting about:devtools-toolbox?type=extension&id=live-reload%40blaise%2Eio in a new tab.
Using WSL2 shouldn't matter. The only requirements are that source files are accessible over http(s) and to-be-monitored source files are loaded by the host page.

Hey,
it does recognize changes, but they're some errors in the log:
Incoming message from  moz-extension://bc9da989-df53-4373-b45c-80b8126459f2/popup.html
Object { type: "isMonitoring?" }
background.js:133:13
Storage data
Object { isMonitoring: true, rank0284x3: {…} }
popup.js:220:17
Rules
Array [ {…} ]
popup.js:226:17
**Error: Please use $(ref:runtime.getURL).**
**can't access property "enabled", state is null 2 global.js:344**
5 Navigated to new URL: http://d9-theme.ddev.site/themes/custom/digico/css/digico.global.min.css?qvkbf1= background.js:122:17
5 disable tab monitoring background.js:249:13
5 http://d9-theme.ddev.site/themes/custom/digico/css/digico.global.min.css?qvkbf1= matches rule Digitalcourage DDEV background.js:184:21
5 http://d9-theme.ddev.site/themes/custom/digico/css/digico.global.min.css?qvkbf1= initialize monitoring background.js:194:21
SKIP http://d9-theme.ddev.site/themes/custom/digico/css/digico.global.min.css?qvkbf1= background.js:214:17
5 disable tab monitoring background.js:249:13
5 remove webrequests listener background.js:266:17
**can't access property "enabled", state is null**

Still nothing changes, no reload. I've tried to disable "Reload stylesheets without reloading the host page" but no difference.

Possibly fixed in fbfce2400be43dc82ee33fb0baf04891045341bf and Live Reload 1.8.3. Can you verify?
On my machine Error: Please use $(ref:runtime.getURL) seems to be non-fatal, so I'm not 100% sure this fixes your issue.

I'll consider this fixed.


Add docker to mac images

Tool name
docker
Tool license
Uncertain what our licensing issue is for Windows/Linux version. Would be the same on Mac.
Add or update?

[X] Add
[ ] Update

Desired version
latest
Approximate size
No response
Brief description of tool
I don't think I need to tell you folks what docker is. I'd be willing to put money on the fact that you know more about it than I do :)
That being said, right now, it comes pre-installed on the Windows and Linux images. What can I do to get a similar experience on mac? I'm willing to listen to suggestions here 👍
URL for tool's homepage
https://www.docker.com/
Provide a basic test case to validate the tool's functionality.
docker container create -p 5001:5001 -p 5000:5000 --name ambitious_azsdk_test_proxy azsdkengsys.azurecr.io/engsys/testproxy-lin:1108695
docker container start ambitious_azsdk_test_proxy

Virtual environments affected

[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[X] macOS 10.15
[X] macOS 11
[ ] Windows Server 2016
[ ] Windows Server 2019
[ ] Windows Server 2022

Can this tool be installed during the build?
To my knowledge, no. Whenever I have attempted installation of `docker` via any CLI, I need to restart the agent to see an affect.

This is why I want to say it's seemingly an agent level change.

Tool installation time in runtime
~5 minutes, mostly download time.
Are you willing to submit a PR?
Totally willing to help. Will just need some pointers on testing a macos specific change :)

Hello @scbedd. Thank you for your request. We will take a look.

Hi @scbedd!
Unfortunately, we can not add docker due to license restrictions. Please take a look at this issue and the advice given there https://github.com/actions/virtual-environments/issues/2150
I'm going to close this issue. Please feel free to contact us if you have any concerns.
Thank you!


Possible to support SQS?

nameko looks like a very nice project and it could be very helpful in our application.  That said, we use SQS.  Is it feasible to support SQS in nameko or does nameko require certain AMQP features?  If it's feasible, we'd be happy to take a look at adding the support (or at building a nemako-sqs overlay).

Hi, apologies for the slow reply here.
SQS support is certainly feasible. The way the project has evolved means we've probably made some assumptions that AMQP will be used, but that's not by design and shouldn't remain the case.
Nameko is organised around the notion of "extensions" and the AMQP features are implemented as such. My feeling is that SQS support should be implemented as a parallel set of extensions (so an entrypoint and proxy pair for RPC/synchronous calls and a dispatcher and handler pair for pub-sub/asynchronous messages). Writing these as subclasses of the AMQP ones might allow some amount of code reuse but the existing extensions weren't built with this in mind, so it may not be easy, at least for the time being.
An alternative approach would be to let kombu handle the differences. It is intended to be an abstraction on top of multiple transports and SQS is supported. There are certainly a few places where nameko assumes it's talking to RabbitMQ though, so we'd need to track those down. But as I said above, I think the nicest way would be a new set extensions that reused as much as possible of the AMQP ones (or a base class extracted out of them).
The good news is that SQS support is something that I'm pretty sure I'm going to need soon, so there's likely to be some progress in this direction in the next month or so. I'll keep this issue updated. What are your requirements? RPC, pub-sub, both or something else?

Any word on this?

This is a great idea -- probably needs to be SQS + SNS, however.
SQS doesn't do pub-sub -- there is no exchange or routing concept.
The pub-sub pattern for AWS combines SNS topics and SQS queues.


Fix FilterAppointment sequence diagram typo

Codecov Report

Merging #249 (f13ec66) into master (3c1beb4) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #249   +/-   ##
=========================================
  Coverage     80.43%   80.43%
  Complexity      988      988
=========================================
  Files           146      146
  Lines          2842     2842
  Branches        338      338
=========================================
  Hits           2286     2286
  Misses          478      478
  Partials         78       78

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 3c1beb4...f13ec66. Read the comment docs.


Update README for installing convert dependencies

To fully update dependencies, one must run npm install in the root directory and in convert/.
Updated README.md to document this procedure

@gmjgeek, @7dev7urandom :
I did the following:

clone the repo to a new folder
just did npm i in the root folder
generated data to the /data folder with SAB
ran npm run convert

It generated files just fine.
I tried to delete the /convert/package*.json files and npm run convert failed to run.
I tried to remove the dependencies in /convert/package.json and ran npm i to generate an "empty" package-lock.json file. I was able to run npm run convert from the root directory.
Do we need dependencies in /convert/package.json ?
@gmjgeek When was it failing and you needed to run npm i in the /convert directory ?

You should not need to run npm i in the /convert directory. As you noticed, the package.json file is necessary anyway. Just make sure any dependencies needed by the convert scripts are listed in the root package.json (which they are) and everything will work fine.

In https://github.com/sillsdev/appbuilder-pwa/pull/740, I removed the dependencies from the convert/package.json and removed the "npm i" in the convert directory (in the GitHub Action Workflows).


💔 [Malformed]: Invalid DNS filter syntax rules in DNS filter

Hello, fellow filterlist dev here.
Just letting you know that I noticed that your DNS filter contains rules with invalid syntax, such as rules containing $domain, $xmlhttprequest, as well as URLs such as example.com/ads, and rules that do not start with | or ||.
This may cause issues for some DNS blockers, could you please update the list to follow the AdGuard Home and PiHole syntax correctly?
The following sections have rules that should NOT be present in a DNS filterlist;
! {@1} Domains - wildcard (global)
! {@2} Domains - RegExp (global)
! {@4} Subdomains (global)
! {@6} Endpoints (site)
I use AdVoid.DNS with AdGuard Home, and I wish to avoid issues.
Here is a link to a filterlist with valid syntax to follow as a guide;
https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt

Hi 👋🏻 @Metrokoto, thank you for raising awareness of this issue.
I am actually aware of the ongoing issue that is present in the DNS filter list. The issue is caused by the automation system I made and use, which is still in the development stage and lacks some functionality to output proper DNS rules.

I use:

ADBT (templates)
Aria (compiler)

I maintain a single domains list of rules which get compiled into appropriate output filter files. The missing link is that modifiers should be stripped for the DNS list to be completely valid, which I plan to add during a week or two, depending on the amount of free time I have.
About other non-domain rules, you are right, I'll evaluate which rules need to be removed from the list completely.
Cheers. 🙋🏻♂

There will be another restructuring of AdVoid's rules soon and any rules that weren't removed by these commits will get removed then. Happy blocking! 🥳


Is it the framework doesn't support or the implementation of the model of keras model

Greetings,
I have been trying to implement my own model, but for some reason the function
"sym, params = nnvm.frontend.from_keras(model1)"
The whole code runs only this line doesn't run. and I don't get what's the error, the error window doesn't mention what is wrong just an empty window with
"Failed to download model cifar10
Error: "
and I was wondering what kind of model can be accepted. or this framework doesn't support any other model except the rebuilt in the framework.
The defined model was as followe:
if args.model == "cifar10":
model1 = keras.Sequential()
model1.add(keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=(32, 32,3)))
model1.add(keras.layers.MaxPooling2D((2,2)))
model1.add(keras.layers.Conv2D(64, (3,3), activation='relu'))
model1.add(keras.layers.MaxPooling2D((2,2)))
model1.add(keras.layers.Conv2D(64, (3,3), activation='relu'))
model1.add(keras.layers.Flatten())
model1.add(keras.layers.Dense(64, activation='relu'))
model1.add(keras.layers.Dense(10))
model1.summary()
model1.load_weights('model1_weights.h5')
from PIL import Image
from keras.applications.resnet50 import preprocess_input
img_url = 'https://github.com/dmlc/mxnet.js/blob/master/data/cat.png?raw=true'
download(img_url, 'cat.png')
img = Image.open('cat.png').resize((32, 32))
# input preprocess
data = np.array(img)[np.newaxis, :].astype('float32')
data = preprocess_input(data).transpose([0, 3, 1, 2])
shape1 = (1, 3, 32, 32) #input shape; need to be obtained from the model
shape_dict = {'input_1': shape1}
sym, params = nnvm.frontend.from_keras(model1)
target = 'llvm'

https://discuss.tvm.ai/t/how-implement-a-customized-keras-models-into-tvm-nnvm/6915


Mieszko Exchange - Week - 2

📝 Weekly Report For TNB Projects
Basic Details
🧪 Name of the Project: Mieszko Exchange
📅 Report Date: [02-26-2021]
📜 Team Work Report
✅ Accomplishments this week

Completed basic sending / receiving for the payments API
Fully implemented TNBC in the payments API
Started to implement BTC & LTC in the payments API

🚩 Goals for next week

Finish LTC in payments API
Finish exchange API (or get as close as possible)

🔭 Long term goals

Use payments API in exchange API
Use exchange API in frontend

👨💻👩💻 Team Members Contribution Details

Completed basic sending / receiving for the payments API
Fully implemented TNBC in the payments API
Started to implement BTC & LTC in the payments API

approved


Allow :nothing action for reboot, ips_package, paludis_package resources

Without a :nothing action as inherited from the superclass, you can't have the reboot resource get notified by some other resource, i.e. the code in our docs doesn't work.
Is there ever a situation in which :nothing shouldn't be a valid action? I see a couple other resource declarations in here that are redefining the @allowed_actions ivar instead of pushing actions onto it.

:+1: , thinking about this, i feel there are lot of community HWRP has this. A quick scan on master revealed two more :-(
Chef::Resource::IpsPackage
Chef::Resource::PaludisPackage

yep, those are all bugs
:+1:

Ok to merge now @lamont-granquist ?

:+1:


Not able to connect kernal

Type: Bug
After starting the py kernel in the folder I am working on using the terminal, I pasted the URL in the VS Code to use that kernal, but it shows connection error.
But if I paste the same link the browser it works
Extension version: 2023.7.1002162226
VS Code version: Code 1.81.1 (6c3e3dba23e8fadc360aed75ce363ba185c49794, 2023-08-09T22:22:42.175Z)
OS version: Windows_NT x64 10.0.23526
Modes:

System Info

Item
Value

CPUs
AMD Ryzen 5 5500U with Radeon Graphics          (12 x 2096)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
7.34GB (0.86GB free)

Process Argv
C:\Users\kunta\Documents\Languages_and_Developments\Python\Fellowship\SIRTUIN6\SIRTUIN6_NEW.ipynb --crash-reporter-id 2f401b75-80db-4ea0-99c4-15616fc605d5

Screen Reader
no

VM
0%

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593:30376534
pythonvs932:30410667
py29gd2263:30792226
vscaat:30438848
vsclangdf:30486550
c4g48928:30535728
dsvsc012:30540252
pynewext54:30695312
azure-dev_surveyone:30548225
vsccc:30803844
282f8724:30602487
89544117:30613380
a9j8j154:30646983
showlangstatbar:30737416
03d35959:30757346
pythonfmttext:30731395
fixshowwlkth:30771522
showindicator:30805244
pythongtdpath:30769146
i26e3531:30792625
gsofb:30804716
pythonnosmt12:30797651
pythonidxptcf:30805731
pythonnoceb:30805159
dsvsc013:30795093
dsvsc014:30804076
diffeditorv2:30821572

Thanks for filling this issue
Please can you share the logs and details of the error message
Also please could you share the cli used to start Jupyter in the terminal
Please could you enable logging as follows:

Open settings & go into Jupyter->Logging
Change the value to verbose
Reload VS Code,
Attempt to repro the issue & then copy the output from the Jupyter output panel.

Just out of curiosity, why do you start Jupyter locally and connect to it as though it was a remote server, that option was built primarily for connecting to remote servers,
locally You could instead just select the python env or the Jupyter kernel from the kernel picker, and that would be much simpler,
I’m only adding to understand what’s missing do that it can be improved

Jupyter log:
11:56:51.162 [debug] Updating cache with Remote kernels
connectToLiveRemoteKernel:'43273fb6-448c-4770-9215-61d580ee4a03
(interpreter id = )', Added =
connectToLiveRemoteKernel:'43273fb6-448c-4770-9215-61d580ee4a03
(interpreter id = )', Updated = , Removed =
11:57:11.087 [warn] Password for http://localhost:8888/tree/ was invalid.
11:57:11.103 [debug] Disposing session manager
11:57:11.103 [debug] SessionManager - dispose contents manager
11:57:11.103 [debug] ShutdownSessionAndConnection - dispose session manager
11:57:11.104 [warn] Uri verification error [t [Error]: Invalid response: 404
Not Found
at t.create
(c:\Users<username>.vscode\extensions\ms-toolsai.jupyter-2023.7.1002162226-win32-x64\out\extension.node.js:2:68150)
at process.processTicksAndRejections
(node:internal/process/task_queues:96:5)
at async t.listRunning
(c:\Users<username>.vscode\extensions\ms-toolsai.jupyter-2023.7.1002162226-win32-x64\out\extension.node.js:2:55954)
at async gm.getRunningKernels
(c:\Users<username>.vscode\extensions\ms-toolsai.jupyter-2023.7.1002162226-win32-x64\out\extension.node.js:17:169061)
at async Promise.all (index 0)
at async ko.validateRemoteUriNew
(c:\Users<username>.vscode\extensions\ms-toolsai.jupyter-2023.7.1002162226-win32-x64\out\extension.node.js:2:1707330)
at async r.value
(c:\Users<username>.vscode\extensions\ms-toolsai.jupyter-2023.7.1002162226-win32-x64\out\extension.node.js:24:570971)]
{
response: L [Response] {
size: 0,
timeout: 0,
[Symbol(Body internals)]: { body: [PassThrough], disturbed: true, error:
null },
[Symbol(Response internals)]: {
url: 'http://localhost:8888/tree/api/kernels?1693204031089',
status: 404,
statusText: 'Not Found',
headers: [T [Headers]],
counter: 0
}
},
traceback: ''
}
11:57:11.115 [debug] Finished disposing jupyter session manager
On Mon, Aug 28, 2023 at 3:45 AM Don Jayamanne @.***>
wrote:

Thanks for filling this issue
Please can you share the logs and details of the error message
Also please could you share the cli used to start Jupyter in the terminal
Please could you enable logging as follows:

Open settings & go into Jupyter->Logging
Change the value to verbose
Reload VS Code,
Attempt to repro the issue & then copy the output from the Jupyter
output panel.

—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode-jupyter/issues/14191#issuecomment-1694774423,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AY6USJKO6P7PDCOPTYXASHLXXPBGPANCNFSM6AAAAAA4AK6HDQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

If I use the kernels that are available in the VS code then some of the
packages don't work and sometimes it shows to install ipykernel although
it's already installed.
So I just start the jupyter in the terminal using the "jupyter notebook"
command. After that I copy and paste the URL from the terminal to the VS
Code.
Earlier it used to work but after installing the latest version of the
jupyter, it has stopped working.
[image: image.png]
On Mon, Aug 28, 2023 at 3:48 AM Don Jayamanne @.***>
wrote:

Just out of curiosity, why do you start Jupyter locally and connect to it
as though it was a remote server, that option was built primarily for
connecting to remote servers,
locally You could instead just select the python env or the Jupyter kernel
from the kernel picker, and that would be much simpler,
I’m only adding to understand what’s missing do that it can be improved
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode-jupyter/issues/14191#issuecomment-1694775227,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AY6USJKONDLTLF6R23F44D3XXPBUXANCNFSM6AAAAAA4AK6HDQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hi,
I have the same error. Logs below. Note it says invalid password warning. However, same token used as in browser. Jupyter Server version 2.7.2.
17:02:31.485 [warn] Password for [redacted]/tree was invalid.
17:02:31.557 [debug] Disposing session manager
17:02:31.557 [debug] SessionManager - dispose contents manager
17:02:31.557 [debug] ShutdownSessionAndConnection - dispose session manager
17:02:31.557 [warn] Uri verification error t [Error]: Invalid response: 404 Not Found
    at Function.create (~/.vscode/extensions/ms-toolsai.jupyter-2023.7.1002162226-darwin-arm64/out/extension.node.js:2:68150)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at Object.t.listRunning (~/.vscode/extensions/ms-toolsai.jupyter-2023.7.1002162226-darwin-arm64/out/extension.node.js:2:55954)
    at gm.getRunningKernels (~/.vscode/extensions/ms-toolsai.jupyter-2023.7.1002162226-darwin-arm64/out/extension.node.js:17:169061)
    at async Promise.all (index 0)
    at ko.validateRemoteUriNew (~/.vscode/extensions/ms-toolsai.jupyter-2023.7.1002162226-darwin-arm64/out/extension.node.js:2:1707330)
    at r.value (~/.vscode/extensions/ms-toolsai.jupyter-2023.7.1002162226-darwin-arm64/out/extension.node.js:24:570971) {
  response: L [Response] {
    size: 0,
    timeout: 0,
    [Symbol(Body internals)]: { body: [PassThrough], disturbed: true, error: null },
    [Symbol(Response internals)]: {
      url: '[redacted]/tree/api/kernels?1693234951490',
      status: 404,
      statusText: 'Not Found',
      headers: [T [Headers]],
      counter: 0
    }
  },
  traceback: ''
}
17:02:31.576 [debug] Finished disposing jupyter session manager

@zensayyy Thanks for the fix. I have been having the same problem for the last few days. @DonJayamanne any word on progressing this?

This has been verified as fixed In the latest version of the Jupyter extension which will be released sometime this week,

The latest version has been released.
Please update VS Code and Jupyter extnsion.
Closing tihs issue.
If this still exists, please do ping here or feel free to create a new issue.


Make decrypt method read api_key and api_secret from secrets.json

The decrypt method on the Bittrex class was not actually reading
credentials from secrets.json. This commit adds that.
Justification:
I don't currently understand how the decrypt method is supposed
to be used. The way I understand this and would personally use
python-bittrex in production is as follows:

I would first create a secrets.json file (using for example
the static encrypt function or preferrably a dedicated secrets.json
creator). This could be done anywhere, for example offline.
I would then upload the secrets file to an Internet-connected
machine such as a VPS server and start running a trading script
that utilizes python-bittrex as a dependency.
When starting up the trading script, the trading script utilizing
python-bittrex would call the decrypt method, I would provide the password
for decripting credentials from secrets.json and decrypt method then
carries on and the trading script can continue doing its thing.
Now if the machine that the trading script was on gets compromized,
the api_key and api_secret are not leaked.

In summary: this commit aims to make the above a reality.
Suggested further improvements: standalone secrets.json generator

Pretty late to this conversation, but I was the contributor for the encrypt/decrypt portion. First, I have to say I am not really a security expert.
The original intent was to just have the option encrypting the contents of secrets.json. A design goal was to minimize the deviation from how the package would normally work without it.
With this scheme, the difference between using an encrypted secrets.json versus one that is not is just adding my_bittrex.decrypt() after initializing my_bittrex with credentials.
Hope this gives more clarity for the rationale. My apologies if I've introduced someting unintuitive to this awesome repo.


funsd_preprocess.py does not exist

Hi - Am trying to debug a few issues I am facing here, upon detailed examination it seems that this part of the readme does not exist anymore, i.e. I cannot find the 'scripts' folder anywhere inside layoutlm to find the funsd_preprocess.py:
First, we need to preprocess the JSON file into txt. You can run the preprocessing scripts funsd_preprocess.py in the scripts directory. For more options, please refer to the arguments.

Guess they renamed funsd_preprocess.py to preprocess.py and stored it here: https://github.com/microsoft/unilm/tree/master/layoutlm/examples/seq_labeling
I'm currently working with the code in preprocess.py

@r000bin thanks for the info, to anyone else facing issue - I had previously forked old version, this version works for me:  https://github.com/elnazsn1988/unilm/tree/master/layoutlm


Don't run tests on master.

bors should be allowed to build this, but no Travis build should kick off after it is merged.

bors try

bors ping

bors try


Error: Creation of temporary directory failed, path = '/Users/username/.pub-cache/_temp/dir' (OS Error: Permission denied, errno = 13)

Steps to Reproduce
Every time I try to use a flutter or dart command, this error is produced. Please look at the logs.
I'm not sure if this is platform specific. I cannot use either the Flutter and Dart command line tools. Error included below.
I cannot even do flutter doctor -v which is commonly asked on this platform.
I will be trying to reinstall the flutter tool, but any fixes would be welcome.
Details of my computer:
MacBookAir 13 inch Early 2015 model.

Logs
Ranjiths-MacBook-Air-2:client ranjithrd$ flutter doctor -v
Building flutter tool...
Creation of temporary directory failed, path = '/Users/ranjithrd/.pub-cache/_temp/dir' (OS Error: Permission denied, errno = 13)
Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (9 tries left)
Creation of temporary directory failed, path = '/Users/ranjithrd/.pub-cache/_temp/dir' (OS Error: Permission denied, errno = 13)
Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (8 tries left)
Creation of temporary directory failed, path = '/Users/ranjithrd/.pub-cache/_temp/dir' (OS Error: Permission denied, errno = 13)
Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (7 tries left)
Creation of temporary directory failed, path = '/Users/ranjithrd/.pub-cache/_temp/dir' (OS Error: Permission denied, errno = 13)
Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (6 tries left)
Creation of temporary directory failed, path = '/Users/ranjithrd/.pub-cache/_temp/dir' (OS Error: Permission denied, errno = 13)
Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (5 tries left)
Creation of temporary directory failed, path = '/Users/ranjithrd/.pub-cache/_temp/dir' (OS Error: Permission denied, errno = 13)
Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (4 tries left)
Creation of temporary directory failed, path = '/Users/ranjithrd/.pub-cache/_temp/dir' (OS Error: Permission denied, errno = 13)
Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (3 tries left)
Creation of temporary directory failed, path = '/Users/ranjithrd/.pub-cache/_temp/dir' (OS Error: Permission denied, errno = 13)
Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (2 tries left)
Creation of temporary directory failed, path = '/Users/ranjithrd/.pub-cache/_temp/dir' (OS Error: Permission denied, errno = 13)
Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (1 tries left)

I reinstalled the Flutter SDK and it started working.

Closing this as fixed based on the last message


typo fix in README.md example

missing = is added;
tabs are converted to spaces, and a space before { is added - to make formatting more consistent with other examples.

This is already fixed in incoming release. https://github.com/spoike/refluxjs/blob/v0.2.8-alpha/README.md


Add janjagusch as maintainer

I would like to help maintain this feedstock.

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged) (I believe this doesn't apply when only adjusting the maintainers)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

Please use @conda-forge-admin, please add user @janjagusch in future in a new issue.


Make Yaml as default examle formatting

Which problem is this feature request solving?
While JSON is practical, Yaml is the most common format to define structures. This is true for example with defining REST APIs with Open API spec. JSON is more machines, but Yaml is more simple to write and understand by (most of the) humans.
Describe the solution you'd like
Make Yaml as default to the examples column
Describe alternatives you've considered
None
Can you submit a pull request?
Yes

---- Leave intact! Approval of Contributor Agreement -----
By submitting issue you approve the Contributor Agreement, https://governance.opendataproducts.org/v1/contributions/contributor-agreement

All examples updated to YAML. Considered as resolved. Closing.


require tagged version of pantheon-edge-integrations

Updates the composer.json to use the tagged version of pantheon-edge-integrations

TODO: Create a release after merge.

Side note: should we consider standardizing release naming conventions? e.g pantheon-systems/pantheon-edge-integrations prepending releases with v vs not doing so in this plugin.

I guess it sort of depends on what's standard in Drupal...
Rob dropped a release of pantheon-edge-integrations with a v and I followed suit when I made an update with the new headers. Worth chatting about with them. I can follow up in Slack perhaps, or we can chat in our next standup with them.


History flow (top of RUP) isn’t generating an entry when an amendment is started

Somehow we need to be able to tell that the RUP we are looking at/working on is an amendment.
Allowing the history to be built on for the version that is a result of an amendment (with the history remaining the same for the pre-amendment versions) would be one useful way of doing that.

This may require us adding an amendment column to the plan_status_history table, as well as changing some of the status endpoints.

Would be OK to have an amended version with a history that:

starts with an entry that amendment was generated
prompts whoever starts the amendment to provide a comment on what the amendment is about
that comment is displayed in the history

Maybe something to consider at the same time since the workflows are so interconnected:

when submitting a new RUP to AH we’ve had several requests that the staff person be able to enter a comment (like when requesting/responding to feedback) to provide info on what needs to be done (I think we had/have an issue for that as an enhancement)
mandatory amendments and new RUPs are essentially the same except one is started from a blank RUP and another is started from a “copy” of the most recent legal

@LisaMoore1 I think this is worth revisiting based on the new amendment statuses. Let me know if that fits the requirements here. I've also reduced the estimate to 0 here since that effort was capture elsewhere.


image size > viewport size

Hi.
I used croppie.js.
The size of the image is always larger than the size of the Viewport.
The minimum size of the image should be set to the width of the boundary,
If you modify the Viewport, dragging will not move the "cr-overlay, cr-image" to the end of the boundary.
Anyone know how to fix this?

I noticed that the cropped image size is always 4px larger on each dimension than the viewport size. This is happening because it's adding the border and it can be fixed by the following css update
.cr-viewport { box-sizing: border-box; }
Not sure if that is what the OP's issue is.

Have the same problem, can I scale image down to fit it in the boundary?


[occm] add member name as key when comparing pool members

What this PR does / why we need it: we are currently facing issue when reusing the ip address (same port) with newer instance. We are using kOps for provisioning our cluster. kOps is reusing ports and the only thing that is changing is instance name.
this leads to following situation https://gist.github.com/zetaab/4f28c515d1d1dd792d526dbd6a69e4aa (loadbalancer member names does not match to kubernetes node names) and for some reason the loadbalancer ends to operating status ERROR. When we force the update if node / instance name is updated at least this got solved.
Which issue this PR fixes(if applicable):
fixes #
Special notes for reviewers:

Release note:

Pool members are forced to update if the instance name is modified

/kind bug

@jichenjc can you help reviewing this. Not huge change, but solves at least our problem.

kops executes rolling update to machines it marks nodes as weight 0. It is because kops is draining connections away from that machine. However, now the problem is that new machines are using same ipq. It means that openstack cloudprovider does not recreate the lb pool members. When it does not do that the weight stays 0 and lb pool member names are also out-of-date.

/lgtm
/approve