Git Product home page Git Product logo

issue-tracker's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

issue-tracker's Issues

Automatically pull NFT metadata into the NFTTokenOwners table

The following code could be put as a core part of moralis to automatically pull in metadata info when syncing to the NFTTokenOwners table. This would save the client a bunch of calls when trying to get the metadata.

function httpGet(uri) {
  return new Promise ((resolve, reject) => {
    https.get(uri, (response) => {
      let data = '';
      response.on('data', (chunk) => { data += chunk; });
      response.on('end', () => { resolve(data); });
    }).on("error", (error) => { reject(error); });
  }); 
}
Moralis.Cloud.beforeSave("NFTTokenOwners", async (request) => {
  const tokenUri = request.object.get('token_uri');
  if (!tokenUri) return;
  request.object.set("metadata", await httpGet(tokenUri));
});   

Server Loading UI

We need better indication that creating a server takes 5 min approximately
Some devs think something broke
Maybe some ETA or "%" done

Server Instance

In Server Instance -> Ganache Proxy Server
I think it's a bit unclear. I was looking for information on how to apply the copied code.
"2. Copy the following content in the same folder of frp as "frpc.ini", this code assumes your ganache instance is hosted at port 7545"
to make it simpler to understand, it should be rewritten to something like:
"2. Replace the content in the file "frpc.ini" inside the frp folder with the following code, the code assumes your ganache instance is hosted at port 7545"

No warning that session has expired in the admin panel

It has happened several times that I have worked on a cloud function,
went on a short break, continued working for a while only to have all my work lost when clicking "Save File" because my session had expired and I am met with the login screen and my work was not saved

Read More button links to current page

Screenshot_2021-03-18_12-56-37.png

Steps to reproduce:
Go to moralis.io and scroll down

Actual result:
The button reloads the same page

Expected result:
Should link to a section or another page


Source URL: https://moralis.io/

BrowserChrome 89.0.4389.82
Screen Size1920 x 1080
OSOS X 10.14.6
Viewport Size1920 x 978
Zoom Level100%
Pixel Ratio@โ€‹1x

Reported with Marker.io

Sanity check for local dev chain servers

Wrote this sanity check to make sure that the developer has not switched the Ganache instance against a server by mistake. I have seen several on Moralis Beta who have done this and I also made this mistake in the beginning. The cloud function will return true if everything is normal and false, if the ganache instance has been changed. Maybe you want to use it, maybe not...

Moralis.Cloud.define("sanityCheck", async (request) => {
  
      // Define query
    const query = new Moralis.Query('EthTransactions');
  
      // Define pipeline that will take the block number and timestamp of the row with the highest block number
    const pipeline = [
      { project: { _id: 0, block_number: 1, block_timestamp: 1 } },
      { sort : { block_number : -1 } },
      { limit: 1 }
    ];
    
    // Get the row that will serve as the "truth"
    const master = await query.aggregate(pipeline);
  
    // Return if no transactions were found
      if (master.length == 0) return true;
  
    // Define second pipeline that will check if there are any rows with more recent timestamp but with lower block number (New Ganache instance)
    const pipeline2 = [
      { project: { _id: 0, block_number: 1, block_timestamp: 1 } },
      { match: { block_timestamp: { $gt: master[0].block_timestamp }, block_number: { $lt: master[0].block_number } } },
      { count: "corruptTransactions" }
    ];
    
    // Get the result
    const result = await query.aggregate(pipeline2);
  
    // If we have any rows then the use has changed instance and the database is now corrupt
      return result.length == 0;
});

Cannot add moralis as a dependency in Angular

Installing Moralis via NPM in an Angular application results in getting these error messages when starting the application:

Error: ./node_modules/@elrondnetwork/bls-wasm/bls.js
Module not found: Error: Can't resolve 'crypto' in 'node_modules/@elrondnetwork/bls-wasm'

Error: ./node_modules/@elrondnetwork/erdjs/out/walletcore/userWallet.js
Module not found: Error: Can't resolve 'crypto' in 'node_modules/@elrondnetwork/erdjs/out/walletcore'

Error: ./node_modules/eth-lib/lib/bytes.js
Module not found: Error: Can't resolve 'crypto' in 'node_modules/eth-lib/lib'

Error: ./node_modules/scryptsy/lib/scrypt.js
Module not found: Error: Can't resolve 'crypto' in 'node_modules/scryptsy/lib'

Error: ./node_modules/scryptsy/lib/scryptSync.js
Module not found: Error: Can't resolve 'crypto' in 'node_modules/scryptsy/lib'

Error: ./node_modules/scryptsy/lib/utils.js
Module not found: Error: Can't resolve 'crypto' in 'node_modules/scryptsy/lib'

Error: ./node_modules/web3-eth-accounts/lib/index.js
Module not found: Error: Can't resolve 'crypto' in 'node_modules/web3-eth-accounts/lib'

Error: ./node_modules/web3-eth-accounts/node_modules/eth-lib/lib/bytes.js
Module not found: Error: Can't resolve 'crypto' in 'node_modules/web3-eth-accounts/node_modules/eth-lib/lib'

Error: ./node_modules/@elrondnetwork/bls-wasm/bls_c.js
Module not found: Error: Can't resolve 'fs' in 'node_modules/@elrondnetwork/bls-wasm'

Error: ./node_modules/@elrondnetwork/erdjs/out/smartcontracts/code.js
Module not found: Error: Can't resolve 'fs' in 'node_modules/@elrondnetwork/erdjs/out/smartcontracts'

Error: ./node_modules/@elrondnetwork/erdjs/out/smartcontracts/typesystem/abiRegistry.js
Module not found: Error: Can't resolve 'fs' in 'node_modules/@elrondnetwork/erdjs/out/smartcontracts/typesystem'

Error: ./node_modules/web3-providers-http/lib/index.js
Module not found: Error: Can't resolve 'http' in 'node_modules/web3-providers-http/lib'

Error: ./node_modules/xhr2-cookies/dist/xml-http-request.js
Module not found: Error: Can't resolve 'http' in 'node_modules/xhr2-cookies/dist'

Error: ./node_modules/web3-providers-http/lib/index.js
Module not found: Error: Can't resolve 'https' in 'node_modules/web3-providers-http/lib'

Error: ./node_modules/xhr2-cookies/dist/xml-http-request.js
Module not found: Error: Can't resolve 'https' in 'node_modules/xhr2-cookies/dist'

Error: ./node_modules/xhr2-cookies/dist/xml-http-request.js
Module not found: Error: Can't resolve 'os' in 'node_modules/xhr2-cookies/dist'

Error: ./node_modules/@elrondnetwork/bls-wasm/bls.js
Module not found: Error: Can't resolve 'path' in 'node_modules/@elrondnetwork/bls-wasm'

Error: ./node_modules/@elrondnetwork/bls-wasm/bls_c.js
Module not found: Error: Can't resolve 'path' in 'node_modules/@elrondnetwork/bls-wasm'

Error: ./node_modules/cipher-base/index.js
Module not found: Error: Can't resolve 'stream' in 'node_modules/cipher-base'

Error: ./node_modules/keccak/lib/api/keccak.js
Module not found: Error: Can't resolve 'stream' in 'node_modules/keccak/lib/api'

Error: ./node_modules/keccak/lib/api/shake.js
Module not found: Error: Can't resolve 'stream' in 'node_modules/keccak/lib/api'

Stuck in infinite loop with email activation popup - no email for activation received

image

I never received an activation link by e-mail, just a link to join the Discord channel. I created an account today using the code from Discord. Tried the reset password feature to see if that would trigger something but that also links me directly back to the same page where I cannot do anything because the popup keeps coming up, and "getAllByUser" is polled repeatedly.

Tried in Brave, Opera, and Chrome

Eth balance for watched address

Would be great to have a quick way to get the ETH balance of a watched address

  • There is a balanceEth column in the _EthAddress table for authenticated users but no corresponding column in WatchedEthAddress
  • The other place one might expect to find it is in EthTokenBalance but it has all tokens except ETH

Documentation assumes too much prior knowledge

Hi guys, as requested over on discord here is a summary of the feedback I offered regarding the documenation.

  • The docs assume various prerequisite knowledge, such as knowing what "Ganache" is and whether it's going to be used or not.
  • The learning curve is somewhat steep without an overview of the programming and architechtural landscape that Moralis occupies.

I suggest adding a section entitled something like "Prerequisite Knowledge" which gives a breif overview of how you expect Moralis to be used and what technologies are needed / recommended to be used with it, along with some links to further reading. The information can probably safely assume the reader has a firm understanding on a modern javascript stack, but should not assume they are familiar with the cryptosphere technologies.

Strange Session behavior

Sessions are still alive if Session-Entries on a Server where deleted.
Should sessions be still alive after a deletion? This could lead to some development issues for the frontend, because a User with a Address is still logged in, but on from the Moralis-Server he shouldn't be as this Session doesn't exist in the table.

Tested on Server-Version: 0.0.125

Moralis cloud function works in local environment, but fails in production environment

I am using a cloud function to pull a list user addresses to display.

Cloud function:

Moralis.Cloud.define("getUserList", async function (request) {
  const query = new Moralis.Query(Moralis.User);
  query.descending("updatedAt")
  const results = await query.find({ useMasterKey: true });
  const userAddresses = results.map(function (user) {
    return {
      ethAddress: user.get("ethAddress"),
      updatedAt: user.get("updatedAt"),
    };
  });

  return userAddresses;
});

The function works locally:
image

But fails in production (hosted via Fleek.co):
image

All env variables are set in Fleek, and should be present in the build.

Source:

A deploy preview is available here: https://bafybeifxeo65msvrkwhe2ldeww4kmipnyd37fuwmb5psqecq4ibbjyjbju.on.fleek.co/guestbook/

The rest of the site is functioning, apart from the /guestbook/ page. This is the only portion of the site that uses Moralis currently.

Add frpc integration to the moralis-admin-cli

If the file location of frpc is known and stored by the cli. It should be relatively easy to integrate an automatic configuration and run ganache or hardhat directly from the cli if the user only specifies the server

Mergin Addresses

Some inconsistency in behavior - sometimes all addresses are shown under "accounts" in the user row.
Sometimes only those except the one that is in the "ethAddress" column are listed in "accounts".

Unresponsive login button when using a password manager

When using a password manager that is auto filling the credentials, the logic for enabling the button is faulty, making the button still disabled and therefor unresponsive.
If the user changes any of the fields, the button becomes enabled again.
image

"Join the Beta" --> "Accept Invite" is not working!

Hello,

When I clicked on "Join the Beta" in my "Welcome to Moralis" email sent to me and clicked on "Accept Invite" then I got the following error on Discord: "Messages Failed To Load". Please see attached screenshots.
first
second
third

Thank you,

greentree

UI: progress

When creating a new server on "https://poc.moralis.io/servers", it would be great if:

  1. A progress bar is displayed to progress from 0 to 100%.

or

  1. A billboard status message is displayed stating what is happenging "Step 1 of nn: Creating xxx . .. ... . .. ..." then "Step 2 of nn: Adding xxx . .. ... . .. ..." ...

BUG: $ in Cloud Function Queries produces error on save

Steps to reproduce:

  1. Create a Cloud Function with a query that contains a $ as required by the Mongo syntax
  2. Paste the code into the Cloud Function section on a Moralis Server instance
  3. Press the Save button... an error occurs

WORKAROUND: escape $ with \$

This is a known issue. Documenting here so it doesn't get lost.

Moralis typescript definitions not found

$ npm install @types/moralis
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/@types%2fmoralis - Not found
npm ERR! 404 
npm ERR! 404  '@types/moralis@latest' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404 
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

Dashboard UI clipping

At smaller window sizes there are some UI clipping issues with the left hand menu. Like if I want to snap the dashboard to the left or right side of the desktop:
image

Chrome - Non ethereum enabled browse

I'm getting a "Non ethereum enabled browse" error in javascript when running the Boilerplate example in Chrome Version 89.0.4389.90 (Official Build) (x86_64) on Mac OS.

I use the same browser with Metamask and other web3 apps so I know the problem is not with Chrome.

Error: Non ethereum enabled browser
at moralis.js:3799
at tryCatch (moralis.js:23220)
at Generator.invoke [as _invoke] (moralis.js:23450)
at Generator.next (moralis.js:23275)
at asyncGeneratorStep (moralis.js:22667)
at _next (moralis.js:22689)
at moralis.js:22696
at new Promise ()
at new Wrapper (moralis.js:25685)
at Function. (moralis.js:22685)

Feedback survey has some smaller bugs

  • when asked if we will use moralis in the future, when you answer "Yes", the next question assumes you answered "No"

  • the last page of the survey has template text "Custom Thank you Screen A" or "When your respondent clicks the button below..."

Color scheme

Streamline the color scheme to reflect the Moralis brand
image

Fix for Demo app Casino CONTRACT_ADDRESS

Line 47 in main.js is:
window.contract = new web3.eth.Contract(contractAbi, "CONTRACT_ADDRESS");

should be:

window.contract = new web3.eth.Contract(contractAbi, CONTRACT_ADDRESS);

as CONTRACT_ADDRESS is defined as a const in top of file and should be passed as such.

Data access / permissions

By default all permissions are public. What are best practice to restrict read/write access? before events, validation, ACL... any good (Parse) tutorials?

Casino demo app needs correction in readme for start of python webserver

I tried the casino demo Dapp. Big Wins right ๐Ÿ˜Ž ? I followed instructions from readme https://github.com/MoralisWeb3/demo-apps/blob/main/casino-dapp/README.md However, the suggested python http.server or SimpleHTTPServer does not support POST, hence the Flip Coin button gives: ParseError: 107 Received an error with invalid JSON from Parse:
Error response
Error code: 501

Message: Unsupported method ('POST').

Error code explanation: HTTPStatus.NOT_IMPLEMENTED - Server does not support this operation.

The solution is to start "python -m http.server --cgi" which supports POST.

"Your accout is now active" typo

When clicking the link from the email to activate my account, it leads to a web page with a dialog saying "Your accout is now active!" - obviously should say "account".

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.