unresolved symbols when linking hello_pass.so

  "llvm::raw_ostream::write_escaped(llvm::StringRef, bool)", referenced from:
      HelloFuncs::runOnFunction(llvm::Function&) in hello_pass-05c8d0.o
  "llvm::raw_ostream::write(char const*, unsigned long)", referenced from:
      llvm::raw_ostream::operator<<(llvm::StringRef) in hello_pass-05c8d0.o
  "llvm::raw_ostream::write(unsigned char)", referenced from:
      llvm::raw_ostream::operator<<(char) in hello_pass-05c8d0.o```

I resolved it changing LLVM_LDFLAGS_NOLIBS to LLVM_LDFLAGS

I can't reproduce the problem. What's your machine & build setup?

Last time something like this happened to me (Undefined symbols for architecture x86_64), it was actually because I was using libraries that were 32-bit on my 64-bit computer.

I have the same problem as @AntonBikineev. I also solved it the same way, by applying the following patch:
index 7110840..c987686 100644
--- a/Makefile
+++ b/Makefile
@@ -49,7 +49,7 @@ $(info -----------------------------------------------)
 # Note: starting with release 3.7, llvm-config will inject flags that gcc may
 # not support (for example '-Wcovered-switch-default'). If you run into this
 # problem, build with CXX set to a modern clang++ binary instead of g++.
-CXX := g++
+CXX := clang++
 CXXFLAGS := -fno-rtti -O0 -g
 PLUGIN_CXXFLAGS := -fpic

@@ -158,7 +158,7 @@ $(BUILDDIR)/bb_toposort_sccs: $(SRC_LLVM_DIR)/bb_toposort_sccs.cpp

 $(BUILDDIR)/hello_pass.so: $(SRC_LLVM_DIR)/hello_pass.cpp
        $(CXX) $(PLUGIN_CXXFLAGS) $(CXXFLAGS) $(LLVM_CXXFLAGS) \
-               $^ $(PLUGIN_LDFLAGS) $(LLVM_LDFLAGS_NOLIBS) -o $@
+               $^ $(PLUGIN_LDFLAGS) $(LLVM_LDFLAGS) -o $@

 $(BUILDDIR)/clang-check: $(SRC_CLANG_DIR)/ClangCheck.cpp
        $(CXX) $(CXXFLAGS) $(LLVM_CXXFLAGS) $(CLANG_INCLUDES) $^ \```

Not sure what that's about... but I can help debug. I'm on OS X Yosemite 10.10.5. I built llvm/clang as of today (from git) using ninja.

I also had to remove the --start-group and --end-group from the linker's flags.

@ob, what OS and gcc/clang versions do you have?

I checked out llvm from github:
dirac llvm $ git log -1
commit 18329ced975b85fbcf34aaa928e5d66fe8da8282
Author: Reid Kleckner<EMAIL_ADDRESS>Date:   Tue Sep 8 23:28:38 2015 +0000

    [WinEH] Avoid creating MBBs for LLVM BBs that cannot contain code

    Typically these are catchpads, which hold data used to decide whether to
    catch the exception or continue unwinding. We also shouldn't create MBBs
    for catchendpads, cleanupendpads, or terminatepads, since no real code
    can live in them.

    This fixes a problem where MI passes (like the register allocator) would
    try to put code into catchpad blocks, which are not executed by the
    runtime. In the new world, blocks ending in invokes now have many
    possible successors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247102 91177308-0d34-0410-b5e6-96231b3b80d8

dirac llvm $ uname -a
Darwin dirac.bitkeeper.com 14.5.0 Darwin Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015; root:xnu-2782.40.9~1/RELEASE_X86_64 x86_64

dirac llvm $ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.10.5
BuildVersion:	14F27

dirac llvm-clang-samples $ clang --version
Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
dirac llvm-clang-samples $ make
-----------------------------------------------
Using LLVM_SRC_PATH = $HOME/projects/llvm/llvm
Using LLVM_BUILD_PATH = $HOME/projects/llvm/llvm-build
Using LLVM_BIN_PATH = $HOME/projects/llvm/llvm-build/bin
-----------------------------------------------
clang++ -fno-rtti -O0 -g `$HOME/projects/llvm/llvm-build/bin/llvm-config --cxxflags` src_llvm/bb_toposort_sccs.cpp `$HOME/projects/llvm/llvm-build/bin/llvm-config --ldflags --libs --system-libs` -o build/bb_toposort_sccs
clang++ -fno-rtti -O0 -g `$HOME/projects/llvm/llvm-build/bin/llvm-config --cxxflags` src_llvm/simple_module_pass.cpp `$HOME/projects/llvm/llvm-build/bin/llvm-config --ldflags --libs --system-libs` -o build/simple_module_pass
clang++ -fno-rtti -O0 -g `$HOME/projects/llvm/llvm-build/bin/llvm-config --cxxflags` src_llvm/simple_bb_pass.cpp `$HOME/projects/llvm/llvm-build/bin/llvm-config --ldflags --libs --system-libs` -o build/simple_bb_pass
clang++ -fno-rtti -O0 -g `$HOME/projects/llvm/llvm-build/bin/llvm-config --cxxflags` src_llvm/analyze_geps.cpp `$HOME/projects/llvm/llvm-build/bin/llvm-config --ldflags --libs --system-libs` -o build/analyze_geps
clang++ -fno-rtti -O0 -g `$HOME/projects/llvm/llvm-build/bin/llvm-config --cxxflags` src_llvm/jit_orc_run.cpp `$HOME/projects/llvm/llvm-build/bin/llvm-config --ldflags --libs --system-libs` -o build/jit_orc_run
clang++ -fpic -fno-rtti -O0 -g `$HOME/projects/llvm/llvm-build/bin/llvm-config --cxxflags` \
		src_llvm/hello_pass.cpp -shared `$HOME/projects/llvm/llvm-build/bin/llvm-config --ldflags` -o build/hello_pass.so
Undefined symbols for architecture x86_64:
  "llvm::raw_ostream::write_escaped(llvm::StringRef, bool)", referenced from:
      HelloFuncs::runOnFunction(llvm::Function&) in hello_pass-a40f87.o
  "llvm::raw_ostream::write(char const*, unsigned long)", referenced from:
      HelloFuncs::runOnFunction(llvm::Function&) in hello_pass-a40f87.o
  "llvm::raw_ostream::write(unsigned char)", referenced from:
      HelloFuncs::runOnFunction(llvm::Function&) in hello_pass-a40f87.o
  "llvm::FunctionPass::assignPassManager(llvm::PMStack&, llvm::PassManagerType)", referenced from:
      vtable for HelloFuncs in hello_pass-a40f87.o
  "llvm::PassRegistry::registerPass(llvm::PassInfo const&, bool)", referenced from:
      __GLOBAL__sub_I_hello_pass.cpp in hello_pass-a40f87.o
  "llvm::PassRegistry::getPassRegistry()", referenced from:
      __GLOBAL__sub_I_hello_pass.cpp in hello_pass-a40f87.o
  "llvm::Pass::releaseMemory()", referenced from:
      vtable for HelloFuncs in hello_pass-a40f87.o
  "llvm::Pass::dumpPassStructure(unsigned int)", referenced from:
      vtable for HelloFuncs in hello_pass-a40f87.o
  "llvm::Pass::getAsImmutablePass()", referenced from:
      vtable for HelloFuncs in hello_pass-a40f87.o
  "llvm::Pass::getAsPMDataManager()", referenced from:
      vtable for HelloFuncs in hello_pass-a40f87.o
  "llvm::Pass::preparePassManager(llvm::PMStack&)", referenced from:
      vtable for HelloFuncs in hello_pass-a40f87.o
  "llvm::Pass::getAdjustedAnalysisPointer(void const*)", referenced from:
      vtable for HelloFuncs in hello_pass-a40f87.o
  "llvm::Pass::~Pass()", referenced from:
      HelloFuncs::~HelloFuncs() in hello_pass-a40f87.o
      HelloFuncs::~HelloFuncs() in hello_pass-a40f87.o
  "llvm::outs()", referenced from:
      HelloFuncs::runOnFunction(llvm::Function&) in hello_pass-a40f87.o
  "llvm::FunctionPass::createPrinterPass(llvm::raw_ostream&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const", referenced from:
      vtable for HelloFuncs in hello_pass-a40f87.o
  "llvm::FunctionPass::getPotentialPassManagerType() const", referenced from:
      vtable for HelloFuncs in hello_pass-a40f87.o
  "llvm::Pass::getPassName() const", referenced from:
      vtable for HelloFuncs in hello_pass-a40f87.o
  "llvm::Pass::verifyAnalysis() const", referenced from:
      vtable for HelloFuncs in hello_pass-a40f87.o
  "llvm::Pass::print(llvm::raw_ostream&, llvm::Module const*) const", referenced from:
      vtable for HelloFuncs in hello_pass-a40f87.o
  "llvm::Value::getName() const", referenced from:
      HelloFuncs::runOnFunction(llvm::Function&) in hello_pass-a40f87.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [build/hello_pass.so] Error 1
dirac llvm-clang-samples $

On Sep 9, 2015, at 7:22 AM, Eli Bendersky<EMAIL_ADDRESS>wrote:
@ob, what OS and gcc/clang versions do you have?
—
Reply to this email directly or view it on GitHub.

Ah, you're on OS X. Please note that I only officially support it for Linux. I don't have access to a development OS X machine.
I'll create a tag that will make OS-X related issues easier to find, hopefully this will help folks find solutions for their systems.

So I managed to make it compile without errors (by tweaking the Makefile), but
now I get some failures in the test suite. I can make my changes dependent on which
OS you’re running it on and send you a patch, but I’d like to fix the test failures
first. Any ideas what those are about before I spend a bunch of time chasing them?
dirac llvm-clang-samples $ make test
Using LLVM_SRC_PATH = $HOME/projects/llvm/llvm
Using LLVM_BUILD_PATH = $HOME/projects/llvm/build
Using LLVM_BIN_PATH = $HOME/projects/llvm/build/bin
python3 test/all_tests.py
.....FFF.....
FAIL: test_hello_on_fact (test_hello_pass_plugin.TestHelloPassPlugin)
Traceback (most recent call last):
File "/Users/ob/projects/llvm/llvm-clang-samples/test/test_hello_pass_plugin.py", line 12, in test_hello_on_fact
OUTPUT_HELLO_FUNCS)
File "/Users/ob/projects/llvm/llvm-clang-samples/test/tools.py", line 70, in assertOptPluginOutput
self.assertEqual(rc, 0)
AssertionError: 1 != 0
======================================================================
FAIL: test_bar (test_jit_orc_run.TestJITOrcRun)
Traceback (most recent call last):
File "/Users/ob/projects/llvm/llvm-clang-samples/test/test_jit_orc_run.py", line 21, in test_bar
OUTPUT_TWODOUBLEFOO_BAR)
File "/Users/ob/projects/llvm/llvm-clang-samples/test/tools.py", line 59, in assertSampleOutput
self.assertEqual(rc, 0)
AssertionError: -6 != 0
======================================================================
FAIL: test_foo (test_jit_orc_run.TestJITOrcRun)
Traceback (most recent call last):
File "/Users/ob/projects/llvm/llvm-clang-samples/test/test_jit_orc_run.py", line 17, in test_foo
OUTPUT_TWODOUBLEFOO_FOO)
File "/Users/ob/projects/llvm/llvm-clang-samples/test/tools.py", line 59, in assertSampleOutput
self.assertEqual(rc, 0)
AssertionError: -6 != 0

Ran 13 tests in 2.759s
FAILED (failures=3)
make: *** [test] Error 1

FWIW, https://github.com/eliben/llvm-clang-samples/pull/11 mostly solves all these issues. If you don't want to integrate it, it'd be nice to at least put a link to it in the README or have the Makefile fail if it's running on OS X.
I'm still not 100% there, now I have two tests failing:
======================================================================
FAIL: test_bar (test_jit_orc_run.TestJITOrcRun)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/ob/projects/llvm/llvm-clang-samples/test/test_jit_orc_run.py", line 21, in test_bar
    OUTPUT_TWODOUBLEFOO_BAR)
  File "/Users/ob/projects/llvm/llvm-clang-samples/test/tools.py", line 61, in assertSampleOutput
    self.assertEqual(rc, 0)
AssertionError: -6 != 0

======================================================================
FAIL: test_foo (test_jit_orc_run.TestJITOrcRun)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/ob/projects/llvm/llvm-clang-samples/test/test_jit_orc_run.py", line 17, in test_foo
    OUTPUT_TWODOUBLEFOO_FOO)
  File "/Users/ob/projects/llvm/llvm-clang-samples/test/tools.py", line 61, in assertSampleOutput
    self.assertEqual(rc, 0)
AssertionError: -6 != 0

----------------------------------------------------------------------

dirac llvm-clang-samples $ build/jit_orc_run bar inputs/twodoublefoo.ll

Assertion failed: (TM.isCompatibleDataLayout(getDataLayout()) && "Can't create a MachineFunction using a Module with a " "Target-incompatible DataLayout attached\n"), function MachineFunction, file /Users/ob/projects/llvm/llvm/lib/CodeGen/MachineFunction.cpp, line 93.
Abort trap: 6

I am also seeing the OS X test failures

I'm also running on OS X. The patch in #11 was very helpful. It would be really great if it were merged. I also see the same two test failures. I noticed that they're both JIT-related. Since I'm not using any features related to JIT compilation, I haven't been too worried about those tests failing.

@ob The JIT try to find entry for _foo/bar in readed llvm module. Either regenerate twodoublefoo.ll ( clang -cc1 twodoublefoo.c -emit-llvm ) or modify .ll file manually by adding "" to foo/bar ( define double @_foo(double %a, double %b) #0 ) would pass the jit_orc_run test.


Get termsOfServiceUrl from coins, not SP metadata entity

After moving the COIN properties from the SP/AbstractRole metadata entity, the termsOfServiceUrl property was not migrated in the twig template.
I've looked through the templates for other (mis)usages of coins in the twig templates. To no avail.
https://www.pivotaltracker.com/story/show/168565818

It's very strange that the tests weren't failing. I've tested this and the exception is muted if twig isn't in dev mode. I've created a PR for this to reflect this behavior so this could be fixed and be prevented in the future.
https://github.com/OpenConext/OpenConext-engineblock/pull/758

Be aware that this maybe have to be backported to older releases 5.12 513.


MainApp will not run again after initial run unless data file is deleted.

Could be an XMLAdaptedTask issue. Resolving...

Fixed. Reference commit 0591b2f83263a9b403b87aef771d04f4b9cc1864


Graph queries incorrect

There are several places where the document references seemingly outdated information pertaining to Microsoft Graph. I found the proper queries to run using the Graph documentation, but the how-to on purging a Teams message seems to be inaccurate and in need of updates:
I found three issues, specifically:

ISSUE: Step #5 > Get the Case ID notes that you should use the value https://graph.microsoft.com/v1.0/security/ediscovery/cases
o	This query gives me a “Bad Request” error

o	FIX: I found the query that works here is: https://graph.microsoft.com/v1.0/security/cases/ediscoverycases
Reference: List ediscoveryCases - Microsoft Graph v1.0 | Microsoft Learn

ISSUE: Step 5 > Get the collection ID notes that you should use the value https://graph.microsoft.com/v1.0/security/ediscovery/cases('caseId')/sourceCollections
o	This query gives me a “Bad Request” error

o	FIX: I found the query that works here is: https://graph.microsoft.com/v1.0/security/cases/ediscoverycases('caseID')/searches
Reference: List searches - Microsoft Graph v1.0 | Microsoft Learn

ISSUE: Step 5 > Purge the chat messages notes that you should use the value https://graph.microsoft.com/v1.0/security/ediscovery/cases('caseId')/sourceCollections('collectionId')/purgeData
o	This request gives me a “Bad Request” error

o	FIX: I found the request: that works here is: https://graph.microsoft.com/v1.0/security/cases/ediscoverycases('caseID')/searches('collectionID')/purgeData
Reference: ediscoverySearch: purgeData - Microsoft Graph v1.0 | Microsoft Learn
Ultimately, I was able to delete the Teams message successfully, once I made the modifications noted in my FIX notes above.

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

ID: dc20a329-2484-3a90-1843-143dc24a8959
Version Independent ID: dc20a329-2484-3a90-1843-143dc24a8959
Content: Search for and delete chat messages in Teams - Microsoft Purview (compliance)
Content Source: microsoft-365/compliance/ediscovery-search-and-delete-teams-chat-messages.md
Service: o365-seccomp
GitHub Login: @robmazz
Microsoft Alias: robmazz

@ghuber7 Thank you for your feedback. We have made changes to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/10867
Once the author approves, the changes will be live.
Thanks
Sri

@ghuber7 Thanks for your feedback! New issues and pull requests for this content are closed while we update this content to support upcoming feature improvements.


Post-It / Tag feature

Hey,
i would like to know what are you thinking of my idea. I would like to tag pages with special names like 'shakespeer' or 'needtoknow'. After that I would like to be able to search of it directly in the global search with a pre character like  ':needtoknow' or something else. The result should be all pages with this tag now.

Hi @SolidNerd,
Thanks for the suggestion. This is absolutely something I want to be able to do in BookStack and an extra dimension of organisation is requested by many at the moment. This is proposed in #48 and the advanced searching is open in #64. Since this is a combination of the two mentioned issues I will close this one.
I've marked the attribute system (Which will act like tags) to be in the next release and the search will follow later once the attribute system is stable.


Add Netflix and Symmetry to Organisations using D

@wilzbach hope it is okay.  I'm not so good with ddoc.

@wilzbach hope it is okay

No worries, thanks a  lot for submitting and pushing this!
I will fix the details later, but we need the permission from Netflix to be listed here.
Maybe @rostyboost can help and confirm that Netflix is okay with being listed on the organizations using D page?

Could we maybe add Symmetry now and Netflix when they agree?

You can go ahead and list Netflix. However please use the following logo. Thanks

I've updated @Laeeth's branch to address @rostyboost's request.


[Deals Page] Mobile view has a lateral scroll

The mobile version has a lateral scroll.
This is looking directly at the table:

And this is the lateral scroll. Notice the menu at the top how it is to the left, which means we have a small lateral scroll to the right, most probably caused by the table I believe, because that scroll is not in the "What's this" page.

No fix from my side at the moment as it takes time to investigate this issue. Will deal with it after we fixed the other more important issues.

I believe it's related to a padding within a section with width: 100%;. If you add padding to something with width set to 100% it will go outside the parent. Will continue looking into it.

Fixed. https://github.com/Whichost/frontend/pull/253


No focus ring around button based components with material ui

I created an issue at Material ui https://github.com/mui-org/material-ui/issues/9308 but later realized the problem cam by my usage of Saka key.
Is this an issue with Saka key or with Material ui?
If it is an issue with Material UI, does Saka key provide a way to know that a keyboard focus has occurred by using Saka key?

I did some debugging and found that the keyup event on window is never fired when Saka is active.
Material UI uses this event to diffrentiate keyboard interactions from other interactions.
See the code:
https://github.com/mui-org/material-ui/blob/1bec6cf156e08a1f5896f9e984322abf4e29d4c7/packages/material-ui/src/ButtonBase/focusVisible.js#L71
The handleKeyUpEvent is never called. I have debugged Material UI and found that listenForFocusKeys is called with the actual window object both normally and when Saka key is active, so I can only conclude that something Saka does prevents keyup events from firing on the window object.

Superseded by #245


Refactor tests?

Will we be copying tests from this repo again?
Based on the PR to nodejs/node, it looks like it would make sense to have all the tests in a single file.
And .mjs.
And switch test library or add a wrapper so can cut-and-paste:
// node
assert.deepStrictEqual(args, expected);

// here
t.deepEqual(args, expected);
t.end();

👍 would be nice to eliminate the manual replacing I'm doing to match Node's test runner.


Safely migrate from AsyncStorage

Hello.  I really want to replace in my app on all the place AsyncStorage and use MMKV. The problem I have is that I use async storage with redux persist and if I want to change to MMKV I will need to log out users as in redux persist I keep info if the user has a profile, authenticated, etc. Any idea maybe how safely do migration if it is possible?

Well yeah, you can just use something like this:
const hasMigrated = MMKV.getBoolean("hasMigratedFromAsyncStorage")
if (!hasMigrated) {

  const keys = await ... // get all keys from AsyncStorage
  const promises = keys.map(async (key) => {
    const value = await ... // get value for key from AsyncStorage
    MMKV.set(key, value)
  });
  await Promise.all(promises)

  MMKV.set("hasMigratedFromAsyncStorage", true)
}

The migration script is working fine in most cases, but when the apollo-cache-persist item in AsyncStorage is more than 2MB in size, than AsyncStorage.multiGet(keys) will throw an exception. The stacktrace is native C++ pointing to MMKV which is weird and prolonged the investigation of the root cause for us. That's why I wanted to mention here. Below you can find our migration script which wont crash the app if this happens:
const keys = await AsyncStorage.getAllKeys();

 // eslint-disable-next-line no-restricted-syntax
 for (const key of keys) {
   try {
     // eslint-disable-next-line no-await-in-loop
     const value = await AsyncStorage.getItem(key);

     if (value !== null) {
       if (['true', 'false'].includes(value)) {
         MMKV.setBool(key, value === 'true');
       } else {
         MMKV.setString(key, value);
       }

       AsyncStorage.removeItem(key);
     }
   } catch (error) {

   }
 }

The migration script is now added to the Documentation here, so these comments might be outdated.

May I ask why this migration script is using runAfterInteractions?

@mrousavy instead of reading every item you can use multi get:
-const value = await AsyncStorage.getItem(key);

+const keys = await AsyncStorage.getAllKeys();
+const entries = await AsyncStorage.multiGet(keys);

@mrousavy
The described migration didn't work for redux-persist in our case because store was initialized before the first app render, so getItem had been called before the whole migration started. So to fix that we just moved the logic inside of getItem:
import AsyncStorage from '@react-native-async-storage/async-storage';
import { Storage } from 'redux-persist';
import { MMKV } from 'react-native-mmkv';

export const MMKVReduxStorage = new MMKV();

// TODO: Remove `hasMigratedToMMKVStorage` after a while (when everyone has migrated)
export const hasMigratedToMMKVStorage = MMKVReduxStorage.getBoolean(
  'hasMigratedToMMKVStorage',
);

export const reduxStorage: Storage = {
  setItem: (key, value) => {
    MMKVReduxStorage.set(key, value);
    return Promise.resolve(true);
  },
  getItem: async (key) => {
    let value: string | undefined;
    // TODO: Remove the whole if block after a while (when everyone has migrated)
    if (!hasMigratedToMMKVStorage) {
      try {
        const asyncStorageValue = await AsyncStorage.getItem(key);
        if (asyncStorageValue !== null) {
          if (['true', 'false'].includes(asyncStorageValue)) {
            MMKVReduxStorage.set(key, asyncStorageValue === 'true');
          } else {
            MMKVReduxStorage.set(key, asyncStorageValue);
          }
          value = asyncStorageValue;
          AsyncStorage.removeItem(key);
        }
      } catch (error) {
        AsyncStorage.removeItem(key);
      }
      MMKVReduxStorage.set('hasMigratedToMMKVStorage', true);
    }
    if (!value) {
      value = MMKVReduxStorage.getString(key);
    }
    return Promise.resolve(value);
  },
  removeItem: (key) => {
    MMKVReduxStorage.delete(key);
    return Promise.resolve();
  },
};


Add autoHeight to Table and List documentation

Just updating a bit of documentation that I found lacking while setting up WindowScroller. Thanks!

Current coverage is 98.17% (diff: 100%)

Merging #429 into master will not change coverage

@@             master       #429   diff @@
==========================================
  Files            61         61
  Lines          4224       4224
  Methods         894        894
  Messages          0          0
  Branches        318        318
==========================================
  Hits           4147       4147
  Misses           77         77
  Partials          0          0

Powered by Codecov. Last update d19449c...dd74933

Hey @alurim. Thanks! 😁


String#toQueryParams() should be opposite to Object.toQueryString()

previous lighthouse ticket #1402
by Victor

In previous versions of Prototype String#toQueryParams() was exact opposite to Object.toQueryString(), i.e.
Object.toQueryString({"some name": "some value"}).toQueryParams()["some name"] === "some value";

It returned copy of source object. This symmetry is broken now: toQueryString() replaces spaces with + accordingly to HTML spec, but toQueryParams() does not restore them back:
Object.toQueryString({"some name": "some value"}).toQueryParams()["some name"] === "some+value";

This got fixed in f2a1136992a7ade837ce6c3bf43eec4381793a7a.


Use "missing source" with 'remaining_child_state' as dynamic update throttle

Is your feature request related to a problem? Please describe.
I don't think so.
Describe the solution you'd like
Sometimes, when using 'remaining_child_state' which evaluates bigger than source (f.e. when child update frequency is higher than that of the sources) provided the chart shows in the column "empty space" which could be interpreted as missing source. So my question or propose for a feature is: Could this temporary state be used as a update throttle? Simply delay the update of the chart until is this state "solved".
Screenshot of described state

Describe alternatives you've considered
Playing with the throttle configuration but it does not solve the "issue" completely.
Additional context
Could be configurable by simple bool item withing configuration of single entity in sections. With some default max wait time for the state to "solve" so it prevents chart freeze by some kind of a misconfiguration or anything like that.

Thanks for the feedback. The solution for this is actually #37 . Instead of throttling we can figure out what the parent should be. I have a draft already but it is not quite ready yet


Incorrect exercise: [courseId=grammar-intro_eng][lessonNumber=5][exerciseId=1826]

Description
English prompt too specific.  {xu do djuno lo se ciska ku} simply asks the audience, literally, "know you the thing that was written?" and does not convey anything regarding the truth of what was written.
Diagnostics information (do not remove)

Exercise identifier: [courseId=grammar-intro_eng][lessonNumber=5][exerciseId=1826]
Exercise payload: {"sentences":[{"text":"Did you know that what was written is true?","lojbanic":false}],"title":"Translate this sentence","type":"typing"}
Attempted solution: {"text":"xu do djuno lo se ciska ku"}
Attempted solution was classified as correct: yes
Validation payload: {"canonicalAnswer":"xu do djuno lo se ciska ku","correct":true}

I agree. I remember coming across this exercise. I was confused about the word "true". Perhaps this edit would suffice: Do you know what was written?

Thank you both! I strongly agree, the English sentence is awful.
I ended up removing it, as I believe fully fixing it would be difficult.


Update SwiftSpinner.swift

Ιn case there are more than one windows.

I merged https://github.com/icanzilb/SwiftSpinner/pull/47 instead, which I think has the same effect but a little cleaner code. Thanks for the PR


[Desktop app] Invalid JSON RPC response: "project id required in the url"

Description
ParaSwap users reported to us that the desktop Safe app fails with "Invalid JSON RPC response: "project id required in the url" error.
Evidence also shows that this happens for other Safe apps (see here user reporting same issue with Revoke.cash).
Environment

Browser: Desktop Safe App on Macbook
Wallet: WalletConnect

Steps to reproduce
Could not circle down to a reproducible scenario.
A bit of debugging revealed that RpcServiceUrl can be formed without API token, possibly because the Electron App could be built without REACT_APP_SAFE_APPS_RPC_INFURA_TOKEN env var.

cc @dasanra

@phamdongtruong99 @mwamedacen we have created a new desktop build that should work as expected
https://github.com/safe-global/safe-react/releases/tag/v3.33.2%2Bdesktop
Thank you for reporting and your patience


Display server timezone in notifications in general.

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

Description
Timezone is still wrong in release in push notifications as reported in issue 40.
This is the notification:

This is the settings page:

👟 Reproduction steps
Set server and display timezone in settings, trigger a notification on a monitor.
👀 Expected behavior
The Time Zone and time in the notification would be as set in the settings.
😓 Actual Behavior
The Time Zone and time in the notification remain UTC
🐻 Uptime-Kuma Version
1.19.0-beta.0
💻 Operating System and Arch
Rocky Linux 8.6 (Green Obsidian)
🌐 Browser
Version 107.0.5304.108 (Official Build) (64-bit)
🐋 Docker Version
Docker version 20.10.2
🟩 NodeJS Version
No response
📝 Relevant log output
No response

I would say this issue is not just in discord notifications. It also happends in pushover as well.

Yes, we have tested in mattermost too and the same thing occurs.

same problem with slack

Does anyone know if this will be fixed?

Does anyone know if this will be fixed?

Hi Everyone,
Issue is still there with Discord notifications! Any plan to fix it?
Thx in advance.

I would also be happy if the time is displayed correctly in the Discord notifications. Is that so complicated to implement?

Same Timezone issue.
Received notification Email contents:
[Nextcloud] [✅ Up] 200 - OK
Time (UTC): 2023-06-10 12:35:25.844
Actual local time is 20:35 (UTC +08:00)

@TheBakaBandit I accidentally did not tag this issue in #3203
Could you close this issue?
This will be included in the next release (it is just around the corner)


Handle email addresses encapsulated in double quotes

Found another fairly major processing glitch there's now tests for in https://github.com/HaveIBeenPwned/EmailAddressExtractor/commit/84ee6089600eea82fd98ded17ec5501bec5ce22a. By running this app back to back with my oldie, I'm getting a good sense of how well the result sets align.
FWIW, I'm currently running it against this data set 😲 https://twitter.com/troyhunt/status/1651140792701059072
Lot of stuff like this:
a:6:{s:5:\"email\";s:23:\"test@example.com\";s:8:\"password\";s:8:\"an

Picking this up🚀

Perfect!


Add setting for expiry format, add helper methods in login view

Replaces #179
Fixes #171
Fixes #178

Now expiry format defaults to whatever is used Django REST framework
This behavior can be overriden via EXPIRY_DATETIME_FORMAT setting
fully customizable expiry format via format_expiry_datetime
fully customizable response payload via get_post_response_data

Thanks, no problem. It was a pleasure.

@belugame any chance to have a second pair of eyes on this and maybe a version bump?


Active participation and message signing APIs in Lotus

(this will expose a new miner API)

Ready in Lotus PR


Hide update page on non client mode

The update page shall not be available, neither on the index nor on the URL path, in case of a non client setup (AP, setup)

Allow modbus data pages only if not in setup mode


[HUDI-7504] replace expensive existance check with spark options

The incremental source (for S3 and GCS) performas an existance check for the object (in the object store). This can be an expensive operation. This can be replaced with two spark session configs: spark.sql.files.ignoreMissingFiles and spark.sql.files.ignoreCorruptFiles. The documentation for the same can be found in https://spark.apache.org/docs/latest/sql-data-sources-generic-options.html#ignore-missing-files.
Of specific interest in the documentation is these lines, "Here, missing file really means the deleted file under directory after you construct the DataFrame.". This seems to be the case with the existance check in CloudObjectsSelectorCommon.java. Specifically, if someone wants to check for the existance of a file while the dataframe itself is being created, then this will not work.
Added a test case by simulating file deletions after DataFrame is created in TestCloudObjectsSelectorCommon::ignoreMissingFiles
Change Logs
GcsEventsHoodieIncrSource.java and S3EventsHoodieIncrSource.java
Set the two spark options in sparkSession iff ENABLE_EXISTS_CHECK is set in the property. The two options are spark.sql.files.ignoreMissingFiles and spark.sql.files.ignoreCorruptFiles.
CloudObjectsSelectorCommon.java:
Remove the call to checkIfFileExists(...) when building a URL for a file
IncrSourceCloudStorageHelper.java:
Set teh same spak options in the sparkSession. These functions do not seem to be used anywhere, but cleaning up the usage of file-existance-check regardless.
TestCloudObjectsSelectorCommon.java: New test case for the said funtionality
Impact
None
Risk level (write none, low medium or high below)
Low. New tests and existing tests should suffice.
Documentation Update
none
Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

Tagging @rmahindra123 @vinishjail97 for the review


feat: provide a back button when reading the blog

No back button may make users confused. Provide the theme toggle button is also good.

done at 623c8e14d452966c9b96f2dd01e46f1df4b7fbbf.


move pipx to src/pipx

fixes #259, see that issue for motivation

Should we also change Venv.py -> venv.py, SharedLibs.py -> shared_libs.py in this reorganization?


Create peer for wireguard via API

I'm struggling with creating peers via API for my wireguard. I've managed to build this curl:
curl -X POST \
  -d '{ "clients": [ { "enabled": true, "name": "apitest", "pubkey": "pub_key_value", "tunneladdress": "<IP_ADDRESS>/32", "serveraddress": "<IP_ADDRESS>", "serverport":51280, "keepalive": 25} ]}' \
  -H "Content-Type: application/json" \
  -k \
  -u "key:secret" \
  https://IP:443/api/wireguard/client/set

as a result of this curl im getting response:
{"result":"saved"}
The problem is in gui I don't see this user, any idea why it doesn't work?

No one knows?

Best to ask at the Forums for such support, saves time to let the coders write code :)

Just to be fair the forum post is probably https://forum.opnsense.org/index.php?topic=39351.0

I replied in the forums ...


FIX: missing channels/fiducials can be np.nan

This essentially fixes the problem I encountered in #11610 in the context of localizing iEEG channels and microelectrodes on a high-resolution CT scan (for you, GitHub: fixes #11610).
The problem was that all my channel positions localized in the ieeg GUI were NaN'ed when using apply_volume_registration_points to transfer point positions from high resolution CT space to MRI coords. One of the last steps in apply_volume_registration_points was using compute_native_head_t, and this function assumes that fiducials are not present only when at least one of the fiducial positons is None, while in my case they were al np.nan.  So np.nan positions were treated as valid fiducial positions and used to NaNihilate my valid channel positions. :)
I assume here that using np.nan for no channel position information is now the default in mne (info objects created via mne.create_info have info['chs'][idx]['loc'] as all np.nans by default), and that compute_native_head_t should treat nans as no positios as well, but maybe that assumption is not correct (for example maybe mne.io._digitization._get_fid_coords should return None for fiducials with np.nan positions).
So this fixes the problem I was experiencing, but mabe some other fix would be preffered.

Yes nan should be treated as invalid. Any easy way to add a test here?
For fiducials usually I think we try to use None if they are not present rather than nan. But if that's a harder fix this one is already an improvement

Looks good, once the test gets added

sorry for the delay, I'll finish this during this weekend.

Here is the cause of the problem, the code below is a modified version of how ieeg gui saves channel positions into info:
import mne
import numpy as np
from mne.io._digitization import _get_fid_coords

channels = list('ABCDEF')
info = mne.create_info(channels, 1000, ch_types='seeg')

ch_pos = [info['chs'][ch_idx]['loc'][:3] for ch_idx in range(len(channels))]
montage_kwargs = dict(ch_pos=dict(), coord_frame='head')
for ch_idx, ch in enumerate(channels):
    montage_kwargs['ch_pos'][ch] = ch_pos[ch_idx]

new_montage = mne.channels.make_dig_montage(**montage_kwargs)
info.set_montage(new_montage)

# using _get_fid_coords on new_montage returns None:
fid_coords, coord_frame = _get_fid_coords(new_montage.dig, raise_error=False)
print(fid_coords)
print(coord_frame)

# {'nasion': None, 'lpa': None, 'rpa': None}
# None

# however when we get the montage back from info (after it was applied to it)
# we get some estimated fiducials - calculated from the channels somehow
# but when some channels do not have positions (are np.nan) these fiducials
# get calculated as np.nan too
recovered_montage = info.get_montage()
fid_coords, coord_frame = _get_fid_coords(recovered_montage.dig, raise_error=False)
print(fid_coords)
print(coord_frame)

# {'nasion': array([nan, nan, nan]),
# 'lpa': array([nan, nan, nan]),
# 'rpa': array([nan, nan, nan])}

# (FIFFV_COORD_HEAD)

I understand that channels are transformed into head coordinates when applying the montage, but I don't know how this is done when there are no fiducials and how the fiducials are calculated from channel positions then.
I can use the example above as a test unless you the way fiducials are calculated when recovering montage is incorrect (including np.nan for example).

I get unrelated test failures:
FAILED mne/forward/tests/test_make_forward.py::test_make_forward_solution_ctf[testing_data-openmeeg] - AttributeError: module 'openmeeg' has no attribute 'Geometry'
FAILED mne/forward/tests/test_make_forward.py::test_make_forward_solution_openmeeg[3] - AttributeError: module 'openmeeg' has no attribute 'Geometry'
FAILED mne/forward/tests/test_make_forward.py::test_make_forward_solution_openmeeg[1] - AttributeError: module 'openmeeg' has no attribute 'Geometry'

ok, I'll add a whatsnew bugfix entry today.


updated signup and login page

ok i will check this

thanks for contribution

sorry we can't accept this
theme changes are not approved

What kinda theme are you looking for? I can design as you'd like it
On Sat, Oct 2, 2021, 21:00 john @.***> wrote:

Closed #12 https://github.com/johnbabu021/shopping-cart/pull/12.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/johnbabu021/shopping-cart/pull/12#event-5398371658,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQVOIVHKEHI6DK3Y7XLRXYLUE4QQFANCNFSM5FGOUKEA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


[AutoComplete] "openOnFocus" is defective

Problem description
the prop "openOnFocus" from the AutoComplete Component doesn't function as desired because the filter function doesn't take in consideration the prop.
filter: (searchText, key) => searchText !== '' && key.indexOf(searchText) !== -1,
so when the prop is true nothing really happens because the searchText == ""
Link to minimal working code that reproduces the issue
<AutoComplete          openOnFocus          hintText="Type anything"          dataSource={ [ "exeption1","other Type", "another Type" ]}          onUpdateInput={this.handleUpdateInput}    />

Versions

Material-UI: 17.4
React: 15.5
Browser:

+1

Can't you just set  filter={(searchText, key) => (key.indexOf(searchText) !== -1)} to get the functionality you're looking for?

Yea that is what I did on my end. However, if someone downloads the library and tries the prop "openOnFocus" it will not work.

So perhaps the solution would be to override the default filter with (searchText, key) => (key.indexOf(searchText) !== -1) if openOnFocus is true and no filter is provided.

Closed by #4783


add propertyPath for 422 response body

a/c:

422 response body should follow the following format

[
{
"reason": "string",
"message": "string",
"referenceError": "string",
"code": "missingProperty",
"propertyPath": "string"
}
]

the path of the error property should be put into "propertyPath"

pass the 422 code format:


fix: remove modelina specific code from website

Description

Remove the modelina specific file from website

Related issue(s)

Resolves #1480

I will also need to add redirection for the modelina website

When it click on try it now button on this link https://www.asyncapi.com/tools/modelina
It should point to the modelina.org playground
That would be a good option.

@derberg this a proposed solution
In this we are just not rendering the playground and redirecting it to modelina.org/playground
Regarding other code ,if we remove it then we won't it able to render this page
@jonaslagoni want your views also on this one
I think we need to keep the other files as we won't we able to render this page

LGTM 👍

@sambhavgupta0705

I think we need to keep the other files as we won't we able to render this page

can you specify what files you have in mind and what we will not be able to render?

@sambhavgupta0705

I think we need to keep the other files as we won't we able to render this page

can you specify what files you have in mind and what we will not be able to render?

So we need to keep this code of modelina : https://github.com/asyncapi/website/tree/master/components/modelina
As we won't be able to render this page

no, let's make everything we can to get rid of the dependency to modelina 😄  just mock the geneerator code and output model, and do not enable "editing". We just need a picture, and play part is in modelina website

hey @derberg PTAL

removed all modelina specific code
removed all the imported modules

@derberg I have one more thought that should we make some changes in this page design as there is a lot of space in between

I think it looks good, just please remove modelina from package.json

Hey @derberg done with all the changes

I have made some UI changes for small screens .PTAL

@akshatnema we need your approval

/rtm


Can't play songs with StreamType.OPUS

Please describe your problem in as much detail as possible:
When I put the but on streamMode 2  (OPUS mode). I got this error: (I'm using @discordjs/voice and with StreamType.RAW that works fine I can't play certain songs https://github.com/skick1234/DisTube/issues/242)

Further information:

DisTube version: 4.0.0-dev5
discord.js version: 14dev
Node.js version: 16.15.1 LTS
Operating system: PopOS 22.04  / Windows 11 Sun Valley (the error happen on both)

The screen was taken on PopOS


Field required but can accept empty string

Is it possible to validate a field to make the key mandatory but allow empty string in it?
The required validation does check for the existence of a key but does not allow empty values.
Am i missing something here?
Thanks in advance.

For example Laravel has a present rule for this scenario that is very useful: https://laravel.com/docs/8.x/validation#rule-present


Database configuration specifies 'litedb' adapter but that adapter has not been registered.

I successfully got litestack gem installed (using this fork of the fix for Rails 7.2.0-alpha: https://github.com/oldmoe/litestack/pull/106) but now whenever I try to do anything related to the database (like running: rake db:setup or running the rails generator for models), I get the following error:
rake aborted!
ActiveRecord::AdapterNotFound: Database configuration specifies 'litedb' adapter but that adapter has not been registered. Ensure that the adapter in the Gemfile is at the latest version. If it is, then the adapter may need to be modified. (ActiveRecord::AdapterNotFound)
<internal:/Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
<internal:/Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
Tasks: TOP => db:setup => db:create => db:load_config
(See full trace by running task with --trace)

Am I missing some step or could this be another issue with the Rails main branch? Or maybe something else?

I wonder if you need to do a look up the rake task dependency list the answer may be there

Do you have litestack higher up in your Gemfile than rails? Because this line seems to assume Rails is loaded first.
It feels like it should be moved to the Railtie in an ActiveRecord on_load hook.

Do you have litestack higher up in your Gemfile than rails? Because this line seems to assume Rails is loaded first.

Litestack gem is at the bottom of my Gemfile currently.

I have confirmed that this is probably a conflict with Rails 7.2.0-alpha (main branch). What I did to test this:
On stable (7.1) branch:
rails new project_name_stable --css=tailwind --asset-pipeline=propshaft --skip-test --skip-system-test --skip-action-mailbox
cd project_name_table
bundle add litestack
rails generate litestack:install
rails app:template LOCATION='https://avohq.io/app-template'
rake db:setup

Works no problem.
On main (7.2.0-alpha) branch:
rails new project_name_main --main --css=tailwind --asset-pipeline=propshaft --skip-test --skip-system-test --skip-action-mailbox
cd project_name_main
bundle add litestack
# Note: I have to update my Gemfile to point to my fork with the sqlite3_production_warning fix to be able to use the gem
rails generate litestack:install
rails app:template LOCATION='https://avohq.io/app-template'

When I try to bundle, I noticed:
$ bundle
Fetching https://github.com/zackgilbert/litestack.git
Fetching gem metadata from https://rubygems.org/..........
Resolving dependencies...
Using rack 2.2.9 (was 3.0.10)
Using rack-session 1.0.2 (was 2.0.0)
Using rackup 1.0.0 (was 2.1.0)
Using hanami-router 2.1.0 (was 0.6.2)
Bundle complete! 18 Gemfile dependencies, 112 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.

And when I ran a model generation, I got this full stack trace:
$ rails g model Project title:string summary:string link_url:string price:string experience:string
/Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/activerecord/lib/active_record/connection_adapters.rb:85:in `resolve': Database configuration specifies 'litedb' adapter but that adapter has not been registered. Ensure that the adapter in the Gemfile is at the latest version. If it is, then the adapter may need to be modified. (ActiveRecord::AdapterNotFound)
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/activerecord/lib/active_record/database_configurations/database_config.rb:18:in `adapter_class'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/activerecord/lib/active_record/database_configurations/database_config.rb:26:in `validate!'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/activerecord/lib/active_record/connection_adapters/abstract/connection_handler.rb:268:in `resolve_pool_config'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/activerecord/lib/active_record/connection_adapters/abstract/connection_handler.rb:116:in `establish_connection'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/activerecord/lib/active_record/connection_handling.rb:53:in `establish_connection'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/activerecord/lib/active_record/railtie.rb:273:in `block (2 levels) in <class:Railtie>'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/activesupport/lib/active_support/lazy_load_hooks.rb:97:in `class_eval'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/activesupport/lib/active_support/lazy_load_hooks.rb:97:in `block in execute_hook'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/activesupport/lib/active_support/lazy_load_hooks.rb:87:in `with_execution_control'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/activesupport/lib/active_support/lazy_load_hooks.rb:92:in `execute_hook'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/activesupport/lib/active_support/lazy_load_hooks.rb:78:in `block in run_load_hooks'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/activesupport/lib/active_support/lazy_load_hooks.rb:77:in `each'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/activesupport/lib/active_support/lazy_load_hooks.rb:77:in `run_load_hooks'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/activerecord/lib/active_record/base.rb:337:in `<module:ActiveRecord>'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/activerecord/lib/active_record/base.rb:15:in `<main>'
	from <internal:/Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
	from <internal:/Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/zeitwerk-2.6.13/lib/zeitwerk/kernel.rb:34:in `require'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/railties/lib/rails/generators/generated_attribute.rb:69:in `dangerous_name?'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/railties/lib/rails/generators/generated_attribute.rb:46:in `parse'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/railties/lib/rails/generators/named_base.rb:184:in `block in parse_attributes!'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/railties/lib/rails/generators/named_base.rb:183:in `map'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/railties/lib/rails/generators/named_base.rb:183:in `parse_attributes!'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/railties/lib/rails/generators/named_base.rb:17:in `initialize'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/railties/lib/rails/generators/model_helpers.rb:27:in `initialize'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.3.1/lib/thor/group.rb:226:in `new'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.3.1/lib/thor/group.rb:226:in `dispatch'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.3.1/lib/thor/base.rb:584:in `start'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/railties/lib/rails/generators.rb:262:in `invoke'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/railties/lib/rails/commands/generate/generate_command.rb:26:in `perform'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.3.1/lib/thor/command.rb:28:in `run'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.3.1/lib/thor/invocation.rb:127:in `invoke_command'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/railties/lib/rails/command/base.rb:178:in `invoke_command'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.3.1/lib/thor.rb:527:in `dispatch'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/railties/lib/rails/command/base.rb:73:in `perform'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/railties/lib/rails/command.rb:71:in `block in invoke'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/railties/lib/rails/command.rb:149:in `with_argv'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/railties/lib/rails/command.rb:69:in `invoke'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rails-0033d4623693/railties/lib/rails/commands.rb:18:in `<main>'
	from <internal:/Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
	from <internal:/Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
	from /Users/zackgilbert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	from bin/rails:4:in `<main>'

Hope this helps.


pyvenv: Verify that latest works

This test currently fails because of https://github.com/voxpupuli/puppet-python/issues/586

Pull Request (PR) description

This Pull Request (PR) fixes the following issues

resubmission of https://github.com/voxpupuli/puppet-python/pull/591


update the wrapper so it works with newer versions of the beta

Hey,
I don't know how easily it can be done, but i'm trying to have the MMCorePy library work with the newer versions of the micromanager beta or gamma branch, unfortunately, your compilation is only compatible with the build up to June 2016, and some of my devices are only compatible with newer beta/gamma branches. I tried doing it myself but i can't get it to work! Could you if it's not to hard to do since you've done it once, recompile the library with newer micromanager branches?
EDIT : it's not really urgent or super important, so if it takes little to no time to do i would love if you do, otherwise don't bother!
Thanks in advance!

I'm actually on internship for the next 3 weeks so it's tough to find time at the moment - after the end of August, I will certainly update the binaries, and ideally write up a guide for how I did this. In the meantime, I used this guide to set-up the compilation if you're interested in trying yourself:
https://micro-manager.org/wiki/Building_MM_on_Windows
I did this 1.5 years ago now so I'm short on details, but I recall using the latest VS Community edition with the Win7 SDK, and changing the MMCorePy solution properties to point to my anaconda python installation. Hope this is helpful in the meantime!

Thanks for the response,
so after a bit of looking around I've actually managed to compile my drivers with the version you compiled the MMCorePy. It's not ideal as i'm not really up to date with the nightlies but in any case it works great for now! I had tried to do it myself but i was having too many troubles (only regarding the MMCorePy compilation). Anyway it seems as though the MM team will be moving to 3.6 soon anyway, so if it's still not official by the end of your internship, the new version you compile will be welcome!
Thanks again!


Error using UglifyJSPlugin with node 8.2.1

TypeError: "string" must be a string, Buffer, or ArrayBuffer
    at Function.byteLength (buffer.js:477:11)
    at UglifyJSPluginClass.postBundle (C:\VSProjects\gitlab\skirmish-vt-4\webclient\node_modules\fuse-box\dist\commonjs\plugins\UglifyJSPlugin.js:29:28)
    at plugins.forEach.plugin (C:\VSProjects\gitlab\skirmish-vt-4\webclient\node_modules\fuse-box\dist\commonjs\core\WorkflowContext.js:383:34)
    at Array.forEach (native)
    at WorkFlowContext.triggerPluginsMethodOnce (C:\VSProjects\gitlab\skirmish-vt-4\webclient\node_modules\fuse-box\dist\commonjs\core\WorkflowContext.js:368:22)
    at FuseBox.triggerPost (C:\VSProjects\gitlab\skirmish-vt-4\webclient\node_modules\fuse-box\dist\commonjs\core\FuseBox.js:124:22)
    at realm_utils_1.chain.then.then.result (C:\VSProjects\gitlab\skirmish-vt-4\webclient\node_modules\fuse-box\dist\commonjs\core\FuseBox.js:270:26)
    at <anonymous>

const production = true;
const fuse = FuseBox.init({
  homeDir: 'src',
  output: `dist/$name.bundle.js`,
  plugins: [
    fb.EnvPlugin({ NODE_ENV: production ? "production" : "development" }),
    fb.TypeScriptHelpers(),
    fb.JSONPlugin(),
    production && fb.UglifyJSPlugin()
  ],
  // hash: production,
  cache: !production,
  log: false,
  debug: false,
  sourceMaps: production ? false : { project: true, vendor: false }
});

Make sure you have THE latest uglify-js installed. They made a breaking change.

And I would recommend switching to Quantum for production, you could remove UglifyJS from the plugin list and just use uglify: true

I'm using uglify-js 3.0.27, the latest version according to npm. is there a newer one?
Btw, thanks for the quantum tip

@devmondo @xaviergonz this was resolved in the VuePlugin PR #832 here
I think this issue can be closed now.


[improvement] reject duplicate push request if the first one is not completed yet

Given
a push request is either aknowledged or in progress
when
a new push request is triggered by user for total same env and same time range
Then
Kraken should reject the request with clear reason

pass


ARROW-15934: [Python] Expose write_batch_size in python

Already exposed in C++. Useful when dealing columns of large strings.

Added more commentary in the docstring, but I am intentionally trying to be somewhat vague here

Thanks for the update, sounds good!

Added a test, however I don't think there is a good way to inspect the resulting pages sizes programmatically so this is really just a test that the keywords are accepted.

I just moved the test from test_basic.py (test_parquet_writer.py currently has tests specifically for the ParquetWriter API, while this is a test for a generic keyword, and eg the data_page_size keyword is also tested in test_basic.py)


Cannot import

System Info
accelerate==0.19.0

OS:
NAME="Ubuntu"
VERSION="20.04.5 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.5 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

Python 3.8.10

torch==2.0.1

container:
nvcr.io/nvidia/pytorch:23.04-py3

Information

[X] The official example scripts
[ ] My own modified scripts

Tasks

[ ] One of the scripts in the examples/ folder of Accelerate or an officially supported no_trainer script in the examples folder of the transformers repo (such as run_no_trainer_glue.py)
[ ] My own task or dataset (give details below)

Reproduction
I cannot import accelerate
Command:
from accelerate import Accelerator
Error:
ImportError: /usr/local/lib/python3.8/dist-packages/transformer_engine_extensions.cpython-38-x86_64-linux-gnu.so: undefined symbol: _ZN5torch3jit17parseSchemaOrNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE

Container image:
nvcr.io/nvidia/pytorch:23.04-py3
Error showed up when I updated the xformer:
pip install xformers
It downgraded my torch from 2.1.0 to 2.0.1:
Successfully uninstalled torch-2.1.0a0+fe05266

Successfully installed mypy-extensions-1.0.0 nvidia-cublas-cu11-<IP_ADDRESS> nvidia-cuda-cupti-cu11-11.7.101 nvidia-cuda-nvrtc-cu11-11.7.99 nvidia-cuda-runtime-cu11-11.7.99 nvidia-cudnn-cu11-<IP_ADDRESS> nvidia-cufft-cu11-<IP_ADDRESS> nvidia-curand-cu11-<IP_ADDRESS> nvidia-cusolver-cu11-<IP_ADDRESS> nvidia-cusparse-cu11-<IP_ADDRESS> nvidia-nccl-cu11-2.14.3 nvidia-nvtx-cu11-11.7.91 pyre-extensions-0.0.29 torch-2.0.1 typing-inspect-0.9.0 xformers-0.0.20

Expected behavior
Successfully import the library:
input:
from accelerate import Accelerator
output:
none

That's a problem between PyTorch and xformer. You should report the issue on their repos :-)


Tank of "Gas" crashes [BUG]

[Please fill out the form below and delete the sections in square brackets after reading them]
Version of Advanced Rocketry

[AdvancedRocketry-1.12.2-1.7.0-232-universal

Why is this important?
Knowing the version of Advanced Rocketry helps us narrow down an offending piece of code faster because we can easily determine what code is added and when.]

Have you verified this is an issue in the latest unstable build

[x] N/A

[Why is this important?
If you're not testing with the latest build, you may be encountering a bug that's already been fixed.
Reporting bugs that have already been fixed wastes everyone's time.  (please look in open issues too, somebody else could have already reported it!)]

Version of LibVulpes

[LibVulpes-1.12.2-0.4.2-24-universal
Why is this important?
Advanced rocketry depends on a library mod (LibVulpes), some errors can really be in that mod.  So knowing the verison helps us not only start looking for fixes there without you needing to anwer more questions, it also helps us know if you have a version mismatch.]

Version of Minecraft

[1.12.2

Why is this important?
Different versions of minecraft have different codebases for Advanced Rocketry.  Knowing the version of minecraft (and thus AR) helps us pinpoint issues quicker!]

Does this occur without other mods installed

[x] Y
[x] N
[x] (Happens with both)

If Y, what is the MINIMUM set of mods required.
Advanced Rocketry & LibVulpes
[Why is this important?
Sometimes interactions between mods cause issues.  While it can be a problem with Advanced Rocketry, sometimes it's not.  When there are a lot of mods, it can take bugtesters HOURS to go through the list to determine the root cause.  When there are a lot of bug reports, that can add DAYS to the time it takes to fix a large set of issues.]

Crash report or log or visualVM (if applicable)
http://pastebin.com is a good place to put them
crash reports that are put in the issue itself are
hard to read

[https://pastebin.com/YviqxD7Y
If it's an issue involving lag, please submit a visualVM sampler snapshot.  Mods like lag goggles often do not provide the kind of information needed to debug lag.
For more information on how to create a snapshot, please see "How to Run CPU Sampling" here.  Then export the snapshot as an .nps.  You may have to zip it since github is weird, then please upload it here.

Why is this important?
Full crashlogs contain valuable information like where exactly in the code the error occurred, what other mods may be running and what version of forge you have.  This helps us replicate and diagnose the issue FAR faster.]

Description of the problem

Take a Gas Pad.
Take ANY Tank of [Gas] (like "Tank of Oxygen")
Open the GUI
Try to put the Tank of [GAS] in
Be happy that youve experienced a crash

Why is this important?
If we cannot reproduce the problem, we probably cannot fix it at all.]

Old version

Oh bruh, CurseForge App again


readme: Advertise digital ocean droplet and docker install.

new:

old:

The full thing looks like

Do we want to advertise this on our installation requirements page or anywhere else as well?

It's already on the installation page, just on latest rather than stable.

Merged, thanks @rishig!  (CI failure was an infra flake)


Implement travis-ci with pytest

Issue and Steps to Reproduce
Gotta add that CI ya know.
Version
v2
Expected
automatic running of tests w/ pytest

This is definitely something that should be fairly easy after we get "decent" code coverage.

Yup. I also think we should edit our PR template to reference existing or new tests

If you need help w/ ci lmk

sure yea. I saw an example travis.yml that was super straight forward. All it did was declare the python env, and call pytest. I figure I'll just do something like that

facts thats basically it lol. It can get really neat for other projects with multiple jobs and CD


Clear value of component

Is that possible?
In react that possible as:
this.setState({'value':''});
How to do it for InputElement?
Thanks.
P.S Reset form not work for InputElement.

One way to solve it is creating a wrapper component, like this:
`
import React from 'react';
import InputElement from 'react-input-mask'
export default class MaskedInput extends React.Component {
componentWillReceiveProps(nextProps){
if(!nextProps.value)
this.refs.inputElement.setState({value: ""})
}
render() {
return (
<InputElement ref="inputElement" {...this.props}/>
)
}
}
`

I am also having an issue when I am trying to reset a form with an InputMask. All of my other input reset properly but the InputMask retains its value.

I've tried what @alymenbr suggested but didn't work for me until I used this.refs.inputElement.value=''. It's not React style, but it fix the problem for now 😄

@sanniassin Is there any better workaround? I'm using react-hook-form and when I send undefined value retains :/


Feat: 21 playwright setup

card: https://app.zenhub.com/workspaces/climate-action-secretariat-60ca4121764d710011481ca2/issues/gh/bcgov/cas-registration/21

Finishing in https://github.com/bcgov/cas-registration/pull/127


Header View Height Changed - Doesn't Space Allocated

When the header view's height is changed after the header has been added to the grid, it doesn't actually change the height of the header.  The case I am using is that there is some text with only some of it displayed in the header, and when the user clicks on it in enlarges to display everything.  I do this by increasing the max lines of the TextView.  When the header is attached to a ListView, this works fine.  When the header is attached to this GridViewWithHeaderAndFoot, the text grows but goes behind the main part of the grid since the header itself stays the exact same height.  Any idea where I should start looking to fix this?

I have also tried variations of stuff like this:
headerGridView.invalidateRowHeight();
headerGridView.requestLayout();
headerGridView.invalidate();

OK, I will try to fix this today.

I've post and demo to check this issue, it seems ok:  https://github.com/liaohuqiu/android-cube-app/blob/master/src/in/srain/cube/demo/ui/fragment/GridViewWithHeaderAndFooterFragment.java,
https://github.com/liaohuqiu/android-cube-app/commit/d336fda244f1c7ac6e4ce53739fba4445528d97c

It might be because I am using a much more complicated layout in my header.  Here is the layout I am inflating and putting in the header: https://github.com/daneren2005/Subsonic/blob/master/res/layout/select_album_header.xml.  I am thinking it might be because the LinearLayout which contains the enlarging text is set to wrap_content and it is not recalculating.

Try to calll notifyDataSetChanged(), the GridView will re-layout.

I've updated the demo. The problem has been reproduced. If notifyDataSetChanged() did not be called, the header will not be re-layout. Simply call notifyDataSetChanged() will fix this. https://github.com/liaohuqiu/android-cube-app, https://github.com/liaohuqiu/android-cube-app/blob/4365b5388ba5fb8c36b8dca33b457b1060f9846f/src/in/srain/cube/demo/ui/fragment/GridViewWithHeaderAndFooterFragment.java

I have also tried setting the height of the header view itself which does not seem to make any difference:
FrameLayout.LayoutParams lyp = (FrameLayout.LayoutParams) header.getLayoutParams();
lyp.height = 1000;
header.setLayoutParams(lyp);

I am not sure what I am doing wrong here.  One difference between what I am doing is that you appear to be making the change as the data loads, where I am making the change at some arbitrary point later wen the user clicks the text.

That does indeed fix the problem, thank you!

:)

I would like to point out on a separate note, I was noticing a crash when fast scroller was enabled on some devices with this view.  Changing:
private static class HeaderViewGridAdapter implements WrapperListAdapter, Filterable
to
private static class HeaderViewGridAdapter extends BaseAdapter implements WrapperListAdapter, Filterable
seems to have gotten rid of the error.  I might not be full understanding the issue though, so it's possible that breaks something else.  But so far I haven't noticed any new issues from it.

I reopened this issue. That will be great if you notice the crash again and paste the backtrace information here. Thank your for you feedback. :+1:

java.lang.ClassCastException: github.daneren2005.dsub.view.HeaderGridView$HeaderViewGridAdapter cannot be cast to android.widget.BaseAdapter
at android.widget.FastScroller.getSectionsFromIndexer(FastScroller.java:875)
at android.widget.FastScroller.getPosFromItemCount(FastScroller.java:1147)
at android.widget.FastScroller.onItemCountChanged(FastScroller.java:453)
at android.widget.AbsListView.onLayout(AbsListView.java:2546)
at android.view.View.layout(View.java:15762)
at android.view.ViewGroup.layout(ViewGroup.java:4867)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1440)
at android.view.View.layout(View.java:15762)
at android.view.ViewGroup.layout(ViewGroup.java:4867)
at android.support.v4.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:543)
at android.view.View.layout(View.java:15762)
at android.view.ViewGroup.layout(ViewGroup.java:4867)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:15762)
at android.view.ViewGroup.layout(ViewGroup.java:4867)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:15762)
at android.view.ViewGroup.layout(ViewGroup.java:4867)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1440)
at android.view.View.layout(View.java:15762)
at android.view.ViewGroup.layout(ViewGroup.java:4867)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:15762)
at android.view.ViewGroup.layout(ViewGroup.java:4867)
at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:890)
at android.view.View.layout(View.java:15762)
at android.view.ViewGroup.layout(ViewGroup.java:4867)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:15762)
at android.view.ViewGroup.layout(ViewGroup.java:4867)
at android.support.v7.internal.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:502)
at android.view.View.layout(View.java:15762)
at android.view.ViewGroup.layout(ViewGroup.java:4867)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:15762)
at android.view.ViewGroup.layout(ViewGroup.java:4867)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1440)
at android.view.View.layout(View.java:15762)
at android.view.ViewGroup.layout(ViewGroup.java:4867)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:15762)
at android.view.ViewGroup.layout(ViewGroup.java:4867)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2356)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2069)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6632)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:814)
at android.view.Choreographer.doCallbacks(Choreographer.java:614)
at android.view.Choreographer.doFrame(Choreographer.java:584)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:800)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5487)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at dalvik.system.NativeStart.main(Native Method)


Update db-extractor-common to 3

Len aby sa nezabudlo: https://github.com/keboola/db-extractor-common/issues/1

Aha, comment to nefixol :wink: ... Fixed by #5


Boolean Operators and Short Circuiting

As mentioned in #42, we could merge the operators && and || with & and | respectively.
The reason they are currently split up is because the boolean operator supports short-circuiting.
As @Earthcomputer correctly said, all operators can be short-circuiting, so there's no need for this differentiation.
However, I'm not entirely sure how to implement this properly and safely.
If anyone feels like tackling this problem, please discuss it here before opening a PR.

Are the & and | operators also defined as non-short-circuiting operators on booleans in chasm as they are in Java or are they only bitwise? For bitwise operators they could be technically defined as short-circuiting since both numbers would be evaluated beforehand. However, in practice they probably wouldn't share any of the short-circuiting logic with the boolean operators unless you want to be running that boolean short-circuiting logic on each pair of bits (rather unnecessarily) or want to not evaluate the second operand if the first one is the exact value (all 1s or all 0s respectively) that causes evaluation of the second to become unnecessary. A more compact, efficient and usual way would be to just use Java's bitwise operators.
An abstract implementation of short circuiting would iterate through an array of operands (here just two since these are binary operators) and stop evaluating them once it can determine that evaluating more of them doesn't make a difference to the end result. What value is required to be seen in order for evaluation to become irrelevant to the final output depends  which of the two operands it is. My example of this logic is this in glsl-transformer. An abstract short-circuiting binary expression would have some sort of check that determines if the result can still be modified through evaluating and considering the second operand.

Right now, & and | don't operate on booleans.
It's probably necessary to talk about the uses of short circuiting here.
Consider the following common snippet: value != null && value.id = "foo"
In most languages I would expect this to work, because of short-circuiting.
Without short circuiting, value.id could throw an exception if value is null.
Consider the following common snippet: value.id = "foo" && value != null
This is logically the same as the previous one. Should this also work?
If value.id returns an error instead of crashing, this could be bubbled up fairly easily.
I got one more: neverReturningFunction() && trueReturningFunction()
What about this one? Now yout don't know which side to execute first.
You could execute both sides simulatenously, but this is probably more effort than use.
I think the first base variant is enough
If you think more about this, you get even stupider problems: trueReturningFunction() && stringReturningFunction
Now you can't short-circuit because it should be an error?
I'm really unsure how to handle this and I'm content with how it is right now, but I'm also open for change.

It's probably necessary to talk about the uses of short circuiting here.

Why? The entire point is that ALL operations are short-circuiting. Your next two examples are easily explained using that.

I got one more: neverReturningFunction() && trueReturningFunction()

This is the entire reason that infinite loops without side effects and without a constant condition are undefined behaviour in C. The C compiler is allowed to assume that ALL such functions will return eventually, otherwise you have to solve the halting problem to optimize, it just makes optimization easier. As chasm-lang is a compile target, I wouldn't mind treating potentially infinite loops in the same way. Although in this case, because & will be short-circuiting, the statement might never return anyway.

If you think more about this, you get even stupider problems: trueReturningFunction() && stringReturningFunction

Just behave as if the right hand side will return boolean, otherwise you will never be able to short-circuit at all. Again, as this is a compile target, such undefined behaviour is less of an issue.
Lastly, I would like to point out the "as-if" principle. Just because the language behaves as-if it were interpreted as per the spec, doesn't mean it necessarily has to work that way in practice. If the optimizer can prove that correctness of evaluation of the right hand side doesn't depend on the left hand side being true, then it is free to evaluate the right hand side first and return even if the left hand side runs infinitely.

because & will be short-circuiting
I don't understand how a bitwise operator can be short-circuiting unless it's defined weirdly.

I meant the boolean version of &, so if the left hand side evaluates to a boolean, and is false, the right hand side does not need to be evaulated. This could also be applied to bitwise operators - if the left hand side is 0, the result will always be 0 no matter what the right hand side evaluates to.

It is possible to make the bitwise operators | and & to be short-circuiting as you describe but I think defining them this way would be uncommon and confusing. However, that's a design decision and could be taken either way. Java, Javascript, C, C# and C++ (and likely more) define bitwise operators as requiring both operands to be evaluated and no short-circuiting happens. (It would probably be best to specify if the bitwise & or boolean && version of an operator is meant to avoid confusion in the conversation)

Yes but the design decisions of Java, javascript, C, C# and C++ were made with different requirements. None of those are pure functional languages, so evaluating both sides is a significant difference.
In chasm-lang, any operation can have exactly three outcomes:

Return a valid result
Throw an error
Get stuck in an infinite loop

All I am proposing is for the optimizer to be allowed to assume that the latter two can never happen.
So, let's take the case of &, and imagine it wasn't short-circuiting. Let's say you try to evaluate false & "foo". This will throw an error. Since the optimizer is allowed to optimize out error cases, short-circuiting the & would have no difference to the operation within the parameters of the optimizer's assumptions.
If this confuses you, you can think of bitwise & to be non-short-circuiting anyway and it will have no practical difference except in some very niche cases like boo & (boo==0?"foo":boo).

Also, I may end up making & short-circuiting in all cases regardless of syntax anyway.

All I am proposing is for the optimizer to be allowed to assume that the latter two can never happen.
In the current implementation the last one can't happen cause you'd get a stack overflow, but throwing an error can definitely happen, and is currently the only noticable difference between && and &.

I'm closing this issue.
This doesn't mean this will never happen, but it currently isn't an issue at all.
If anyone feels like tackling this, we can reopen it in the future.


remove CRC specific entries from known_hosts file also during cleanup

/hold
testing this on mac

@anjannath since you are on to it can you also add that because with current state when I delete or cleanup then it always add a new line at the end of known_host file.
$ git diff
diff --git a/pkg/crc/ssh/keys.go b/pkg/crc/ssh/keys.go
index b09e4885b..1b391a6b0 100644
--- a/pkg/crc/ssh/keys.go
+++ b/pkg/crc/ssh/keys.go
@@ -102,11 +102,15 @@ func RemoveCRCHostEntriesFromKnownHosts() error {
        scanner := bufio.NewScanner(f)
        writer := bufio.NewWriter(tempHostsFile)
        for scanner.Scan() {
-               if strings.Contains(scanner.Text(), "[<IP_ADDRESS>]:2222") || strings.Contains(scanner.Text(), "<IP_ADDRESS>") {
+               readLine := strings.TrimSpace(scanner.Text())
+               if readLine == "" {
+                       continue
+               }
+               if strings.Contains(readLine, "[<IP_ADDRESS>]:2222") || strings.Contains(readLine, "<IP_ADDRESS>") {
                        foundCRCEntries = true
                        continue
                }
-               if _, err := writer.WriteString(fmt.Sprintf("%s\n", scanner.Text())); err != nil {
+               if _, err := writer.WriteString(fmt.Sprintf("%s\n", readLine)); err != nil {
                        return fmt.Errorf("Error while writing hostsfile content to temp file: %w", err)
                }
        }

I think this is because of the writer.WriteString(fmt.Sprintf("%s\n", readLine)) the last line also adds an extra \n and hence the newline after delete or cleanup

I think this is because of the writer.WriteString(fmt.Sprintf("%s\n", scanner.Text())) the last line also adds an extra \n and hence the newline after delete or cleanup

so in case the entry is in between of known_hosts file then after removing it also add a empty line there so when it is at the end, everytime it remove and add the empty line so better to ignore the empty line and continue.

@anjannath since you are on to it can you also add that because with current state when I delete or cleanup then it always add a new line at the end of known_host file.
$ git diff
diff --git a/pkg/crc/ssh/keys.go b/pkg/crc/ssh/keys.go
index b09e4885b..1b391a6b0 100644
--- a/pkg/crc/ssh/keys.go
+++ b/pkg/crc/ssh/keys.go
@@ -102,11 +102,15 @@ func RemoveCRCHostEntriesFromKnownHosts() error {
        scanner := bufio.NewScanner(f)
        writer := bufio.NewWriter(tempHostsFile)
        for scanner.Scan() {
-               if strings.Contains(scanner.Text(), "[<IP_ADDRESS>]:2222") || strings.Contains(scanner.Text(), "<IP_ADDRESS>") {
+               readLine := strings.TrimSpace(scanner.Text())
+               if readLine == "" {
+                       continue
+               }
+               if strings.Contains(readLine, "[<IP_ADDRESS>]:2222") || strings.Contains(readLine, "<IP_ADDRESS>") {
                        foundCRCEntries = true
                        continue
                }
-               if _, err := writer.WriteString(fmt.Sprintf("%s\n", scanner.Text())); err != nil {
+               if _, err := writer.WriteString(fmt.Sprintf("%s\n", readLine)); err != nil {
                        return fmt.Errorf("Error while writing hostsfile content to temp file: %w", err)
                }
        }

with this change also the last newline is added, and its also removing pre-existing new lines in the file, not sure if we should remove those as that might be added deliberately by the user
if we want to avoid repeateadly adding the newline at the end, then we need to switch the splitFunc that scanner is using to return the full line with the \n character, so that we don't have to add it, and as a result the last line will not add and additional newline

@praveenkumar updated, PTAL

/lgtm
/approve


Remove duplicate option start signs (#1280)

The generator_args function deliver the option with platform depend
option signs.
This change addresses item #1280

Thank you for your PR @dnkbln.  We will take a look as soon as we can.  We've been busy wrapping up some work in our other extensions and we'll be back soon to evaluate this.


Duplicacy of Interest Calculations

There is a duplicacy of Interest calculator one in general maths (created by me) 5 days ago and another in Binary Calculations by someone 2 days back

You can remove the interest calculator under the "Binary Calculations" menu, and go ahead with the issue :)
Deadline: 20 March, 2021, 11:59 PM IST


Paper: DIN-SQL: Decomposed In-Context Learning of Text-to-SQL with Self-Correction

DIN-SQL: Decomposed In-Context Learning of Text-to-SQL with Self-Correction
Summary by Copilot

DIN-SQL stands for Decomposed In-Context Learning of Text-to-SQL with Self-Correction. It is a method that breaks down the text-to-SQL task into multiple steps and feeds the intermediate results to LLMs to improve their performance and accuracy¹².
Text-to-SQL is a challenging task that aims to translate natural language utterances into SQL queries that can be executed on a relational database. For example, given the utterance "find employees who make more than their managers" and the schema of tables, one may want to generate a query in SQL that retrieves those employees from a database¹².
LLMs are pre-trained neural models that can generate natural language and code based on a given context or prompt. Examples of LLMs are GPT-4, CodeX, and BART¹². LLMs can perform text-to-SQL tasks using zero-shot or few-shot prompting, which means they do not require any fine-tuning or additional training data¹².
Self-Correction is a technique that allows LLMs to correct their own mistakes by comparing the generated SQL query with the natural language utterance and the database schema. If there is a mismatch, the LLM can revise the query until it matches the intended meaning¹².
The paper claims that DIN-SQL outperforms existing methods on two text-to-SQL benchmarks: Spider and BIRD. On the Spider dataset, DIN-SQL achieves an execution accuracy of 85.3%, surpassing the previous state-of-the-art of 79.9%. On the BIRD dataset, DIN-SQL achieves an execution accuracy of 55.9%, setting a new state-of-the-art¹².
The paper was submitted to NeurIPS 2023, a prestigious conference on neural information processing systems¹. The paper is available on arXiv¹ and GitHub³.

Summary: DIN-SQL is a novel method for generating SQL queries from natural language using large language models and self-correction. It achieves state-of-the-art results on two text-to-SQL benchmarks. The paper is submitted to NeurIPS 2023 and can be accessed online.
reference
Source: Conversation with Bing, 2/28/2024
([1](https://arxiv.org/abs/2304.11015)) DIN-SQL: Decomposed In-Context Learning of Text-to-SQL .... https://arxiv.org/abs/[2](https://ar5iv.labs.arxiv.org/html/2304.11015)304.11015.
(2) DIN-SQL: Decomposed In-Context Learning of Text-to-SQL .... https://ar5iv.labs.arxiv.org/html/2304.[1](https://arxiv.org/abs/2304.11015)1015.
(3) GitHub - madhup-google/DIN-SQL: https://arxiv.org/pdf/[2](https://ar5iv.labs.arxiv.org/html/2304.11015)304. .... https://github.com/madhup-google/DIN-SQL.
(4) DIN-SQL: Decomposed In-Context Learning of Text-to-SQL .... https://deepai.org/publication/din-sql-decomposed-in-context-learning-of-text-to-sql-with-self-correction.
(5) undefined. https://doi.org/[1](https://arxiv.org/abs/2304.11015)0.48550/arXiv.[2](https://ar5iv.labs.arxiv.org/html/2304.11015)304.[1](https://arxiv.org/abs/2304.11015)1015.
(6) undefined. https://arxiv.org/pdf/[2](https://ar5iv.labs.arxiv.org/html/2304.11015)304.
(7) undefined. https://arxiv.org/pdf/2304.[1](https://arxiv.org/abs/2304.11015)[1](https://arxiv.org/abs/2304.11015)0[1](https://arxiv.org/abs/2304.11015)5.pdf.

Spider dataset

Use two official evaluation metrics

execution accuracy
exact set match accuracy

Models: Codex family (Davinci and Cushman), and GPT-4

Bird Benchmark

introduced valid efficiecy score (VES)

Methodology

Schema Linking Module

Identifying references to database schema and condition values in natural language queries.

Classification & Decomposition Module

Challenge: Select correct table to be joined.
Classify each query into "easy", "non-nested complex", and "nested complex".

SQL Generation Module


Fix newlines in PickerBuffer command

Newline expression requires escaped backslash, lest the backslash is
consumed and fzy's stdin receives one line of many filenames separated
by the letter n.
Not sure why this is, but it works.  Tested on neovim 0.1.6 and vim 8.0.0170.
Test procedure:

cd /tmp
touch a.txt b.txt
nvim a.txt b.txt  # or vim
:PickerBuffer

Current Behavior

Expected Behavior (and provided by patch)

I wondered why I hadn't encountered this myself, and realised it's because my login shell is fish, which interprets newlines differently:
fish> echo hello\nworld
hello
world

bash$ echo hello\nworld
hellonworld

Unfortunately, escaping the backslash breaks usage with fish:

Adding quoting around the entire argument to echo works for me with all of bash 3.2.57, fish 2.5.0, zsh 5.2: I've pushed the patch in PR #5 to test.

I like #5.  I'm using zsh myself and it works.  Cheers!


tests(insert): add insert tests for json, text array and integer array

TLDR: add various tests case for the PR https://github.com/knex/knex/pull/5431 (rollback of https://github.com/knex/knex/pull/5321)

insert tests for array of object into text array column #5430
insert tests for array of integer into integer array column #5365
insert tests for array of string into text array column #5365
insert tests for json object into jsonb column

the PR https://github.com/knex/knex/pull/5431 by @caseywebdev should be merged first
A little bit more explanation:
#5365 : user want to insert array of string into text array column, or array of integer into integer array column, which is valid and should be inserted, but the PR https://github.com/knex/knex/pull/5321 merged sometime ago break it (it will always stringify the array to json string)
@kibertoad At first I thought I can add a check for Array containing at least one plainObject with my previous PR https://github.com/knex/knex/pull/5444, but turn out it will not solve the #5430, my previous changes will need user to input a valid array of string into text array column
#5430 : user want to insert array of object into text array column (worked in previous version of knex). the PR https://github.com/knex/knex/pull/5321 break it (it will always stringify the array of object to json string)

@minh-hoang-trinh Fix was merged with https://github.com/knex/knex/pull/5439, but additional tests are very welcome. Could you please resolve conflicts in your PR, then I could merge it?

@minh-hoang-trinh Fix was merged with #5439, but additional tests are very welcome. Could you please resolve conflicts in your PR, then I could merge it?

thank @kibertoad, conflicts resolved ^^

Thank you!


Yajra Laravel Databales v10 and Laravel Resource Issue.

Summary of problem or feature request
When I'm making datatables response with Yajra Datatables v10 using Laravel resources api, the output is showing all the fields from the table, even though the I've selected the fields needed to be shown in the laravel resources api. This issue is not happening in Yajra Databales v9.
Code snippet of problem
The following snippets if from the  app/Http/Resources/ItemsResource.php, I've selected only to show the id and item fields.
<?php

namespace App\Http\Resources;

use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;

class ItemsResource extends JsonResource
{
    /**
     * Transform the resource into an array.
     *
     * @return array<string, mixed>
     */
    public function toArray(Request $request): array
    {
        return [
            'id' => $this->id,
            'item' => $this->item,
        ];
    }
}

The following is from the controller that showing the result.
    public function items(){
        return DataTables::of(ItemsResource::collection(Item::where('flag', '1')->get()))->make(true);
    }

And this is the output result which showing all the fields in the table.
{
  "draw": 0,
  "recordsTotal": 1,
  "recordsFiltered": 1,
  "data": [
    {
      "id":<PHONE_NUMBER>730,
      "item": "ITEM ONE",
      "vendor_id": 1,
      "added_by": 1,
      "size": "M",
      "colour": "BLACK",
      "special_1": null,
      "special_2": null,
      "special_3": null,
      "price_buying": 0,
      "price_selling": 20,
      "remarks": "",
      "flag": "1",
      "created_at": "2023-05-09T10:31:13.000000Z",
      "updated_at": "2023-05-09T10:31:13.000000Z"
    }
  ],
  "input": []
}

System details

Operating System: Linux
PHP Version: 8.2.5
Laravel Version: 10.9.0
Laravel-Datatables Version: ^10.4

Thanks! Issue solved!


Clean-up of text in 4th paragraph.

Clean up 4th para.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Your PR was marked invalid almost automatically, becuase even though you checked box #2 (shown below), you did not actual do what it state.
 My pull request has a descriptive title (not a vague title like Update index.md)

Update your title and checkoff that box. These help us understand that you have read the requirements. Commits should have short but useful descriptions of what you are doing. It helps us in the review process. With the sheer volume of PRs we are getting right now, we focus on the ones where the conttributor has made the effort to follow the process. You have no idea how many of the "update index.md" are just a bot making a one character change.
Just update your PR title and tag me and I will review it personally.

Will do, and thank you and apologies: I'm used to working with GIt, with which a commit includes a descriptive message that doesn't have a title. I'll move my messages into the merge req titles.
Thanks,~John
On Friday, October 19, 2018, 1:12:55 PM EDT, Randell Dawson<EMAIL_ADDRESS>wrote:
Your PR was marked invalid almost automatically, becuase even though you checked box #2 (shown below), you did not actual do what it state.
My pull request has a descriptive title (not a vague title like Update index.md)
Update your title and checkoff that box. These help us understand that you have read the requirements. Commits should have short but useful descriptions of what you are doing. It helps us in the review process. With the sheer volume of PRs we are getting right now, we focus on the ones where the conttributor has made the effort to follow the process. You have no idea how many of the "update index.md" are just a bot making a one character change.
Just update your PR title and tag me and I will review it personally.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Title modified, and no additional PRs created for this. Thanks for looking again at my edits and merging the others.

OK.  Everything looks good now.  Thank you for contributing.  I will merge when all the internal checks have taken place (about 10 hours from now).


Handling reception of RTR Frame for transmitting TPDO

Hey,
We are looking into RTR frame for requesting the TPDO transmission. Transmission type of TPDO was 255.
So for this we made few quick changes around stack like passing rtr as 1 in CO_CANrxBufferInit() in CO_PDO.c
Still we could not get the CAN Stack transmitting PDO on reception on remote request
can0  123   [0]  remote request
We also  tried to playing around the transmission type of one PDO as 253 (Asynchronous RTR only). Still TPDO is not transmitted at reception of remote request.
Please guide if we are doing something incorrect. Do we have this handling in CANOpen Node Stack?

@martinwag quick response is highly appreciated

Sorry, can't help you there. Never tried to use RTR. I would assume it questionable if RTR is implemented anywhere in the stack. You would somehow need to receive it inside your driver, which I don't think any of the drivers implement RTR frames. You then would need a function/callback in the stack, which as far as I can remember doesn't exist.

According to the documentation it is not?
"RTR (remote transmission request) is a feature of CAN bus. Usage of RTR is not recommended for CANopen and it is not implemented in CANopenNode."
From https://github.com/CANopenNode/CANopenNode und "some details"
Not sure if you want to implement it, I was just reading into this stack and saw this question...
Greeting


String linting

We should investigate linting strings to check things like capitals, spelling, full stops and grammar.
This would find all instances of #496

No tools currently exist for this sadly. I got halfway through writing one a while back, but it was quite complex.

This seems best to be resolved using good code review, rather than developing a new tool


Use EvmSpecHelper.local_server

This is just how we create a local server in spec.
We have a bunch of aliases and helper methods around creating a local miq server.
2 commits:

if we are not looking at the results, just use the simplest version.
if we want the miq_server, no reason to extract guid/zone to then have to code around them.

The second commit makes for much better readability.
The first commit is just something that rubs me wrong.
Although, I think @Fryguy may like the word create in there.
I'm debuging some issues and saw this and just threw out this s//g. Though I did double check each line that I changed.

Although, I think @Fryguy may like the word create in there.

LOL - you know me too well.  That being said, this PR is good, because we have local_miq_server as the method, and the goal should be to get rid of the aliased EvmSpecHelper.create_guid_miq_server_zone as well as possibly get rid of EvmSpecHelper.local_guid_miq_server_zone

@Fryguy did you just say?
-    before do
-      _, @miq_server, @zone = EvmSpecHelper.create_guid_miq_server_zone
-    end
+    let!(:server) { EvmSpecHelper.local_miq_server }
+    let(:zone)    { server.zone }

Yeah that's what this PR does.  I'm fine with that.

update:

fixed those 2 bugs
tackled the remaining instances of create_guid_miq_server_zone and local_guid_miq_server_zone

These reside across most repos, so not quite ready to delete the underlying implementation yet.

update:

rebased
removed change to line with  @zone

@miq-bot cross-repo-test /all

cross-repo failures look unrelated.  Merging.