Consider architecture for fetching config files

As a:

non-technical end user who is not very familiar with command-line arguments; or
a semi-technical end user who is ok with reading docs and following instructions; or
an expert use who wants access to all possibilities

I want to be able to:

easily fetch a Mainnet / Fairground / other network config from somewhere
ensure the fetched config file is up to date and correct

I understand I can already:

vegawallet network import --from-file PATH_TO_NETWORK
vegawallet network import --from-url URL_TO_NETWORK

but

What if the network validator list changes, and my local one is now out of date?
What if I'm using an old release of vegawallet?
What if I run vegawallet network import --from-url URL_TO_NETWORK today on one machine, then tomorrow I run the same command on a different machine, and now my 2 machines act differently (because different files were downloaded). How can I tell that these machines are configured differently?

See also

#346
#373

Discussion

Should new commandline commands/args be added?
Should any  commandline commands/args be removed?
(from @davidsiska-vega) "If someone was to hijack the network config source and pointed many user wallets to a rogue network, could they do anything nefarious with it?" (Slack thread)
Other questions in comments, please.

If the embedded network configuration functionality is only going to be used for fairground, I would rather get rid of it, as network import can do the job just fine, and will avoid us extra work, and slim down the codebase


Remove configuration file

It seems that they are not used that often, and can be replaced by setting a custom topology for a given trajectory.
Not having configuration files also remove an implicit and mostly invisible dependency on filesystem state.
Fixes #400

I'll merge this in a few days if nobody disagree


Ping-pong example?

Please provide an example of setting up a ping/pong heartbeat.
I've tried the following, but the ping is never sent.
app.ws('/', function(ws, req) {
ws.on('connection', function(conn) {
        console.log('websocket connected');
        setInterval(function timeout() {
            ws.ping("heartbeat");
        }, 500);
    });
)};

Hello there, I think the ws variable is already a connection, you should just be able to do like this:
app.ws('/', function(ws, req) {
  console.log('websocket connected');
  setInterval(function timeout() {
    ws.ping("heartbeat");
  }, 500);
)};

Yes that works, thanks :-)


Configurable naming conventions for quick-actions

Given the following code, with the code at the | symbol:
public class Foo
{
     public Foo(IBar bar|) // <- cursor at bar here
     {
     }
}

I have a quick-action available to create a property or private field and assign the argument to it. Is there any way I can configure the naming conventions for those?
The current convention for the field results in
public class Foo
{
     private readonly IBar bar;
     public Foo(IBar bar)
     {
         this.bar = bar;
     }
}

but I would prefer
public class Foo
{
     private readonly IBar _bar;
     public Foo(IBar bar)
     {
         _bar = bar;
     }
}

Since I realize this is a matter of preference, I don't expect you to change this for everybody, but it would be nice if it was configurable. (And once there is a configuration system for it, I bet there are other places as well where it would make sense to expose options...)

Thanks for the request! I agree that we need a way to configure this. The configuration system we intend to use for this is .editorconfig, which is what we're using in Visual Studio as well. We're tracking support for editorconfig with https://github.com/OmniSharp/omnisharp-vscode/issues/1726. That issue only mentions formatting options, but the editorconfig support will include naming options as well.


Custom translator - ability to get supported languages using an API

Hey, inspired by your code at https://github.com/LibreTranslate/LibreTranslate/issues/55 for LibreTranslate, I tried to extend it to also retrieve the supported languages from the LibreTranslate API. This is what I have so far:
class LibreTranslator {

    static server = "translate.terraprint.co"
    static apiKey = ""

    translate = (text, from, to) => {
        var form = new FormData();
        form.append("q", text);
        form.append("source", from);
        form.append("target", to);
        form.append("format", "text");
        form.append("api_key", this.apiKey);

        return fetch("https://" + this.server + "/translate", {
            credentials: "omit",
            headers: {
                "User-Agent": Navigator.userAgent,
                Accept: "*/*",
                "Accept-Language": "en-US,en;q=0.5",
                "Sec-Fetch-Dest": "empty",
                "Sec-Fetch-Mode": "cors",
                "Sec-Fetch-Site": "same-origin",
            },
            body: form,
            method: "POST",
            mode: "cors",
        })
            .then((r) => r.json())
            .then(({ translatedText }) => translatedText);
    };

    translateBatch = (texts, from, to) =>
        Promise.all(texts.map((text) => this.translate(text, from, to)));

    getLengthLimit = () => 4000;
    getRequestsTimeout = () => 300;
    checkLimitExceeding = (text) => {
        const textLength = !Array.isArray(text) ? text.length : text.reduce((len, text) => len + text.length, 0);

        return textLength - this.getLengthLimit();
    }

    static isSupportedAutoFrom = () => true;

    static getSupportedLanguages = () => {
 	const data = fetch("https://" + this.server + "/languages")
	    .then((r) => r.json())
	    .then((json) => {
		console.log(json.map(languages => languages.code));
	        return json.map(languages => languages.code);
  	    });
    }
}

console.log(LibreTranslator.getSupportedLanguages());

The print statement in the function works, but I can't figure out how to make the return statement work. I believe this has something to do with the fact that the fetch statement is asynchronous, and I see this is also the case with the translate and translateBatch functions, but these account for the fact that they return a Promise, whereas getSupportedLanguages doesn't.
Do you think it is possible to fix it in this code block, or is there a change needed in the way getSupportedLanguages is handled in the rest of the code for this functionality?

getSupportedLanguages should return string, not a Promise<string>
You can just copy array.
This API design is necessary to read translator metadata instantly (not async) and to select most suite translator from list of translators

You can look at GoogleTranslator as reference implementation of Translator https://github.com/translate-tools/core/blob/master/src/translators/GoogleTranslator/index.ts

Thanks for the response, it was fun to try out

I've parsed this url, you can just insert this languages list:
[
  "en",
  "ar",
  "az",
  "zh",
  "cs",
  "nl",
  "eo",
  "fi",
  "fr",
  "de",
  "el",
  "hi",
  "hu",
  "id",
  "ga",
  "it",
  "ja",
  "ko",
  "fa",
  "pl",
  "pt",
  "ru",
  "sk",
  "es",
  "sv",
  "tr",
  "uk",
  "vi"
]


Depending on contrib

How would I add the stdlib's contrib with elba, without adding the manifest file to the contrib folder? I tried just adding idris_opts = ["-p contrib"] in the target manifest, but I get
The following packages were specified but cannot be found:
-  contrib

When passing options, each option should be its own element in the list, so your idris_opts key should read instead as: idris_opts = ["-p", "contrib"].


Identifiers validation failed for dataset SD - SD Herbarium, San Diego Natural History Museum

Identifier validation failed for the dataset SD - SD Herbarium, San Diego Natural History Museum:

Crawler attempt: 247
Publishing organization: San Diego Natural History Museum
Publishing country: UNITED_STATES
Installation: Consortium of California Herbaria, CCH2 Portal
Number of occurrences indexed for this dataset at the time of the issue: 269977
Cause: GBIF ID problems exceed 50% threshold: 94% duplicates; 258 total records; 242 absent records
Pipelines execution steps: http://api.gbif.org/v1/pipelines/history/execution/3757467/step

New IDs sample:

3115050
3115047
3115045
4665599
4665625
4665593
1965791
3112731
5978274
3115049

Old IDs sample:

BE5E848F-47A8-4970-B2CD-F83A8DD76049
6F2E8DB9-4FAB-4F00-8DB8-081A3DB348CA
430BA57A-22D1-4B11-AA17-9AA3EF46CD11
0F54DC1B-E343-4F82-9FB9-51C2A94A38B2
4E57B202-3019-49FA-B5D6-D7399DBDA4E7
98FB98C2-3EC5-419D-8E1C-E8726C394360
88703B4F-37E3-4662-9FEA-02FA6E3D2129
DEA65693-5414-481C-9CFF-248AF5FD1B61
7835FF23-A66D-4DB5-9AE0-6E1FBB8DA86A
327D886E-3F24-4A85-8C75-A51ED052203B

Publisher email
Hello,
I am contacting you from the GBIF Secretariat about a dataset published by the SD - SD Herbarium, San Diego Natural History Museum : https://doi.org/10.15468/lneqwn.
We noticed that the occurrenceIDs were changed. We have temporarily paused the ingestions of this dataset.
As you might already know, when an occurrence record has a new occurrenceID for a given dataset, our system considers it to be a new occurrence.
This means that it will be given a new gbifid and a new occurrence URL (like this one: https://www.gbif.org/occurrence/1252968762) and the old gbifid and URL will be deprecated.
In this case, this means that the occurrence URLs would be deprecated when ingesting the newest versions of these datasets.
We would like to check with you if those changes were intentional. Do you know if this is the case?
Please let us know, thanks! We are happy to resume the dataset ingestion.
Note that some users rely on those occurrence URLs and gbifids (like https://bionomia.net for example). In an attempt to improve
the stability of the occurrence URLs and gbifids, we have implemented a warning system to detect these type of changes in datasets (see this news item).
If the data publisher can provide us with a list of old and new occurrenceIDs per record, we can avoid the identifier and URL changes. Could that be an option?
Please let us know if you have any question. Thanks!
All the best,

You can skip/fix identifier validation using the registry UI.

I think there is a problem with reading in the archive because when I download it, there are 269977 records.

I think some records are missing. There are only ~250 on in archive when you download it.


Permission on key file should be 500 and not 700

Hello,
Permission on key file should be 500 and not 700. The daemon (and anyone else) is supposed to write in the key files.
Sep 18 17:49:50 cs3 mina[127088]: The key was corrupted: insecure permissions on `/home/XXXX/XXXX/keys`. They should be 0700, they are 500
Sep 18 17:49:50 cs3 mina[127088]: Hint: chmod 700 /home/XXXX/XXXX/keys

Cheers,
Octave

A permission of 500 means a directory is readable and executable, but not writable by the user. That means files cannot be created in the directory.
A permission of 700 adds writability to the directory.
$ mkdir foo
$ chmod 500 foo
$ ls -l | grep foo
dr-x------  2 steck steck      4096 Sep 20 20:07 foo
$ chmod 700 foo
$ ls -l | grep foo
drwx------  2 steck steck      4096 Sep 20 20:07 foo


Select feedback and thank you reply

Is your feature request related to a problem? Please describe.

I want add a project in which  one can selete feedback and get a response.

Describe the solution you'd like

UI design for feedback in which user selecte feedback option by click send and receive a thank you message for giving feedback.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context

I'm a GSSOC'22 contributor please assign this to me .

Steps Followed✅
Check the box with [x] If you followed all the steps.

[x] Is your feature request related to a problem? Please describe.
[x] Describe the solution you'd like
[ ] Describe alternatives you've considered
[x] Additional context

Code of Conduct✅

[x] I agree to follow this project's Code of Conduct.
[x] I checked the current issues for duplicate problems.
[x] I have gone through project README.

@Astrodevil,  kindly  assign this to me


Biome 	Failure message: Infernal Expansion (infernalexp) has failed to load correctly 		java.lang.ExceptionInInitializerError: null

Describe the Bug
Crash when starting the game. I'm getting this report more and more lately.
https://gist.github.com/Jetpack-Cat/6d4a9862251d0ab70fe5a484f65dc634

Reproduction Steps

Start game, randomly crash.

Expected Result
Not to crash
Screenshots and Videos
No response
Operating System
Windows 11
Mod Version
2.5.0
Minecraft Version
1.16.5
Forge Version
36.2.39
Other Mods
https://www.curseforge.com/minecraft/modpacks/jetpack-cat/relations/dependencies
Additional Context
No response

Interesting... According to that, Forge itself is failing... I'll talk to the team and see what we can figure out

Duplicate of #401, #405


Popover doesn't work

Issue and Steps to Reproduce
The current component doesn't work.
We have this error :
### Element type is invalid: expected a string (for built-in components) or a class/function but got: undefined.
You likely forgot to export your component from the file it's defined in, or you have mixed up default and name imports.
Check the render method of 'AnimatedPopover'
The import is the following :
import Popover, { PopoverBase } from '@axa-fr/react-toolkit-popover';
The use of case is the following :
<PopoverBase
         className="af-popover__container af-popover__infos"
         isOpen={isOpen}
         placement="top"
         onToggle={event => {
           onToggle(isOpen);
           setTimeout(onToggle, 3000);
         }}
       >
         <Popover.Pop>

Infos contrat

Nom :

{studyName}

Collège :

{studyCollege}

Dernière modification :

               {studyLastupdateDate}
                setPopinLastSaveDisplay(true)}
               >
                 <Icons icon="reset" />

                   Retour à la dernière sauvegarde

Saisie :

{studyStatus}

         </Popover.Pop>
         <Popover.Over>
           <Infos
             infos={[
               { word: 'Nom :', definition: studyName },
               { word: 'Collège :', definition: studyCollege },
               { word: 'Saisie :', definition: studyStatus },
               {
                 word: 'Dernière modification :',
                 definition: studyLastupdateDate,
               },
             ]}
           />
         </Popover.Over>
       </PopoverBase>

Versions
"@axa-fr/react-toolkit-core": "^1.0.0",
"@axa-fr/react-toolkit-all": "1.0.0",
Screenshots

Expected
By following this link below, you can see the expected result.
https://axaguildev.github.io/react-toolkit/storybook/v1.0.0/index.html?knob-classModifier=&knob-className=&knob-placement=right&knob-mode=hover&knob-isOpen=true&selectedKind=Popover&selectedStory=PopoverBase&full=0&addons=1&stories=1&panelRight=1&addonPanel=storybook%2Factions%2Factions-panel
Actual
The component doesn't work.

Installed packages:
...
"@axa-fr/react-toolkit-core": "^1.0.0",
"@axa-fr/react-toolkit-all": "1.0.0",
...

Hi @barry-thierno
Before close this issue, i find a bug on click event Popover.
You can see it on browser console here : https://axaguildev.github.io/react-toolkit/latest/storybook/?path=/story/popover--popoverbase

Hello @samuel-gomez-axa, @QuentinBarroin
I try to use popover but I have error with click mode.
Nothing is open and I have this errors on console :

First error is on page load
Second error is on click
In hover mode, everything is OK


Add linalg max native implementation

@lambday @iglesias Max function for vectors is also available in CMath. We can remove it from CMath if we are adding it here after the C++11 issue is resolved.

Changes Unknown when pulling 6adedb2d9fe760d7d57197e26c637a4ff3b4b87f on sanuj:feature/linalg_max_impl into ** on shogun-toolbox:develop**.

Perfect, thanks. Travis and merge.

Coverage decreased (-0.01%) to 74.8% when pulling 89dbbd0539ea50fc25dfeb572c1ae596e914cf80 on sanuj:feature/linalg_max_impl into 2d874c6e13526af34ee82bc104e6ae7e336e34b6 on shogun-toolbox:develop.


Not building with OpenSSL 1.1.1

I can't build this lib using OpenSSL 1.1.1, probably because of the outdated reqwest dependency. I can make a PR to address this issue :)

@quinlanj do you mind releasing a 0.1.1 with this fix? I can confirm that this also fixes the issue for me.


Departing Employee client support for v2 API

EDIT
Changed methods as per V2 APIs and refactored tests.
Created PR for early review.

@kiran-chaudhary can you update docs/userguides/departingemployee.md to reflect the new methods?

@kiran-chaudhary can you update docs/userguides/departingemployee.md to reflect the new methods?

Done.


dbeaver-bin: add wrapGAppsHook

Description of changes
add wrapGAppsHook to nativeBuildInputs, for the app crashes when opening the file selection box
eg. create new connection -> select sqlite -> click open
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

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

Changes look good, but you can squash both commits.

thanks for review, use wrapGAppsHook3 explicitly


qt5 cannot be downloaded on my pc

          Hi @liangshoulong @chen610620, thanks for reporting this issue.

Since qt has been upgrade to 5.12.4, we fixed this issue. Please update vcpkg and rebuild qt5.
Thanks.
Originally posted by @JackBoosY in https://github.com/microsoft/vcpkg/issues/5881#issuecomment-531622876
Hi, this question merged again on my PC. qt5 version is 5.15.11 and my vcpkg is downloaded just now. while i am using the command: ./vcpkg install qt5:x64-windows-static
my error is below:
10070@DESKTOP-5O9L071 MINGW64 ~/Workspace/vcpkg (master)
$ ./vcpkg.exe install qt5:x64-windows-static
Computing installation plan...
The following packages will be built and installed:

brotli:x64-windows -> 1.1.0
brotli:x64-windows-static -> 1.1.0
bzip2[core,tool]:x64-windows -> 1.0.8#5
bzip2[core,tool]:x64-windows-static -> 1.0.8#5
double-conversion:x64-windows -> 3.3.0
double-conversion:x64-windows-static -> 3.3.0
egl-registry:x64-windows -> 2022-09-20
egl-registry:x64-windows-static -> 2022-09-20
freetype[brotli,bzip2,core,png,zlib]:x64-windows -> 2.12.1#4
freetype[brotli,bzip2,core,png,zlib]:x64-windows-static -> 2.12.1#4
harfbuzz:x64-windows-static -> 8.2.1
harfbuzz:x64-windows -> 8.2.1
libjpeg-turbo:x64-windows -> 3.0.0#2
libjpeg-turbo:x64-windows-static -> 3.0.0#2
liblzma:x64-windows-static -> 5.4.3#1
libpng:x64-windows -> 1.6.39#1
libpng:x64-windows-static -> 1.6.39#1
libwebp[core,libwebpmux,nearlossless,simd,unicode]:x64-windows-static -> 1.3.2
openssl:x64-windows -> 3.1.3
openssl:x64-windows-static -> 3.1.3
pcre2[core,jit,platform-default-features]:x64-windows -> 10.42#1
pcre2[core,jit,platform-default-features]:x64-windows-static -> 10.42#1
pkgconf:x64-windows -> 1.8.0#5
qt5[activeqt,core,declarative,essentials,imageformats,multimedia,networkauth,quickcontrols,quickcontrols2,svg,tools,translations,websockets]:x64-windows-static -> 5.15.11
qt5-activeqt:x64-windows-static -> 5.15.11
qt5-base:x64-windows -> 5.15.11#1
qt5-base:x64-windows-static -> 5.15.11#1
qt5-declarative[core,d3d12,platform-default-features]:x64-windows-static -> 5.15.11
qt5-graphicaleffects:x64-windows-static -> 5.15.11
qt5-imageformats[core,tiff,webp]:x64-windows-static -> 5.15.11
qt5-multimedia:x64-windows-static -> 5.15.11
qt5-networkauth:x64-windows-static -> 5.15.11
qt5-quickcontrols:x64-windows-static -> 5.15.11
qt5-quickcontrols2:x64-windows-static -> 5.15.11
qt5-svg:x64-windows-static -> 5.15.11
qt5-tools:x64-windows-static -> 5.15.11
qt5-translations:x64-windows-static -> 5.15.11
qt5-websockets:x64-windows-static -> 5.15.11
sqlite3[core,json1]:x64-windows -> 3.43.1
sqlite3[core,json1]:x64-windows-static -> 3.43.1
tiff[core,jpeg,lzma,zip]:x64-windows-static -> 4.6.0
vcpkg-cmake:x64-windows -> 2023-05-04
vcpkg-cmake-config:x64-windows -> 2022-02-06#1
vcpkg-cmake-get-vars:x64-windows -> 2023-03-02
vcpkg-pkgconfig-get-modules:x64-windows -> 2023-09-06
vcpkg-tool-meson:x64-windows -> 0.63
zlib:x64-windows -> 1.3
zlib:x64-windows-static -> 1.3
zstd:x64-windows -> 1.5.5#1
zstd:x64-windows-static -> 1.5.5#1
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x64-windows...
-- Automatically setting %HTTP(S)_PROXY% environment variables to "<IP_ADDRESS>:2802".
A suitable version of powershell-core was not found (required v7.2.11) Downloading portable powershell-core 7.2.11...
Extracting powershell-core...
'CMake' failed while extracting C:\Users\10070\Workspace\vcpkg\downloads\PowerShell-7.2.11-win-x86.zip.

Extracting powershell-core...
'CMake' failed while extracting C:\Users\10070\Workspace\vcpkg\downloads\PowerShell-7.2.11-win-x86.zip.

This is an error that occurs when extracting.

Duplicate of https://github.com/microsoft/vcpkg/issues/33904.


On/off not showing ios16

Hello,
I know that you are not frequently updating this plugin because you are now over on home assistant, but could you maybe see why the on/off scroll is not showing any letters?

I'm going to over the next few days do some dependency updates and see how it works after that. Not entirely sure how that could be caused by a plugin but we'll see if I can replicate it.

I feel I should add a bit of an update here. I've been busy, this isn't something I use directly etc etc.
However, tried looking at this a bit & getting weird issues with the unit tests (particularly around headers in axios/mocks). Not something I expected to break at all tbh. I'll poke about it a bit more this week but if anyone knows what might have changed in axios recently please let me know!

Ok ended up rolling axios back to a 0.x release & the tests are back to passing. It looks like there is some incompatibilities between the mocking library and axios v1 that have not been fixed yet.
Back to the original issue (since I just compared an iOS 15 & 16 device) - if it is the blue button you are talking about then it looks like that doesn't show any text if there are only two options (in our case heat/off). That doesn't seem to be a change. Is that what you were meaning?
If you want to hide the button entirely and only use the temperature settings you can add to the config "includeOffOption": false,.


Simplify usage of BigQuery's TableReference and DatasetReference Clas…

Description
Backport of PR #98 changing dataset -> dataset_ref and table_ref as per deprecations from 1.24 we require at least 1.25.
Checklist

[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] I have updated the CHANGELOG.md and added information about my change to the "dbt-bigquery next" section.

@McKnight-42 I'm going to close this out and not backport it to 1.0.2 and instead let this go to 1.1.0. Since its not a bug or regression, we will let it go into the next minor version release


(PUP-7781) Add payload_gpgcheck param to the yumrepo type

RHEL 7.4 introduces a new booelean parameter payload_gpgcheck to do a
signature check on the payload sections of packages before installing
it.

CLA signed by all contributors.

Is this going to break if someone tries to use this on an older OS version?

@Magisus  I've added unkown_param=xyz to [base] in CentOS-Base.repo file and ran yum update - the unkonwn param was silently ignored.
tested with CentOS 6 and CentOS 7.

Thank you for the contribution @vinzent. @Magisus i think we'll catch regression in CI if there is one?

Sounds good to me!


Update Uberenv and allow testing Uberenv update in Serac

With this PR, I intend to update Uberenv to benefit from improvements and bug fixes.
I am also introducing multi-project integration at a small scale: The goal is to allow Uberenv to trigger a pipeline in Serac testing if updating Uberenv in Serac is safe. This would allow to test Uberenv in several projects instead of manually propagate.
Note:
Another work that went a bit off the rails.
This PR adds a specific workflow for master branch: builds with dependencies using uberenv.
This was necessary in this PR since otherwise uberenv was not used, and updating it wouldn’t make sense. So it’s kind of killing to birds with one stone.
I added some small improvements like the possibility to collapse log by steps, and better support for parallel compiling in build_and_test.sh (removing constraint on 4 parallel jobs only).

LGTM

(last comment is a sign off to trigger Gitlab CI)

Is this PR obsolete with after your other one?

Sorry I missed the question. Which other PR?
This PR is not obsolete, but it’s not a priority neither.
I would first have to complete uberenv update.

I'll reopen it since it's still in progress. Thanks for the update!

LGTM

LGTM

PR EDIT:
Another work that went a bit off the rails.
This PR adds a specific workflow for master branch: builds with dependencies using uberenv.
This was necessary in this PR since otherwise uberenv was not used, and updating it wouldn’t make sense. So it’s kind of killing to birds with one stone.
I added some small improvements like the possibility to collapse log by steps, and better support for parallel compiling in build_and_test.sh (removing constraint on 4 parallel jobs only).

LGTM


hcl2son directory

Is there a way to convert entire directory?

there was a typo
is there a way to convert hcl2json entire directory?

would find -name '*.hcl' -exec hcl2json '{}' \; (or a variant thereof) work?

thanks , that worked


Getting tons of debconf messages unless TERM is set to linux

debconf: unable to initialize frontend: Dialog
debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7, <> line 19.)
debconf: falling back to frontend: Teletype
dpkg-preconfigure: unable to re-open stdin:

ENV DEBIAN_FRONTEND noninteractive
worked as well to me!

:+1: for ENV DEBIAN_FRONTEND noninteractive

Why isn't ENV DEBIAN_FRONTEND noninteractive part of the default Dockerfile?

@christianbundy :+1:

The 'ENV DEBIAN_FRONTEND noninteractive' should be in the default Dockerfile or, at least, in the documentation, imho.

My PR (#252) was rejected, and I doubt that this will ever be resolved due to docker/docker#4032

As discussed in docker/docker#4032 and related discussions, setting ENV DEBIAN_FRONTEND noninteractive by default is a bad idea. What people really want is a way to set environment variables during 'docker build' without persisting them to the final container image. Unfortunately this is not something that we can fix, only the Docker guys can do this.

@FooBarWidget Instead, could we set ENV DEBIAN_FRONTEND noninteractive at the start of the build, and reset it back to the default before running the final command?

I haven't tried but I think that would work.

Using ARG instead of ENV would set the variable just for the build phase.

Although this is closed. I find when use sudo there need special attention.
NG: RUN sudo apt-get install -y xxxxxxx
OK: RUN sudo DEBIAN_FRONTEND=noninteractive apt-get install -y xxxxxxx
Good luck.

Why this is not "embedded" in the base image already?

I think the right choice is to set
ENV DEBIAN_FRONTEND noninteractive

At the beginning of each Dockerfile and set
ENV DEBIAN_FRONTEND teletype

At the end of each. noninteractive is needed for all the build steps, while teletype is needed for interactive configuration, the user might want to do inside a running container.

Set your variable in one command with the apt-get to keep the context
RUN export DEBIAN_FRONTEND=noninteractive && apt-get .....

@jjqq2013 It's sort of off-topic, but why one would need to use sudos in... Dockerfile?
As reading all the discussion and some linked ones, I think the best thing to do is to IGNORE the warning messages. It's just one less thing we need to think about.

@OnkelTem this is a good question.

The root user inside docker container could compromise the real host where docker is running, by some tricks. Theoretically, Docker, as a kernel-shared container technology, it is not and will never, be considered as the most secure isolation solution.

There are some anti-root software which prevent itself from being run with root user. Such as yoman.

Sudo makes no sense for building containers.
What you want for security is to use setuser to drop the permissions when
running a service app.
On 2017. Mar 22., Wed at 7:28, jjqq<EMAIL_ADDRESS>wrote:

@OnkelTem https://github.com/OnkelTem this is a good question.

The root user inside docker container could compromise the real host
where docker is running, by some tricks. Theoretically, Docker, as a
kernel-shared container technology, it is not and will never, be considered
as the most secure isolation solution.
2.
There are some anti-root software which prevent itself from being run
with root user. Such as yoman.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/phusion/baseimage-docker/issues/58#issuecomment-288310216,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAeKjxDEiGZAscQOoZMOAhUVI4eLhs_mks5roL97gaJpZM4B2ekG
.

@jjqq2013 totally greed, but already answered by @hyperknot  above - building is not running.
I personally use su (not sudo which is to be installed first, then configured sudoers - pain) for running  processes inside container upon startup.

hi guys, do not misunderstand me. I am not meaning to push an issue of this base image(i don't event know what it is),
i just wanted to appreciate you because your answer of "DEBIAN_FRONTEND =noninteractive" solved my problem,
and just wanted to contribute more comment about it when used in sudo (Whatever you think of sudo in docker container,  there are some cases you sudo being used)
That's all. Good luck.

I am brand new to Docker, but on an Ubuntu 16.04 LTS box, I did
apt install dialog
and this warning message went away.

Just add the below line at the beginning of the Dockerfile to solve the issue.
ARG DEBIAN_FRONTEND=noninteractive

@famelis 👍

You could also add an ARG before running apt-get like so
ARG DEBIAN_FRONTEND=noninteractive

ENV DEBIAN_FRONTEND noninteractive didn't work for me
neither did ARG DEBIAN_FRONTEND noninteractive
but RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections did

I just add DEBIAN_FRONTEND=noninteractive just after RUN with apt-get install
RUN \
  DEBIAN_FRONTEND=noninteractive; \
  apt-get update \
  && \
  apt-get install -y --no-install-recommends \
    build-essential \
    nodejs \
    git \
    curl \
    automake \
  && \
  apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

EXAMPLE With Success:
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
sudo apt-get install -y -q
It works fine for me.

I use docker on Debian/Jessie.
In the Dockerfile of a container
FROM debian:sid

I set, before the first apt-get,
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections

and everything is ok.

Thanks. This helped in an unrelated problem.

I use docker on Debian/Jessie.
In the Dockerfile of a container
FROM debian:sid

I set, before the first apt-get,
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections

and everything is ok.

Helpful.


Syntastic should maybe warn on some errors

I just discovered that syntastic was failing to run my eslint checker for javascript because it couldn't find one of the plugins specified in my .eslintrc. I only discovered this after enabling g:syntastic_debug, and wading through the output. This is just a suggestion, but maybe a good enhancement for syntastic would be to give warnings more readily on certain errors, rather than failing silently? In this case, for example, where syntastic is unable to locate a plugin, it seems that a message is in order, and could save a lot of time.

This has been requested a few times in the past.  It isn't really feasible.  eslint has a plugin architecture, and its (non-linting) error messages can be essentially anything.  Worse yet, there are other checkers masquerading as eslint, with different sets of error messages.  Trying to parse something meaningful out of all possible junk eslint can produce is a losing battle.
What syntastic does instead is look at the exit codes from the linters.  If a linter reliably returns different exit codes for "finished ok" / "finished ok with linting errors", and "not ok" (OS errors, plugins not found, and the like), then syntastic can print the full output of the linter, presumably containing the relevant messages.  This works reasonably well.  However, not all checkers exit with discriminating codes.  Also, finding out whether one can rely on the exit code like this typically involves digging through the sources.  A while ago I requested input from people about which linters return useful error codes.  I got zero answers.  shrug

Sounds like a weakness in vim then? I mean shouldn't plugins have a reliable mechanism for reporting errors?

This has nothing to do with Vim, or with Vim plugins.  eslint is not a Vim plugin.


tensorflow.python.framework.errors_impl.NotFoundError

tensorflow.python.framework.errors_impl.NotFoundError:  data/leftImg8bit/train/bochum/bochum_000000_023435_leftImg8bit.png; No such file or directory

I think you need to download the images.
Please use the below link to download the images : https://www.cityscapes-dataset.com/downloads/
3rd link from the top.
One needs to sign up to download.

Thanks,it works

Hey @alenandry
Could please move the error to close ?

嘿@alenandry I have downloaded the dataset, but it still shows this issue


Testing, please ignore. (lemplv)

This is a bug bounty test. Please ignore.. Please DO NOT APPROVE THIS! (lemplv)

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


Memory requirements and configuration

I'm recording this as an issue so that it doesn't take up meeting time and for the record.  Some assignees can also double check to make sure I haven't gone insane.
As @adarshp noticed some time ago and documented nicely on the README.md page, Eidos does not perform well under low memory conditions, and by low I mean a very high low.  One solution is to use the .sbtopts file to increase the maximum memory allowed.  As @hclent once discovered, Travis isn't necessarily happy with that.
The short story is that Travis has been reconfigured to be happy with it and 20 days ago the file slipped out to GitHub and is now in master, with no apparent ill effects.  Travis is now using, instead of a default Amazon EC2 instance with 4GB memory and only 2GB for Java, the GCE from Google with 7.5GB memory.  (See .travis.yml for details.)  Other projects, Processors and Reach, had been doing this all along, unbeknownst to me.  A side-effect of not borrowing their configuration files was discovering how to activate cacheing at Travis, which halved the test time.  Sometimes ignorance has a silver lining.
So, if people have a personal .sbtopts file they have been maintaining, it should no longer be necessary.  Indeed, the file will likely be overwritten with the GitHub version.  I should change some of the documentation in README to describe the new situation.  I'm also double checking whether the exceptions for Windows are necessary.  I still get out of memory with 6GB configured in a different way (along with the appropriately sized heap dump), so maybe .sbtopts was actually being heeded after all.

Thanks for the heads-up, Keith. Looks like it is working fine for me.


Show geogebra thumbnails

Description
User Stories

As a user, I want to see preview images for my geogebra notes files so that i can get a quick perception of the content before opening it.

Value
Integration in GeoGebra creates a more unified UX for the whole platform
Acceptance Criteria

[ ] GeoGebra Notes mime-type and file extension are known to the backend
[ ] GeoGebra Notes Files show up in the file list, and file details view with their preview image

File example
https://cloud.owncloud.com/s/Pa39gtzeoRQVfOL
Definition of ready

[ ] Everybody needs to understand the value written in the user story
[ ] Acceptance criteria have to be defined
[ ] All dependencies of the user story need to be identified
[ ] Feature should be seen from an end user perspective
[ ] Story has to be estimated
[ ] Story points need to be less than 20

Definition of done

Functional requirements

[ ] Functionality described in the user story works
[ ] Acceptance criteria are fulfilled

Quality

[ ] Code review happened
[ ] CI is green (that includes new and existing automated tests)
[ ] Critical code received unit tests by the developer

Non-functional requirements

[ ] No sonar cloud issues

Configuration changes

[ ] The next branch of the ocis charts is compatible

.ggs Downloaded from the example is basically a zip-archive ../21.11.2023 11_18.ggs: Zip archive data, at least v2.0 to extract, compression method=deflate and contains a thumbnail, is it legit to use that for display?

.ggs Downloaded from the example is basically a zip-archive ../21.11.2023 11_18.ggs: Zip archive data, at least v2.0 to extract, compression method=deflate and contains a thumbnail, is it legit to use that for display?

Yes! Nice finding. Just use it 👍

Just need to add tests...


[FLAVA]Change some initialization orders and corresponding tests

Currently the projections are part of contrastive loss which means we need to use "flava for pretraining" for zero shot. This is weird since zero shot should just involve core model (and not pretraining model)
The next PR in this stack tried to fix it but broke the tests because of changing initialization order of several components
So splitting that PR into 2 to make sure my logic changes are not actually breaking anything

This PR which simply changes the initialization order of codebook and contrastive loss and changes the test assert values
Next PR which makes projections part of flava model and doesn't touch the tests

Test plan
pytest
Stack from ghstack (oldest at bottom):

#132
#131
#106
-> #105

Differential Revision: D37466221

Codecov Report

Merging #105 (b4a0caf) into gh/ankitade/4/base (f1f8c9a) will decrease coverage by 0.17%.
The diff coverage is 100.00%.

@@                  Coverage Diff                   @@
##           gh/ankitade/4/base     #105      +/-   ##
======================================================
- Coverage               89.03%   88.86%   -0.18%
======================================================
  Files                      35       35
  Lines                    1742     1742
======================================================
- Hits                     1551     1548       -3
- Misses                    191      194       +3

Impacted Files
Coverage Δ

torchmultimodal/models/flava/flava_model.py
92.92% <100.00%> (ø)

torchmultimodal/modules/losses/flava.py
95.87% <100.00%> (ø)

...odules/losses/contrastive_loss_with_temperature.py
71.69% <0.00%> (-5.67%)
:arrow_down:

Continue to review full report at Codecov.

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

@ankitade has imported this pull request.  If you are a Facebook employee, you can view this diff on Phabricator.

@ankitade has imported this pull request.  If you are a Facebook employee, you can view this diff on Phabricator.

@ankitade has imported this pull request.  If you are a Facebook employee, you can view this diff on Phabricator.

@ankitade has imported this pull request.  If you are a Facebook employee, you can view this diff on Phabricator.

@ankitade has imported this pull request.  If you are a Facebook employee, you can view this diff on Phabricator.

@ankitade has imported this pull request.  If you are a Facebook employee, you can view this diff on Phabricator.

@ankitade has imported this pull request.  If you are a Facebook employee, you can view this diff on Phabricator.

@ankitade has imported this pull request.  If you are a Facebook employee, you can view this diff on Phabricator.

@ankitade has imported this pull request.  If you are a Facebook employee, you can view this diff on Phabricator.


Handling disk pool creation via PVC-backed storage

We have recently started looking at OpenEBS as an alternative to Rook-Ceph, which we currently use in production for various use cases. On initial trials, the simplicity of the setup and the performance of OpenEBS is very impressive.
A potentially missing feature compared to Rook-Ceph is the ability to provision the disk pools from block volumes created by PVCs on the cluster [1]. (It may be that I have misunderstood the correct procedure for provisioning the volumes, in which case feel free to correct me!)
In Rook-Ceph it is possible to provision the storage cluster using volumes allocated via an existing PVC provisioner on the cluster. This allows the use of scalable gp3 volumes on EKS (as an example) as the underlying backing store for the Ceph cluster. The rook operator will provision the required PVCs based on the number of replicas required. These PVCs have volumeMode set to block and are consumed by the OSD pods on the cluster.
This functionality can be emulated by creating a Kubernetes stateful set with a volume claim template for the volumes that will be used by mayastor. However, setting up the DiskPool resource for mayastor requires identifying the volume IDs on the nodes the stateful set is scheduled to, something which feels like it could be done autonomously. This also requires future manual intervention to re-configure the DiskPool resource if any of the stateful set pods reschedule during the cluster's lifetime, which could happen during Kubernetes/kernel upgrades or node failures.
It would be interesting if OpenEBS would consider the possibility of using existing in-cluster PVC provisioners to manage the storage for the OpenEBS cluster. This way the io-engine replicas could be scheduled to a certain set of nodes, with a controlled number of replicas and the DiskPool resource can be automatically managed without user intervention.
Using an existing PVC provisioner would allow the code to be provider-agnostic, leveraging in-built Kubernetes features to manage the disk pool for an OpenEBS cluster, providing a Rook-Ceph-like experience for users who are looking to migrate away from Rook-Ceph.
[1] https://rook.io/docs/rook/latest-release/CRDs/Cluster/pvc-cluster

When using a disk that can be moved between machines, if a node replacement creates a new node with a new name, the disk pool operator has issues bringing up the disk when the node name is updated on the DiskPool manifest corresponding to that disk.
I see errors like:
Critical  Failure  5m37s  dsp-operator  Unable to create or import pool error in response: status code '400 Bad Request', content: 'RestJsonError { details: "create_pool::status: InvalidArgument, message: \", failed to import pool ip-172-31-44-215.ec2.internal: existing pool disk has different name: ip-172-31-33-126.ec2.internal\", details: [], metadata: MetadataMap { headers: {\"content-type\": \"application/grpc\", \"date\": \"Tue, 02 Jul 2024 10:45:49 GMT\", \"content-length\": \"0\"} }", message: "SvcError::GrpcRequestError", kind: InvalidArgument }'
I have to recreate the underlying disk so that the UID of the disk changes, requiring a full rebuild instead of only a partial rebuild.
This issue seems similar to https://github.com/openebs/mayastor/issues/1656#issuecomment-2111106679

Hi @Champ-Goblem,
This is an interesting approach indeed.
There's quite a few things to consider here, starting from how do we access the block volumes. Let's say that we simply make the volumes available on the node where a particular io-engine is running on, and we pin it there. Then we can "simply" create a diskpool on the node.
If we don't pin the volume to the same io-engine node, then it gets tricky, because as you found above we don't support moving diskpools at the moment. Also not sure what would happen if the ip of the replicas changes - perhaps the current partial rebuild logic doesn't take that into account so would require a full rebuild. All in all, moving pools is something which is not catered for, but something we could look into.
Another option is to consume the volumes directly, example via vhost, iSCSI or nvme-tcp but if we are going via the PVC api then I'm not sure this is possible...
Also to consider in this case, how do we handle failures from the provisioner under us?
Btw that link doesn't work, perhaps the rook website is down, at least for me..

Thank you for the reply!

Btw that link doesn't work, perhaps the rook website is down, at least for me..

Interesting, it seems to work for me, however it does not have that much information on the actual Ceph implementation.
To give some context on how Ceph seems to operate it's OSDs, which is probably fairly equivalent to the IO-Engine:
Each OSD is a one-to-one mapping with a storage disk. When the Ceph cluster is created, the operator starts by provisioning the PVCs with volumeMode: Block. It then runs a pod per PVC that prepares the volume before the OSD is started, which likely prepares BlueStore on the volume (amongst other stuff). For the OSDs these are controlled by a deployment per OSD, benefiting from Kubernetes scheduling rules and pod lifecycle management. By default the helm chart disallows the scheduling of multiple OSDs per node, but this can be changed.
If a node running the OSD goes down or is replaced the deployment for that OSD handles creating the new pod which schedules to an available node. Once the OSD is able to schedule, it rejoins the cluster and data from the other OSDs are re-balanced to the new instance. During this period of reduced service, the operator add a pod disruption budget to the cluster to try and prevent the killing of running OSD pods until the terminated one is healthy.
Of course I have very little knowledge about how OpenEBS works under the hood, and Ceph sounds like it differs quite wildly with its approach to managing in-store data and replication/re-balancing through its CRUSH maps and Placement Groups.

There's quite a few things to consider here, starting from how do we access the block volumes. Let's say that we simply make the volumes available on the node where a particular io-engine is running on, and we pin it there. Then we can "simply" create a diskpool on the node.

A PVC with volumeMode block can't be specified in the volumeMounts array on the container because it may not have a filesystem, which means it won't be mounted in to a container. However when listed under the volumes array on the pod level, it will still be mounted to the node that the pod consuming it is mounted to. In which case it should still be possible to consume the volume much like how it is already done with the DiskPool resource. Mapping the PVC to the underlying block storage device might not be as easy.

If we don't pin the volume to the same io-engine node, then it gets tricky, because as you found above we don't support moving diskpools at the moment. Also not sure what would happen if the ip of the replicas changes - perhaps the current partial rebuild logic doesn't take that into account so would require a full rebuild. All in all, moving pools is something which is not catered for, but something we could look into.

For this to work, the ability to move a pool would definitely be required. Even without considering the case of using PVCs there could still be cases where a user might need to be able to move a disk pool to a new node? Especially so for larger disks as full replication of multiple terabytes of data could impose significant performance penalties or network costs?

Also to consider in this case, how do we handle failures from the provisioner under us?

Good question, in the Ceph case I think the cluster will never enter a healthy state on creation. If something fails after creation and a IO-Engine/OSD replica goes down, the other replicas should pick up the slack?

@tiagolobocastro Just want to chime in on this issue as we are doing some pre-launch testing of our new k8s infrastructure that is based on openebs and learned the hard way that diskpools can not be moved.
To summarize the situation we just faced (luckily not in a production environment), a small change to a node pool in Azure (changing the max pods parameter) caused azure to update the underlying VMSS instance, which recreated all of the nodes (i.e. evicted all pods, created new nodes, then pods rejoined the new nodes).  Unfortunately, this caused my entire cluster to irrecoverably fail because even though the disks (which are external to the nodes, so were not deleted) were remounted to the new nodes automatically on startup, the diskpools are inoperable.  Below are some of the errors I'm seeing in the diskpool operator:
operator-diskpool   2024-09-06T03:08:14.251234Z ERROR operator_diskpool::context: Pool not found, clearing status, name: "pool-aks-storage-16504667-vmss000002"
operator-diskpool     at k8s/operators/src/pool/context.rs:230
operator-diskpool     in operator_diskpool::context::pool_check with name: "pool-aks-storage-16504667-vmss000002", status: Some(DiskPoolStatus { cr_state: Created, pool_status: None, capacity: 0, used: 0, available: 0 })
operator-diskpool     in operator_diskpool::reconcile with name: aks-storage-27073831-vmss000002, status: Some(DiskPoolStatus { cr_state: Created, pool_status: None, capacity: 0, used: 0, available: 0 })
operator-diskpool     in kube_runtime::controller::reconciling object with object.ref: DiskPool.v1beta2.openebs.io/pool-aks-storage-16504667-vmss000002.core-openebs, object.reason: reconciler requested retry
operator-diskpool
operator-diskpool   2024-09-06T03:08:14.264426Z ERROR operator_diskpool::context: Pool not found, clearing status, name: "pool-aks-storage-16504667-vmss000001"
operator-diskpool     at k8s/operators/src/pool/context.rs:230
operator-diskpool     in operator_diskpool::context::pool_check with name: "pool-aks-storage-16504667-vmss000001", status: Some(DiskPoolStatus { cr_state: Created, pool_status: None, capacity: 0, used: 0, available: 0 })
operator-diskpool     in operator_diskpool::reconcile with name: aks-storage-27073831-vmss000001, status: Some(DiskPoolStatus { cr_state: Created, pool_status: None, capacity: 0, used: 0, available: 0 })
operator-diskpool     in kube_runtime::controller::reconciling object with object.ref: DiskPool.v1beta2.openebs.io/pool-aks-storage-16504667-vmss000001.core-openebs, object.reason: reconciler requested retry
operator-diskpool
agent-core-grpc-probe openebs-agent-core (<IP_ADDRESS>:50051) open
etcd-probe openebs-etcd (<IP_ADDRESS>:2379) open
Stream closed EOF for core-openebs/openebs-operator-diskpool-7c6fff4449-jrbwq (agent-core-grpc-probe)
Stream closed EOF for core-openebs/openebs-operator-diskpool-7c6fff4449-jrbwq (etcd-probe)

I tried deleting the first diskpool resource and re-adding it in the hopes that it would help, but now I get the following message for that diskpool:
operator-diskpool   2024-09-06T03:10:05.048011Z ERROR operator_diskpool::context: The block device(s): aio:////dev/mayastor?blk_size=4096 can not be found
operator-diskpool     at k8s/operators/src/pool/context.rs:301
operator-diskpool     in operator_diskpool::context::create_or_import with name: "pool-aks-storage-16504667-vmss000000", status: Some(DiskPoolStatus { cr_state: Creating, pool_status: None, capacity: 0, used: 0, available: 0 })
operator-diskpool     in operator_diskpool::reconcile with name: aks-storage-27073831-vmss000000, status: Some(DiskPoolStatus { cr_state: Creating, pool_status: None, capacity: 0, used: 0, available: 0 })
operator-diskpool     in kube_runtime::controller::reconciling object with object.ref: DiskPool.v1beta2.openebs.io/pool-aks-storage-16504667-vmss000000.core-openebs, object.reason: error policy requested retry
operator-diskpool
operator-diskpool   2024-09-06T03:10:05.048056Z  WARN operator_diskpool: HTTP response error: error in response: status code '409 Conflict', content: 'RestJsonError { details: "", message: "SvcError :: Deleting: Pool Resource pending deletion - please retry", kind: Deleting }', retry scheduled @Fri, 6 Sep 2024 03:10:25 +0000 (20 seconds from now)
operator-diskpool     at k8s/operators/src/pool/main.rs:55
operator-diskpool     in kube_runtime::controller::reconciling object with object.ref: DiskPool.v1beta2.openebs.io/pool-aks-storage-16504667-vmss000000.core-openebs, object.reason: error policy requested retry
operator-diskpool

So it seems we might be in a totally irrecoverable situation for the cluster, where we'd basically have to delete and recreate everything, and restoring all of the PV contents - obviously not a good situation if this was production.  Am I missing something here - it feels like a very fragile storage solution if diskpools can not be restored after a node failure (or in our case, a node replacement).

@dcaputo-harmoni then am I correct in inferring the new nodes have new names as well?
If so, this seems like a wider issue than just pools (even nexuses would reference nodes which don't exist no more).
Could you please create a new ticket to track this?

where we'd basically have to delete and recreate everything, and restoring all of the PV contents

This is because it happened to all nodes, so even replication doesn't help here right?
This is indeed quite a bad spot... I think you can probably get around it with some modification of internal state stored in ETCD but not in a nice user friendly way.
Let's carry on discussing in the new ticket so we can have at least a WA and start looking into a proper solution.

@tiagolobocastro yes new nodes were created with new names, that's unfortunately just how Azure VMSS's work - they recreate the VM's / nodes on certain changes.  So while the drives remained intact, and were remounted to the new nodes when they came up, as you can see from the logs nothing was working.  I actually lost my entire etcd cluster as well (just by chance, because I had mistakenly had all pods on nodes that were part of that one VMSS - but I was able to restore the etcd DB using its disaster recovery protocols using a backup of the db.  But it seems there was no way to have the disk pools work from the new nodes.  I tried leaving the old disk pool names intact, and simply changing the "node" reference inside of them to the new node, but no luck.  it seems the problem runs deeper, as you noted above.  I'll go ahead and create a new ticket and we can pick up from there.


Deduping doesn't always work

I've been seeing duplicates in Mint

No longer valid, deduping works great in Monarch as it's an API.


Ncaught Error: Assertion Failed: A helper named ‘percentage-columns-layout’ could not be found

I installed the ember-collection addon. While the running my app I got the following error.
"Uncaught Error: Assertion Failed: A helper named 'percentage-columns-layout' could not be found"
What should I do?
Pls help me.
Regards
Knight

I'm seeing the same thing. Ember 2.5.1. Ember-collection alpha 5.

Yes. Sure. I found the solution. Thank for your suggestion.

@bloodknight2010, would you mind sharing your solution?

I created percentage-columns-layout.js in helper and write the following codes
import Ember from 'ember';

export function percentageColumnsLayout(params/*, hash*/) {
  // return params;
     return {
    /**
     * Return an object that describes the size of the content area
     */
      contentSize(clientWidth, clientHeight) {
          return { params};
      }
    }
}

export default Ember.Helper.helper(percentageColumnsLayout);


Fix grammar in step by step navigation pattern

This PR fixes unclear expression in the guidance page for our step by step navigation pattern.

You can preview this change here:
Built with commit 5290c8a5634ad420b1b2cf6d3db4da43477775b4
https://deploy-preview-1629--govuk-design-system-preview.netlify.app

@calvin-lau-sig7 Can I get a review? :)


Do we need to specify the schema while trying to Aquire tables

I started seeing below error all of a sudden when I added schema_name in front of the table it was working fine.
- FAIL: TestFunctionalTestSuite/TestSendNOAA (100.04s)
        suite.go:62: test panicked: failed to ACQUIRE tables [notice] after 5 times
            goroutine 10 [running]:
            runtime/debug.Stack(0xc0006e1c78, 0x48ced20, 0xc0006321f0)
                /usr/local/go1.12.7.darwin-amd64/src/runtime/debug/stack.go:24 +0x9d
            github.com/stretchr/testify/suite.failOnPanic(0xc00020c000)
                /Users/bvennapureddy/go/pkg/mod/github.com/stretchr/testify@v1.4.0/suite/suite.go:62 +0x57
            panic(0x48ced20, 0xc0006321f0)
                /usr/local/go1.12.7.darwin-amd64/src/runtime/panic.go:522 +0x1b5
            gopkg.in/khaiql/dbcleaner%2ev2.(*cleanerImpl).Acquire(0xc000033700, 0xc00022a0c0, 0x4, 0x4)
                /Users/bvennapureddy/go/pkg/mod/gopkg.in/khaiql/dbcleaner.v2@v2.3.0/dbcleaner.go:160 +0x586
            git.enova.com/services/customer_notices.(*FunctionalTestSuite).SetupTest(0xc000258f20)
                /Users/bvennapureddy/customer_notices/init_test.go:123 +0x126
            github.com/stretchr/testify/suite.Run.func2(0xc00020c000)
                /Users/bvennapureddy/go/pkg/mod/github.com/stretchr/testify@v1.4.0/suite/suite.go:119 +0x3e7
            testing.tRunner(0xc00020c000, 0xc000191980)
                /usr/local/go1.12.7.darwin-amd64/src/testing/testing.go:865 +0xc0
            created by testing.(*T).Run
                /usr/local/go1.12.7.darwin-amd64/src/testing/testing.go:916 +0x35a

This message means that you have a deadlock and it couldn't acquire the table, after excessive retries. I don't know your code so couldn't comment on any other things

But when i add my schema to the tables it wouldn't cause this issue for me

I think as I am Postgres 11.5 this is issues getting  triggered

the issue was with two instances of Postgres running at the same time once I killed the old instance this issue is resolved and we don't need a schema name


Add posts for newly added organizations

Check OpenUpstate's organizations API and send a slack message whenever a new organization has been added

Closing and tagged with "Suggestion" and this will appear on the Suggestions project views at
https://github.com/orgs/hackgvl/projects/7/views/1


Video embeds resizing needed

@rufuspollock  Current display of youtube embed. If it looks good enough, I'll push this change and close this issue.

Originally posted by @PhilippeduPreez in https://github.com/flowershow/flowershow/issues/257#issuecomment-1322048185

@olayway can we also link to a live example or have a screenshot showing more of the page - not totally clear what issue is from this.
i think we should have a proper react component for this which we can use either directly or in remark-social-links. I thought this was discussed extensively in web3 repo - let's dig out analysis there.

@khalilcodes and I discussed this during our pair programming session and came to conclusion that we just need to add a tailwind plugin that seems to have worked. PR #310 created

Fixed with https://github.com/flowershow/remark-embed-plus/commit/100f8f1dc4194d637f03994bc76ca5533cd9ac44


Do not try to gsub on incompatible encoding

After #832, if the URL contains incompatible encoding characters the gsub to remove the protocol relative from the URL will fail. We should encode the string to binary mode before doing the gsub.
Got the tests from https://github.com/bblimke/webmock/pull/687 since it is the same issue so this doesn't regress anymore.

Thank you @rafaelfranca . Could you please point me to the gsub that is failing before this fix?

Of course, it is this one https://github.com/bblimke/webmock/blob/5b1754b3a6106cbfa58f9386b04e47c38b0f84a6/lib/webmock/util/uri.rb#L54.
I changed the original patch a little but in the first commit I only changed that gsub, so it is easier to see.

Thank you!

Released as 3.7.2

Thank you!


Toolkit "bundle" command

The bundle command should be able to bundle an ÖbEngine project for any platform.
It can retrieve binaries from releases / artifacts / build factory.
The command will check every path mounted by the project and copy all files / replace them based on priorities.

Duplicated of #103


Use CodeownersFile.UseRegexMatcherDefault everywhere where applicable + remove obsolete tests

This is a follow-up PR to:

https://github.com/Azure/azure-sdk-tools/pull/5241

That PR was supposed to enable the regex-based matcher everywhere, but didn't. This PR fixes that.
This PR also:

removes the obsolete ProgramSimplePathTests test class; it is superseded by ProgramGlobPathTests, which is renamed in:

https://github.com/Azure/azure-sdk-tools/pull/5431

removes obsolete tests from get-codeowners.ps1

This PR is a prerequisite for following PRs:

https://github.com/Azure/azure-sdk-tools/pull/5103
https://github.com/Azure/azure-sdk-tools/pull/5431

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow


Benchmarks

Not a real issue, just a benchmark of the example function for reference (Tested on an array with 1e6 elements)
Unoptimized: 144ms
Optimized: 21ms

I am taking this as challenge to make faster

Even more benchmarks, yay!
https://gist.github.com/tuxcrafting/d39bdcd5dc737d1a6ea3b1639e92b37c

But pls halp to to make uber fast

;______; Y U SAI DIS EIVL PENGUIN Q_________Q


add more tests for storage/volume

Ⅰ. Describe what this PR did
this PR add more tests for storage/volume
finish #1629 #1631 #1632 #1633 #1634 #1635 #1636
Ⅱ. Does this pull request fix one issue?
add more functions for fake_driver and write some test cases.
Ⅲ. Describe how you did it
add more functions for fake_driver and write some test cases.
Ⅳ. Describe how to verify it
go test and everything pass
Ⅴ. Special notes for reviews
Group Two of Alibaba Baiji 262th

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

, please format your commit like
title: xxx
what you did
Signed-off-by:
and add more details in what you did, thanks

@Ace-Tang Hi,I will do this after Baiji review. Because if we change the commit now ,all CI will rerun and I can't get CI result before 12:00.
Thanks

Codecov Report

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

@@             Coverage Diff             @@
##           master    #1672       +/-   ##
===========================================
- Coverage   41.16%   18.26%   -22.91%
===========================================
  Files         274      229       -45
  Lines       18091    15638     -2453
===========================================
- Hits         7447     2856     -4591
- Misses       9729    12564     +2835
+ Partials      915      218      -697

Impacted Files
Coverage Δ

pkg/httputils/http_error.go
0% <0%> (-100%)
:arrow_down:

pkg/httputils/http_utils.go
0% <0%> (-100%)
:arrow_down:

apis/server/router.go
0% <0%> (-91.37%)
:arrow_down:

daemon/mgr/container_state.go
0% <0%> (-87.24%)
:arrow_down:

apis/server/volume_bridge.go
0% <0%> (-86.67%)
:arrow_down:

daemon/containerio/hijack_conn.go
2.85% <0%> (-85.72%)
:arrow_down:

daemon/mgr/container_monitor.go
0% <0%> (-85.19%)
:arrow_down:

daemon/mgr/container_logger.go
0% <0%> (-84%)
:arrow_down:

daemon/mgr/spec_annotations.go
0% <0%> (-82.36%)
:arrow_down:

apis/server/container_bridge.go
0% <0%> (-82.02%)
:arrow_down:

... and 121 more


Add tool to regenerate the chain using engine API

This PR includes a new cmd tool to regenerate the block chain using engine API
Note:
The erigon and erigon-lib version are hardcoded in go.mod

I tried running "make test" in boba-chain-ops/ and it fails:
go test ./...
?   	github.com/bobanetwork/v3-anchorage/boba-chain-ops/chain	[no test files]
# github.com/bobanetwork/v3-anchorage/boba-chain-ops/state [github.com/bobanetwork/v3-anchorage/boba-chain-ops/state.test]
state/cursor_test.go:38:25: not enough arguments in call to node.New
	have (*nodecfg.Config)
	want (*nodecfg.Config, "github.com/ledgerwatch/log/v3".Logger)
state/cursor_test.go:42:47: not enough arguments in call to node.OpenDatabase
	have (*nodecfg.Config, kv.Label)
	want (*nodecfg.Config, kv.Label, "github.com/ledgerwatch/log/v3".Logger)
state/cursor_test.go:65:25: not enough arguments in call to node.New
	have (*nodecfg.Config)
	want (*nodecfg.Config, "github.com/ledgerwatch/log/v3".Logger)
state/cursor_test.go:69:47: not enough arguments in call to node.OpenDatabase
	have (*nodecfg.Config, kv.Label)
	want (*nodecfg.Config, kv.Label, "github.com/ledgerwatch/log/v3".Logger)
state/cursor_test.go:95:25: not enough arguments in call to node.New
	have (*nodecfg.Config)
	want (*nodecfg.Config, "github.com/ledgerwatch/log/v3".Logger)
state/cursor_test.go:99:47: not enough arguments in call to node.OpenDatabase
	have (*nodecfg.Config, kv.Label)
	want (*nodecfg.Config, kv.Label, "github.com/ledgerwatch/log/v3".Logger)
state/cursor_test.go:126:25: not enough arguments in call to node.New
	have (*nodecfg.Config)
	want (*nodecfg.Config, "github.com/ledgerwatch/log/v3".Logger)
state/cursor_test.go:130:47: not enough arguments in call to node.OpenDatabase
	have (*nodecfg.Config, kv.Label)
	want (*nodecfg.Config, kv.Label, "github.com/ledgerwatch/log/v3".Logger)
state/cursor_test.go:162:25: not enough arguments in call to node.New
	have (*nodecfg.Config)
	want (*nodecfg.Config, "github.com/ledgerwatch/log/v3".Logger)
state/cursor_test.go:166:47: not enough arguments in call to node.OpenDatabase
	have (*nodecfg.Config, kv.Label)
	want (*nodecfg.Config, kv.Label, "github.com/ledgerwatch/log/v3".Logger)
state/cursor_test.go:166:47: too many errors
?   	github.com/bobanetwork/v3-anchorage/boba-chain-ops/cmd/boba-migrate	[no test files]
?   	github.com/bobanetwork/v3-anchorage/boba-chain-ops/cmd/boba-regenerate	[no test files]
?   	github.com/bobanetwork/v3-anchorage/boba-chain-ops/cmd/boba-rollover	[no test files]
ok  	github.com/bobanetwork/v3-anchorage/boba-chain-ops/crossdomain	1.417s
?   	github.com/bobanetwork/v3-anchorage/boba-chain-ops/deployer	[no test files]
ok  	github.com/bobanetwork/v3-anchorage/boba-chain-ops/ether	0.431s
ok  	github.com/bobanetwork/v3-anchorage/boba-chain-ops/genesis	1.274s
ok  	github.com/bobanetwork/v3-anchorage/boba-chain-ops/immutables	1.296s
ok  	github.com/bobanetwork/v3-anchorage/boba-chain-ops/node	1.242s
FAIL	github.com/bobanetwork/v3-anchorage/boba-chain-ops/state [build failed]
?   	github.com/bobanetwork/v3-anchorage/boba-chain-ops/util	[no test files]
FAIL

I tried running "make test" in boba-chain-ops/ and it fails:

go test ./...

?   	github.com/bobanetwork/v3-anchorage/boba-chain-ops/chain	[no test files]

# github.com/bobanetwork/v3-anchorage/boba-chain-ops/state [github.com/bobanetwork/v3-anchorage/boba-chain-ops/state.test]

state/cursor_test.go:38:25: not enough arguments in call to node.New

	have (*nodecfg.Config)

	want (*nodecfg.Config, "github.com/ledgerwatch/log/v3".Logger)

state/cursor_test.go:42:47: not enough arguments in call to node.OpenDatabase

	have (*nodecfg.Config, kv.Label)

	want (*nodecfg.Config, kv.Label, "github.com/ledgerwatch/log/v3".Logger)

state/cursor_test.go:65:25: not enough arguments in call to node.New

	have (*nodecfg.Config)

	want (*nodecfg.Config, "github.com/ledgerwatch/log/v3".Logger)

state/cursor_test.go:69:47: not enough arguments in call to node.OpenDatabase

	have (*nodecfg.Config, kv.Label)

	want (*nodecfg.Config, kv.Label, "github.com/ledgerwatch/log/v3".Logger)

state/cursor_test.go:95:25: not enough arguments in call to node.New

	have (*nodecfg.Config)

	want (*nodecfg.Config, "github.com/ledgerwatch/log/v3".Logger)

state/cursor_test.go:99:47: not enough arguments in call to node.OpenDatabase

	have (*nodecfg.Config, kv.Label)

	want (*nodecfg.Config, kv.Label, "github.com/ledgerwatch/log/v3".Logger)

state/cursor_test.go:126:25: not enough arguments in call to node.New

	have (*nodecfg.Config)

	want (*nodecfg.Config, "github.com/ledgerwatch/log/v3".Logger)

state/cursor_test.go:130:47: not enough arguments in call to node.OpenDatabase

	have (*nodecfg.Config, kv.Label)

	want (*nodecfg.Config, kv.Label, "github.com/ledgerwatch/log/v3".Logger)

state/cursor_test.go:162:25: not enough arguments in call to node.New

	have (*nodecfg.Config)

	want (*nodecfg.Config, "github.com/ledgerwatch/log/v3".Logger)

state/cursor_test.go:166:47: not enough arguments in call to node.OpenDatabase

	have (*nodecfg.Config, kv.Label)

	want (*nodecfg.Config, kv.Label, "github.com/ledgerwatch/log/v3".Logger)

state/cursor_test.go:166:47: too many errors

?   	github.com/bobanetwork/v3-anchorage/boba-chain-ops/cmd/boba-migrate	[no test files]

?   	github.com/bobanetwork/v3-anchorage/boba-chain-ops/cmd/boba-regenerate	[no test files]

?   	github.com/bobanetwork/v3-anchorage/boba-chain-ops/cmd/boba-rollover	[no test files]

ok  	github.com/bobanetwork/v3-anchorage/boba-chain-ops/crossdomain	1.417s

?   	github.com/bobanetwork/v3-anchorage/boba-chain-ops/deployer	[no test files]

ok  	github.com/bobanetwork/v3-anchorage/boba-chain-ops/ether	0.431s

ok  	github.com/bobanetwork/v3-anchorage/boba-chain-ops/genesis	1.274s

ok  	github.com/bobanetwork/v3-anchorage/boba-chain-ops/immutables	1.296s

ok  	github.com/bobanetwork/v3-anchorage/boba-chain-ops/node	1.242s

FAIL	github.com/bobanetwork/v3-anchorage/boba-chain-ops/state [build failed]

?   	github.com/bobanetwork/v3-anchorage/boba-chain-ops/util	[no test files]

FAIL

Yes! I will push another changes including the fix and docker file.

@mmontour1306 All tests are fixed and dockerfile is added


Using System.DateTime as a property in class with export attribute embeddination fails for Android

Steps to Reproduce

By using System.DateTime as a property with export attribute in Android class library project.
Run embedination command listed below to reproduce.

Expected Behavior
Embedination should not fail.
Actual Behavior
Embedination fails.
Environment
MacOS,

mono ../../../../Native/Android/Tools/Embeddinator-4000/build/lib/release/Embeddinator-4000.exe bin/Debug/TestEmbedination.dll --gen=Java --platform=Android --outdir=../../../../Native/Android/EmbedinatedFramework -c --verbose

Build Logs

Failed to create JavaTypeInfo for class: Testembedination.TEmbeded due to System.NullReferenceException: Object reference not set to an instance of an object

Example Project (If Possible)

TestComand.bat.zip
TestEmbedination.zip

This bug is caused by an external generator from Xamarin.Android that we call for objects that inherit from Java.Lang.Object.
The task code is here:
https://github.com/xamarin/xamarin-android/blob/e5b1c92c192612d1a292a0ce35ea77a72f38eb48/src/Xamarin.Android.Build.Tasks/Tasks/GenerateJavaStubs.cs#L134
Other related files are here:
https://github.com/xamarin/xamarin-android/blob/24f2aec113857b5c583e14959b9af08ad45b22b1/src/Xamarin.Android.Build.Tasks/Generator/Generator.cs
And the generator itself:
https://github.com/xamarin/java.interop/blob/429dc2a68579c9a820f03a7f09f35da3db9cd54a/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers/JavaCallableWrapperGenerator.cs#L22

@tritao  At the moment, I am using a workaround by converting the DateTime to long (Ticks) and recalculating the Date on native side. Also, for Decimal I am multiplying the decimal with 100 and converting it into int and on native side dividing the int with 100 and converting it into decimal.
Also, can you please open an issue on Mono.Android github page since you have more knowledge of the problem. Or I should do that ?

Please feel free to open it, I am not working on this project anymore.

@tritao Yes sure I can do that, can you tag any responsible person having knowledge about this part of error? I will be needing him/her if any in depth question raised on Xamarin.Android issues section.

I am not sure who would be best to look at this one.
@jonathanpeppers any idea?


Fix WT500 issues

Closes #247
Closes #248
Source hashes are also updated.

@trevor-cockrell @s-idgunji FYI


Added expectation value and exponentiation functionality and tests

Added 4 new files to cirq/ops:
expectation_value.py
expectation_value_test.py
exponentiate.py
exponentiate_test.py
which provide functionality for calculating expectation value (from sampling or by accessing the wavefunction in the simulator) and exponentiation (with option for 1st order trotter).

Note: due to cirq's transition to a public repository, you likely need to do the same for your fork in order to update this PR.

I've previously signed the CLA.

@googlebot rescan

Googlebot is unhappy because on of the commits in the history is not by you (the one by me). Don't worry about it, we can manually override in order to submit.

Are there any additional changes that should be made, or can this branch be merged?

Closed as stale.
This concept has ended up being introduced in other parts of the codebase, in particular via Displays and PauliSting operations.


feature: added public C API for 3rd-party NGINX C modules to register their own shm-based data structures for the Lua land usage

this pr is ported directly from ngx_http_lua_module's feature
thanks for @doujiang24 's help  : )

Kidding me...... I'd rollback to the original git, It still broken...
Sorry, maybe I should try to delete my git and push again

Some problem occur in a test cases


FEATURE: trim() for strings

This will use the native trim method. This is just to make sure this useful method is in the library. For those that don't know, this removes white space from the beginning and end of a string.

Done on local copy.


Cashu waket: multimint support

Codecov Report

Merging #1448 (99d0536) into main (0dca98c) will decrease coverage by 0.15%.
The diff coverage is 27.27%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main    #1448      +/-   ##
==========================================
- Coverage   47.86%   47.71%   -0.15%
==========================================
  Files         264      264
  Lines       16141    16158      +17
==========================================
- Hits         7726     7710      -16
- Misses       8415     8448      +33

Impacted Files
Coverage Δ

lnbits/extensions/cashu/views.py
45.83% <27.27%> (-12.24%)
:arrow_down:

lnbits/extensions/lnurlp/migrations.py
81.48% <0.00%> (-14.82%)
:arrow_down:

lnbits/db.py
81.20% <0.00%> (-10.07%)
:arrow_down:

lnbits/commands.py
61.40% <0.00%> (-1.76%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


How arrows that are linking between the entities will exactly point to right comlumns

This is partially implemented here: wsi-cogs/eralchemy@b7003d5db3c465eb880dc4ae17e16c9ffde01ac9
It only works when creating a diagram from SQLAlchemy schema, not from markdown.

fixed in #72


Make SSH username compatible with Windows

Windows has a max username length of 20 chars, the bosh-cli was
generating a username 21 chars long, this commit reduces the username
length by 1 to 20.
@natalieparellano
[#145070025]
Signed-off-by: Charlie Vieth<EMAIL_ADDRESS>

Long-term, I think it'd be nice if director or agent should be generating ephemeral user IDs instead of users having that sort of control. But that's a different story.


CI: run testnet for X blocks

We've had a few pd-crashing bugs in main at:

InitChain
the Commit phase at the end of a block
During the transition between epochs

Right now we don't catch these in CI or test (related: #230).
We could have a CI job that spins up the testnet, runs for X blocks (or X * (10 seconds) time) ideally up through the first epoch boundary. If pd crashes, the job would fail. This would also provide a clear indication to developers as to the state of the main branch.

Another thing that would be useful to do (although it could be in a later chunk of work than this one) would be to also have a sequence of pcli invocations with some expected results.  That way we could also check that someone can send + receive funds, etc.


Update semanticdb-scalac to 4.5.13

Updates org.scalameta:semanticdb-scalac from 4.5.4 to 4.5.13.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "semanticdb-scalac" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "org.scalameta", artifactId = "semanticdb-scalac" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

needs work — there is a test failure. it might actually be a progression? not sure


Default imageboard

Dashchan 2.0, is it possible to make a default imageboard that will open after launching an app?

Yes. Use long tap in imageboards list. (I mean imageboards list in drawer, not in app settings).


Generate private dependency reader methods

This improves encapsulation, and is still easy to opt out of by using the public method for whichever dependencies you want to make public, e.g.
class MyClass
  include MyInjector[:dep_a, :dep_b]

  public :dep_a
end

This is a breaking change, and I propose we could release it as 1.0.0.beta1 if we want to shield existing users from unwanted churn.
Plus, I'm not sure if there's anything else we really need before we can ship 1.0.0 of auto_inject?

Sorry but big 🛑 from me. This is a massive breaking change with very little value. Also, personally, I would prefer if this was off by default.

Cool, feedback received loud and clear! 😃
Happy to close this one. And tbh, I think that means we can bump this to 1.0 whenever we're ready!

@solnic @timriley what about having this as an option? Looks like a reasonable preference to have. Generally, having public deps is not a problem for me since it's mostly a matter of discipline shared across a team. But I think I would use this option if available, I had to explain a few times to teammates that using deps outside is not a good idea, even in specs.

@flash-gordon I'd be happy for us to make this an option (leaving the existing behavior as the default).
Would you be up for working on this?

@timriley I took a quick look, there's no easy way to introduce options without breaking changes. Mb we should go with a different strategy, namely PrivateKwargs? It'd be way easier at the moment. On the other hand, having options is more flexible. But again, it's not like we add features to dry-auto_inject often these days. @timriley @solnic WDYT?

I don't think this is a responsibility that dry-auto_inject should have. Visibility could be handled by system/hanami or other high level solutions.

I'd probably say the opposite :) It's dry-auto_inject that is defining these reader methods after all, so it would make sense for it to offer some level of control over their visibility.
dry-system and Hanami mostly just use dry-auto_inject as is, so it would feel strange if they had to drop down to this level of detail to tweak reader methods defined by some other library. It'd likely end up with them having to carry some level of knowledge of dry-auto_inject internals. That's not IMHO a maintainable division of responsibilities.
Anyway, with all that said, no one has been clamoring for this extra control over visibility, so I think we could still reasonably consider dry-auto_inject ready for 1.0 in its current state, and consider supporting private readers in a future change.

Catching up on the proposed solution here, I would actually love to have these methods be private by default to ensure isolation by default.

Same here! 😊 Being able so set it globally would be awesome 🤩 We currently set all methods as private by hand to ensure proper encapsulation and avoid unintended magic behavior.


Chore: Add Close-Only Warning for OP Network Upgrade

Subject of the issue
Disable trade panel and show a warning during the Optimism Bedrock upgrade phase (48h of close only mode).
See Figma for designs for light and dark mode-.

Deliverables

Show warning instead of trade panel
Both mobile and desktop
Show both on legacy and Futures
Point directly to main for release if possible to avoid pushing updates in dev regarding legacy deprecation

Part of #2418


Return wrong type when using SELECT SUM()

In the sqlc playground, I edit the query.sql as followed
-- Example queries for sqlc
CREATE TABLE orders (
  id   BIGSERIAL PRIMARY KEY,
  quantity decimal      NOT NULL,
  order_catalog  int
);

-- name: SumOrder :one
SELECT SUM(quantity) FROM orders;

Then, db/query.sql.go would be
// Code generated by sqlc. DO NOT EDIT.
// source: query.sql

package db

import (
	"context"
)

const sumOrder = `-- name: SumOrder :one
SELECT SUM(quantity) FROM orders
`

func (q *Queries) SumOrder(ctx context.Context) (int64, error) {
	row := q.db.QueryRowContext(ctx, sumOrder)
	var sum int64
	err := row.Scan(&sum)
	return sum, err
}

I think the return type of SumOrder should not be int64. It should be string or something else.

Still an issue, also when using float type:
https://play.sqlc.dev/p/fc1b90f3e13264a46d15bbb4ef3867de28b0bf6839d6fb10325d65407b61aebe

This is fixed in v1.23.0 by enabling the database-backed query analyzer. We added a test case for this issue so it won’t break in the future.
You can play around with the working example on the playground


feat: add spinner

Please add jsdoc to your component (same as avatar)

@mahdieabdollahian well done, thanks 🍾
close: #29


Avoid an extra "stop" parameter to yp_strspn_whitespace_newlines

and use yp_strspn_inline_whitespace instead.
Partially reverts implementation details from #1152
cc @tenderlove

This PR came out of a side conversation with @kddnewton who suggested an approach like this instead. Would love feedback.


Blog not Building

Hiya
using the following config :
# Blog : Blog from Google
# @see https://elenichappen.svbtle.com/getting-tags-to-work-with-middlemans-blog-gem
activate :blog do | blog |

    blog.name              = "blog"
    blog.default_extension = ".haml"

    blog.permalink         = "{category}/{title}.html"
    blog.sources           = "blog/:id.html"

    blog.layout            = "articleTwo"
    blog.summary_separator = /(READMORE)/
    blog.summary_length    = 250

    blog.calendar_template = "template/blog-calendar/blog-calendar.html"
    blog.year_link         = "/calendar/:year.html"
    blog.month_link        = "/calendar/:year/:month.html"
    blog.day_link          = "/calendar/:year/:month/:day.html"

    blog.tag_template      = "template/blog-tag/blog-tag.html"
    blog.taglink           = "/tag/:tag.html"

    blog.paginate          = true
    blog.per_page          = 5
    blog.page_link         = "page/{num}"

end

The frontmatter of the blog has the ID
---

id: 1rs4H2-80A0BRO03G6ZbprGefbTwCVfg0x2VPGnjm1MM

However nothing is built with this structure - is something protected with what I am trying to do?

Hi @iwarner, I believe I experience the same issue earlier today https://github.com/middleman/middleman-blog/issues/327 I resolved it by converting my layout files from .haml to .erb.  I'm not sure what's going on here, but it seems middleman-blog is having difficulties with Haml layouts (see also https://github.com/middleman/middleman-blog/issues/322). Hope that helps you!

i feel so bad now :( I used middleman because it supported HAML out of the box but apparently it fails? sigh
oh well. I've been trying to investigate this every couple of days or so but I don't think I can manage to pinpoint why it would fail in HAML but not in ERB

@corroded My setup worked with some files in Haml as long as the layouts were in ERB. Even the partials I used in my layouts are in Haml without issue. It seems that only the blog and parent layouts need to be ERB files. Hopefully that helps your situation :)

I think the issue I found was that there is already an ID generated internally
I went to
http://localhost:4567/__middleman

to examine the structure and noticed this - removing the ID from the frontmatter of the templates
seemed to solve the problem
my templates still have the extension .html.haml
hope that helps


verify that after alarm was set and the app goes to background, the sound plays

with https://docs.expo.dev/versions/latest/sdk/video/#staysactiveinbackground the sound rings on android when the sound started with expo in foreground. whne expo is in background the sound does not ring.
also this foreground > background might not work for ios for expo. see This is not available in Expo Go for iOS, it will only work in standalone apps


chore(deps): update common-dev-assets digest to aa3ee0a

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
38487d8 -> aa3ee0a

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 2.2.0 :tada:
The release is available on:

GitHub release
v2.2.0

Your semantic-release bot :package::rocket:


Fix issue #3863

This change is

Current dependencies on/for this PR:

main

PR #3892   👈

This comment was auto-generated by Graphite.


Error: UDP - Timed out after 2000ms [valve, csgo]

Thank you for your game project.
I get this error for some servers.
What is the problem? A bug caused by a provider?
 This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
9:20 PM

(node:8519) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Hey there, what version of gamedig are you using?

Thanks for reply.
Version 2.0.12
I see the same error for all servers right now.
I'm not home right now.

That's... very strange. The "unhandled promise rejection" is definitely being handled, as the handler is what prints out UDP timeout detected immediately before that. Which version of node.js are you using? Perhaps there's a bug on some version range that I thought we supported?

That's... very strange. The "unhandled promise rejection" is definitely being handled, as the handler is what prints out UDP timeout detected immediately before that. Which version of node.js are you using? Perhaps there's a bug on some version range that I thought we supported?

I'm home now, I'm sorry for the late reply. My project is completely problematic in<EMAIL_ADDRESS>Now I'm back in the 1.0.49 version.  If it's the same UDP timeout, either there is a firewall between you and the server, preventing you from receiving the udp responses, or the server is offline.

If you are still receiving UnhandledPromiseRejectionWarning, ensure that you are catching the promise rejections thrown by gamedig as described in the readme.
Gamedig.query({
    type: 'minecraft',
    host: 'mc.example.com'
}).then((state) => {
    console.log(state);
}).catch((error) => {
    console.log("Server is offline");
});

Gamedig will throw an error if the server is unresponsive of offline, and if you do not catch that error, node will print the UnhandledPromiseRejectionWarning.

If you are still having this issue, check to see if you are polyfilling node's Promise implementation with Bluebird. This seems to be an issue related to older versions conflicting with node's async/await: https://github.com/petkaantonov/bluebird/issues/1404


Research Architecture (Multi-agent+Multi-graph)

Loosely defined:

Tools: The bridge between LLM output -> An action, like read/writes to a database. Any function can be a tool.
Agent: Executes a workflow given a task, restricted by a fixed set of tools.
Graph: A set of defined relations between defined nodes. The structure and content of the node depends on the use case.

Food for thought. In my opinion, each of these excel in their intended space:
Complex retrieval tasks over a Knowledge Graph/Table - WhyHow
Organized workflow automation - n8n
Orchestrating agents with good cookbooks - composio

Managing state is hard. Here's one approach: https://langchain-ai.github.io/langgraph/how-tos/human_in_the_loop/time-travel/

https://changelog.langchain.com/announcements/langgraph-agent-protocol-langgraph-studio-for-local-execution
https://blog.langchain.dev/agent-protocol-interoperability-for-llm-agents/
https://github.com/langchain-ai/agent-protocol

A better overview of the main concepts:
https://python.langchain.com/docs/concepts/

https://github.com/NirDiamant/GenAI_Agents


Add grep to bash keywords

Changes

grep is a very common bash command, so I'm adding to the list.
Checklist

[ ] Markup tests don't apply since it's a single word being added
[x ] Updated the changelog at CHANGES.md

Is it a GNU core utility though? If not we need a new list...

Is it a GNU core utility though? If not we need a new list...

It's referenced in the coreutils but I don't know if it's included. In any case grep is part of every *nix OS so it's either included there or in the kernel.

Doesn't seem to be.
https://github.com/coreutils/coreutils
So lets create a new POPULAR_UTILS collection to hold such things...

Doesn't seem to be.
https://github.com/coreutils/coreutils
So lets create a new POPULAR_UTILS collection to hold such things...

Oh thanks for checking, I wasn't sure where to look 😅
That sounds like a great idea! I'll look into it in a little.

Ping?

Closing for inactivity.  Whenever you have time to work on this again it can be reopened.  Thanks.


How to support to html?

Can you explain a little bit more please? What you need or what is missing


Fix babel rename option warning

Fixes:
[BABEL] The transformer es6.parameters.rest has been renamed to es6.parameters
[BABEL] The transformer es6.parameters.default has been renamed to es6.parameters


propose DEFGATE ... AS PAULI-SUM for inclusion

I guess a natural way to add Trotterization on top of this would be with some sort of gate modifier. For instance,
DEFGATE FOOBAR(...) ... AS PAULI-SUM:
    ...

TROTTERIZE FOOBAR(...) ... ORDER 4

In this case, TROTTERIZE would extract commuting terms from the Pauli sum and construct a circuit satisfying the desired error bound.

Does the latex / mathjax ever get rendered? I wonder if there is a way to make github render it when displaying the markdown.

Not that I know of.  I render the spec with pandoc --standalone --to latex --output Quil.tex Quil.md && xelatex Quil.tex

It gets rendered when I open it in MacDown. :/


Re-work #99.2’s solution to compile.

Also, in session, we landed on this solution and were wondering if it’s equally as valid—or, would moving the index out as a top-level parameter cause issues for call sites?
extension Reducer {
  func indexed<GlobalValue, GlobalAction, GlobalEnvironment>(
    value: WritableKeyPath<GlobalValue, [Value]>,
    action: CasePath<GlobalAction, Action>,
    environment: @escaping (GlobalEnvironment) -> Environment,
    index: Int
  ) -> Reducer<GlobalValue, GlobalAction, GlobalEnvironment> {
    pullback(
      value: value.appending(path: \.[index]),
      action: action,
      environment: environment
    )
  }
}

Thanks!

Also, in session, we landed on this solution and were wondering if it’s equally as valid—or, would moving the index out as a top-level parameter cause issues for call sites?

This is an interesting distinction! When you focus on a single index, it's equivalent to a plain ole pullback along the key path:
localReducer.pullback(value: \GlobalValue.localValues[0], …)

Which means it would only add logic for the element at that specific index, not every element in the collection. Make sense?

Ah, that does make sense and thanks for fielding that question! 🙏🏽